Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/325694.325717acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

Type systems for distributed data structures

Published: 05 January 2000 Publication History
  • Get Citation Alerts
  • Abstract

    Distributed-memory programs are often written using a global address space: any process can name any memory location on any processor. Some languages completely hide the distinction between local and remote memory, simplifying the programming model at some performance cost. Other languages give the programmer more explicit control, offering better potential performance but sacrificing both soundness and ease of use.
    Through a series of progressively richer type systems, we formalize the complex issues surrounding sound computation with explicitly distributed data structures. We then illustrate how type inference can subsume much of this complexity, letting programmers work at whatever level of detail is needed. Experiments conducted with the Titanium programming language show that this can result in easier development and significant performance improvements over manual optimization of local and global memory.

    References

    [1]
    A. C. Arpaci-Dusseau, R. H. Arpaci-Dusseau, D. E. Culler, J. M. Hellerstein, and D. A. Patterson. Searcing for the sorting record: Experiences in tuning NOW-sort. In Symposium on Parallel and Distributed Tools, pages 124-133, Welches, Oregon, Aug. 1998. Association for Computing Machinery.]]
    [2]
    H.E. Bal, J. G. Steiner, and A. S. Tanenbaum. Programming languages for distributed computing systems. A CM Computing Surveys, 21 (3):261-322, Sept. 1989.]]
    [3]
    G. T. Balls. A Finite Difference Domain Decomposition Method Using Local Corrections for the SOlution of Poisson's Equation. PhD thesis, Department of Mechanical Engineering, University of California at Berkeley, 1999.]]
    [4]
    S. T. Barnard and H. D. Simon. A fast multilevel implementation of recursive spectral bisection. In Proceedings of the Sixth SIAM Conference on Parallel Processing for Scientific Computing, pages 711-718, Philadelphia, 1993. SIAM.]]
    [5]
    J. Barnes and E Hut. A hierarchical O(N IogN) forcecalculation algorithm. Nature, 324(4):446--449, Dec. 1986.]]
    [6]
    A. D. Birrell and B. J. Nelson. Implementing remote procedure calls. In A. L. Ananda and B. Srinivasan, editors, Distributed Computing Systems: Concepts and Structures, pages 89-109. IEEE Computer Society Press, 1992.]]
    [7]
    G.E. Blelloch, C. E. Leiserson, B. M. Maggs, C. G. Plaxton, S. J. Smith, and M. Zagha. A comparison of sorting algorithms for the Connection Machine CM-2. In Proceedings of the 3rd Annual ACM Symposium on Parallel Algorithms and Architectures, pages 3-16, Hilton Head, South Carolina, July 21-24, 1991. SIGACT/SIGARCH.]]
    [8]
    W. L. Briggs. A Multigrid Tutorial. SIAM Books, Philadelphia, 1987.]]
    [9]
    M. C. Carlisle. Olden: Parallelizing Programs with Dynamic Data Structures on Distributed-Memory Machines. PhD thesis, Department of Computer Science, Princeton University, June 1996.]]
    [10]
    M. C. Carlisle and A. Rogers. Software caching and computation migration in Olden. In Proc. 5th A CM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP'95, pages 29-38, Santa Barbara, California, Juty 1995. Princeton.]]
    [11]
    J. Choi, J. Demmel, I. Dhillon, and J. Dongarra. ScaLA- PACK: A portable linear algebra library for distributed memory computers m design issues and performance. Lecture Notes in Computer Science, 1041, 1996.]]
    [12]
    D. E. Culler, A. Arpaci-Dusseau, R. Arpaci-Dusseau, B. Chun, S. Lumetta, A. Mainwaring, R. Martin, C. Yoshikawa, and E Wong. Parallel computing on the Berkeley NOW. In 9th Joint Symposium on Parallel Processing, Kobe, Japan, 1997.]]
    [13]
    D.E. Culler, A. Dusseau, S. C. Goldstein, A. Krishnamurthy, S. Lumetta, S. Luna, T. yon Eicken, and K. Yelick. Introduction to Split-C. Computer Science Division, Department of Electrical Engineering and Computer Science, University of California at Berkeley, version 1.0 edition, Apr. 1996.]]
    [14]
    D.E. Culler, A. Dusseau, S. C. Goldstein, A. Krishnamurthy, S. Lumetta, T. yon Eicken, and K. Yelick. Parallel programming in Split-C. In IEEE, editor, Proceedings, Supercomputing '93: Portland, Oregon, November 15-19, 1993, pages 262-273, 1109 Spring Street, Suite 300, Silver Spring, MD 20910, USA, 1993. IEEE Computer Society Press.]]
    [15]
    J. S. Foster, M. F/ahndrigh, and A. Aiken. A Theory of Type Qualifiers. In Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 192-203, Atlanta, Georgia, May 1999.]]
    [16]
    J. Gosling, B. Joy, and G. Steele. The JavaTM Language Specifcation. The JavaTM Series. Addison-Wesley, Menlo Park, California, 1996.]]
    [17]
    L. Greengard and V. Rokhlin. A fast algorithm for particle simulations. Journal of Computational Physics, 73:325-348, 1987.]]
    [18]
    E Henglein. Dynamic typing, tn B. Krieg-BrOckner, editor, Proc. European Syrup. on Programming (ESOP), Rennes, France, pages 233-253. Springer-Verlag, Feb. 1992. Lecture Notes in Computer Science, Vol. 582.]]
    [19]
    E Henglein and J. Rehof. The complexity of subtype entailment for simple types. In Proceedings, Twelth Annual IEEE Symposium on Logic in Computer Science, pages 352-361, Warsaw, Poland, 29 June-2 July 1997. IEEE Computer Society Press.]]
    [20]
    P. N. Hilfinger. Titanium Language Working Sketch, draft version 0.22w edition, June 14 1999.]]
    [21]
    E. Jul, H. Levy, N. C. Hutchinson, and A. P. Black. Finegrained mobility in the Emerald system. ACM Transactions on Computer Systems, 6(1):109-133, Feb. 1988.]]
    [22]
    A. Krishnamurthy. Analyses and optimizations for shared address space programs. Ph.D. qualifying examination talk, Nov. 1995.]]
    [23]
    B. Liblit and A. Aiken. Type systems for distributed data structures. Technical Report UCB/ICSD-99- I072, Computer Science Division, Department of Electrical Engineering and Computer Science, University of California at Berkeley, Nov. 1999.]]
    [24]
    A. Mainwaring and D. Culler. Active message applications programming interface and communication subsystem organization. Technical Report CSD-96-918, University of California, Berkeley, Oct. 14 1996.]]
    [25]
    R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. The MIT Press, Cambridge, Mass., 1990.]]
    [26]
    R. S. Nikhil. Parallel symbolic computing in Cid. Lecture Notes in Computer Science, 1068, 1996.]]
    [27]
    The Object Management Group, Framingham, Massachusetts. The Common Object Request Broker: Architecture and Specification, Oct. 1999. Revision 2.3.1.]]
    [28]
    A. Rogers, M. C. Carlisle, .1. H. Reppy, and L. J. Hendren. Supporting dynamic data structures on distributed-memory machines. ACM Transactions on Programming Languages and Systems, 17(2):233-263, Mar. 1995.]]
    [29]
    Sun. Java remote method invocation specification. Technical report, Sun Microsystems, 1997.]]
    [30]
    K. Yelick, D. Culler, and J. Demmel. Programming support for clusters of multiprocessors (CLUMPs). Talk presented at Lawrence Livermore National Laboratories, Mar. 1997.]]
    [31]
    K. Yelick, G. Pike, C. Miyamoto, B. Liblit, A. Krishnamurthy, P. Hilfinger, S. Graham, D. Gay, P. Colella, and A. Aiken. Titanium: a high-performance Java dialect. InACM Workshop on Java for High-Performance Network Computing, pages 1-13, Stanford, California, Feb. 1998. Association for Computing Machinery.]]

    Cited By

    View all
    • (2019)A Unified Framework for Compression and Compressed Sensing of Light Fields and Light Field VideosACM Transactions on Graphics10.1145/326998038:3(1-18)Online publication date: 17-May-2019
    • (2019)The Vector Heat MethodACM Transactions on Graphics10.1145/324365138:3(1-19)Online publication date: 7-Jun-2019
    • (2017)Design and Implementation of the PULSAR Programming System for Large Scale ComputingSupercomputing Frontiers and Innovations: an International Journal10.14529/jsfi1701014:1(4-26)Online publication date: 15-Mar-2017
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    POPL '00: Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    January 2000
    402 pages
    ISBN:1581131259
    DOI:10.1145/325694
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 05 January 2000

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Conference

    POPL00

    Acceptance Rates

    POPL '00 Paper Acceptance Rate 30 of 151 submissions, 20%;
    Overall Acceptance Rate 824 of 4,130 submissions, 20%

    Upcoming Conference

    POPL '25

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)45
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)A Unified Framework for Compression and Compressed Sensing of Light Fields and Light Field VideosACM Transactions on Graphics10.1145/326998038:3(1-18)Online publication date: 17-May-2019
    • (2019)The Vector Heat MethodACM Transactions on Graphics10.1145/324365138:3(1-19)Online publication date: 7-Jun-2019
    • (2017)Design and Implementation of the PULSAR Programming System for Large Scale ComputingSupercomputing Frontiers and Innovations: an International Journal10.14529/jsfi1701014:1(4-26)Online publication date: 15-Mar-2017
    • (2017)The Applied Pi CalculusJournal of the ACM10.1145/312758665:1(1-41)Online publication date: 26-Oct-2017
    • (2016)Algorithm 955ACM Transactions on Mathematical Software10.1145/269946642:1(1-22)Online publication date: 29-Jan-2016
    • (2012)Abstraction analysis and certified flow and context sensitive points-to relation for distributed programsProceedings of the 12th international conference on Computational Science and Its Applications - Volume Part IV10.1007/978-3-642-31128-4_7(83-99)Online publication date: 18-Jun-2012
    • (2010)A proof system for a PGAS languageConcurrency, Compositionality, and Correctness10.5555/2172373.2172384(162-184)Online publication date: 1-Jan-2010
    • (2010)More dependent types for distributed arraysHigher-Order and Symbolic Computation10.1007/s10990-011-9075-y23:4(489-506)Online publication date: 1-Nov-2010
    • (2010)A Proof System for a PGAS LanguageConcurrency, Compositionality, and Correctness10.1007/978-3-642-11512-7_11(162-184)Online publication date: 2010
    • (2008)EventScriptACM SIGPLAN Notices10.1145/1379023.137567343:7(111-120)Online publication date: 12-Jun-2008
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media