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

Ace: linguistic mechanisms for customizable protocols

Published: 21 June 1997 Publication History
  • Get Citation Alerts
  • Abstract

    Customizing the protocols used to manage accesses to different data structures within an application can improve the performance of shared-memory programs substantially [10, 21]. Existing systems for using customizable protocols are, however, hard to use because they force programmers to rely on low-level mechanisms for manipulating these protocols. Since several shared-memory systems implement protocols in software and can support customizable protocols, the development of intuitive abstractions for the use of application-specific protocols ia important.We have designed a language, Ace, that integrates support for customizable protocols with minimal extensions to C. Ace applications are developed using the standard shared-memory model with a default sequentially consistent protocol. Performance can then be optimized, with minor modifications to the application, by experimenting with different protocol libraries. In this paper, we isolate the issues involved in providing language support for using customizable protocols and present novel language abstractions for their easy use. We describe the implementation of a compiler and runtime system for Ace, and discuss the issues involved in their design. We also present measurements that demonstrate that Ace has good performance compared to an efficient software distributed shared-memory system.

    References

    [1]
    A. Agarwal et al. The MIT Alewife machine. In Proceedings of Workshop on Sealable Shared Memory Multiprocessors, 1991.]]
    [2]
    J. Barnes and P. Hut. A hierarchical O(N log N) force calculation algorithm. Nature, pages 446-449, Dec. 1986.]]
    [3]
    3. K. Bennett, J. B. Carter, and W. Zwaenepoel. Munin: Distributed shared memory based on typespecific memory coherence. In Symposium on Principles and Practice of Parallel Programming, pages 168- 176, 1990.]]
    [4]
    B. Bershad, M. Zekauskas, and W. A. Sawdon. The Midway distributed shared memory system. In Proceedings of COMPCON'93, pages 528-537, 1993.]]
    [5]
    M. Blumrich et al. Virtual memory mapped network interface for the SHRIMP multicomputer. In Proceedings of the #ist Annual International Symposium on Computer Architecture, pages 142-153, Apr. 1994.]]
    [6]
    J.B. Carter, J. K. Bennett, and W. Zwaenepoel. Implementation and performance of Munin. In Symposium on Operating Systems Principles, pages 152-164, Oct. 1991.]]
    [7]
    R. Chandra, K. Gharachorloo, V. Soundararajan, and A. Gupta. Performance evaluation of hybrid hardware and software distributed shared memory protocols. In International Conference on Supercomputing, 1994.]]
    [8]
    S. Chandra, B. Richards, and J. Larus. Teapot: Language support for writing memory coherence protocols. In Conference on Programming Language Design and Implementation, pages 237-248, May 1996.]]
    [9]
    D. Culler et al. Parallel programming in Split-C. In Proceedings of Supercomputin9 '93, pages 262-273, Nov. 1993.]]
    [10]
    B. Falsafi, A. Lebeck, S. Reinhardt, i. Schoinas, M. Hill, J. Larus, A. Rogers, and D. Wood. Application-specific protocols for user-level shared memory. In Proceedings of Supercomputing '9#, pages 380--389, Nov. 1994.]]
    [11]
    M. Herlihy and J. M. Wing. Linearizability: A correctness condition for concurrent objects. A CM Transactions on Programming Languages and Systems, 12(3):463-492, July 1990.]]
    [12]
    L. Iftode, J. P. Singh, and K. Li. Understanding application performance on shared virtual memory systems. In Proceedings of the International Symposium on Computer Architecture, pages 122-133, 1996.]]
    [13]
    K. Johnson, J. Adler, and S. Gupta. CRL 1.0 Sof#toare Distribution, August 1995. Available on World Wide Web at www.pdos.lcs.mit.edu/crl.]]
    [14]
    K. Johnson, F. Kaashoek, and D. Wallach. CRL: Highperformance all-software distributed shared memory. In Symposium on Operating Systems Principles, Dec. 1995.]]
    [15]
    J. Kuskin et al. The Stanford FLASH multiprocessor. In Proceedings of the $1st Annual International Symposium on Computer Architecture, pages 302-313, Apr. 1994.]]
    [16]
    J. R. Larus, B. Richards, and G. Viswanathan. LCM: Memory system support for parallel language implementations. In Proceedings of Symposium on Architectural Support for Programming Languages and Operating Systems, pages 208-218, 1994.]]
    [17]
    C. Leiserson et al. The network architecture of the Connection Machine CM-5. in Symposium on Parallel and Distributed Algorithms, pages 272-285, June 1992.]]
    [18]
    K. Li and P. Hudak. Memory coherence in shared virtual memory systems. A CM Transactions on Computer Systems, 7(4):321-359, Nov. 1989.]]
    [19]
    S. Masticola and B. Ryder. Non-concurrency analysis. in Symposium on Principles and Practice of Parallel Programming, pages 129--138, May 1993.]]
    [20]
    S. Midkiff and D. Padua. Issues in the optimization of parallel prograrn.q. In International Conference on Parallel Processing. VoI II, pages 105-113, 1990.]]
    [21]
    S. Mukherjee, S. Sharma, M. Hill, J. Larns, A. Rogers, and J. Saltz. Efficient support for irregular applications on distributed-memory machines. In Symposium on Principles and Practice of Parallel Programming, 1995.]]
    [22]
    R. S. Nikhil. Cid: A parallel, shared-memory C for distributed-memory machines. In Languages and Compilers for Parallel Computing, pages 376-390, Aug. 1994.]]
    [23]
    J. K. Ousterhout. Tcl and the Tk Toolkit. Professional Computing Series. Addison-Wesley, 1994.]]
    [24]
    S. Reinhardt. Tempest interface specification. Technical Report TR 1267, Computer Science Department, University of Wisconsin, Madison, WI, Feb. 1995.]]
    [25]
    S. Reinhardt, J. Larus, and D. Wood. Tempest and Typhoon: user-level shared memory. In Proceedings of the $lst Annual International Symposium on Computer Architecture, Apr. 1994.]]
    [26]
    E. Rothberg. Exploiting the memory hierarchy in sequential and parallel sparse Cholesky factorization. PhD thesis, Stanford University Department of Computer Science, Jan. 1993.]]
    [27]
    H. S. Sandhu, B. Gamsa, and S. Zhou. The Shared Regions approach to software cache coherence on multiprocessors. In Symposium on Principles and Practice of Parallel Programming, pages 229-238, May 1992.]]
    [28]
    D. J. Scales, K. Gharachorloo, and C. Thekkath. Shasta: A low-overhead software-only approach for supporting fine-grain shared memory. In Proceedings of Symposium on Architectural Support for Programming Languages and Operating Systems, pages 174--185, Oct. 1996.]]
    [29]
    D. J. Scales and M. S. Lain. The design and evaluation of a shared object system for distributed memory machines. In Proceedings of Symposium on Operating Systems Design and Implementation, Nov. 1994.]]
    [30]
    I. Schoinas, B. Falsafi, A. Lebeck, S. Reinhardt, J. Larus, and D. Wood. Fine-grain access control for distributed shared memory. In Conference on Architectural Support for Programming Languages and Operating Systems, pages 297-307, Nov. 1994.]]
    [31]
    J. Singh, W.-D.Weber, and A. Gupta. SPLASH: Stanford parallel applications for shared memory. Computer Architecture News, 20(1):5-44, 1992.]]
    [32]
    T. yon Eieken, D. Culler, S. Goldstein, and K. Schauser. Active Messages: a mechanism for integrated commmunication and computing. In Proceedings of the International Symposium on Computer Architecture, pages 256-266, May 1992.]]
    [33]
    R. Wilson et al. The SUIF compiler system: a parallelizing and optimizing research compiler. Technical Report CSL-TR-94-620, Computer Systems Lab, Stanford University, Palo Alto, CA, 1994.]]

    Cited By

    View all
    • (1999)Hierarchical fuzzy configuration of implementation strategiesProceedings of the 1999 ACM symposium on Applied computing10.1145/298151.298343(250-259)Online publication date: 28-Feb-1999
    • (1999)AceACM Transactions on Computer Systems (TOCS)10.1145/320656.32065717:3(202-248)Online publication date: 1-Aug-1999

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PPOPP '97: Proceedings of the sixth ACM SIGPLAN symposium on Principles and practice of parallel programming
    June 1997
    287 pages
    ISBN:0897919068
    DOI:10.1145/263764
    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: 21 June 1997

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Conference

    PPoPP97
    Sponsor:
    PPoPP97: Principles & Practices of Parallel Programming
    June 18 - 21, 1997
    Nevada, Las Vegas, USA

    Acceptance Rates

    PPOPP '97 Paper Acceptance Rate 26 of 86 submissions, 30%;
    Overall Acceptance Rate 230 of 1,014 submissions, 23%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)55
    • Downloads (Last 6 weeks)10
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (1999)Hierarchical fuzzy configuration of implementation strategiesProceedings of the 1999 ACM symposium on Applied computing10.1145/298151.298343(250-259)Online publication date: 28-Feb-1999
    • (1999)AceACM Transactions on Computer Systems (TOCS)10.1145/320656.32065717:3(202-248)Online publication date: 1-Aug-1999

    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