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

Exploiting high-level coherence information to optimize distributed shared state

Published: 11 June 2003 Publication History
  • Get Citation Alerts
  • Abstract

    InterWeave is a distributed middleware system that supports the sharing of strongly typed, pointer-rich data structures across a wide variety of hardware architectures, operating systems, and programming languages. As a complement to RPC/RMI, InterWeave facilitates the rapid development of maintainable code by allowing processes to access shared data using ordinary reads and writes.Internally, InterWeave employs a variety of aggressive optimizations to obtain significant performance improvements with minimal programmer effort. In this paper, we focus on application-specific optimizations that exploit dynamic high-level information about an application's spatial data access patterns and the stringency of its coherence requirements. Using applications drawn from computer vision, datamining, and web proxy caching, we illustrate the specification of coherence requirements based on the (temporal) concept of "recent enough" to use, and introduce two (spatial) notions of views, which allow a program to limit coherence management to the portion of a data structure actively in use. Experiments with these applications show that InterWeave can reduce their communication traffic by up to one order of magnitude with minimum effort on the part of the application programmer.

    References

    [1]
    D. Agrawal, M. Choy, H. V. Leong, and A. K. Singh. Mixed Consistency: A Model for Parallel Programming. In Proc. of the 13th ACM Symp. on Principles of Distributed Computing, pages 101--110, Los Angeles, CA, Aug. 1994.
    [2]
    R. Alonso, D. Barbara, and H. Garcia-Molina. Data Caching Issues in an Information Retrieval System. ACM Trans. on Database Systems, 15(3):359--384, Sept. 1990.
    [3]
    C. Amza, A. L. Cox, S. Dwarkadas, P. Keleher, H. Lu, R. Rajamony, W. Yu, and W. Zwaenepoel. TreadMarks: Shared Memory Computing on Networks of Workstations. Computer, 29(2):18--28, Feb. 1996.
    [4]
    B. N. Bershad, M. J. Zekauskas, and W. A. Sawdon. The Midway Distributed Shared Memory System. In Proc. of the IEEE COMPCON '93, pages 528--537, 1993.
    [5]
    R. Bisiani and A. Forin. Multilanguage Parallel Programming of Heterogeneous Machines. IEEE Trans. on Computers, 37(8):930--945, Aug. 1988.
    [6]
    B. H. Bloom. Space/Time Trade-Off in Hash Coding with Allowable Errors. Comm. of the ACM, 13(7):422--426, July 1970.
    [7]
    T. Brecht and H. Sandhu. The Region Trap Library: Handling Traps on Application-Defined Regions of Memory. In Proc. of the 1999 USENIX Annual Technical Conf., pages 85--99, Monterey, CA, June 1999.
    [8]
    J. B. Carter, J. K. Bennett, and W. Zwaenepoel. Implementation and Performance of Munin. In Proc. of the 13th ACM Symp. on Operating Systems Principles, pages 152--164, Pacific Grove, CA, Oct. 1991.
    [9]
    J. Carter, A. Ranganathan, and S. Susarla. Khazana: An Infrastructure for Building Distributed Services. In Proc. of the 18th Intl. Conf. on Distributed Computing Systems, pages 562--571, Amsterdam, The Netherlands, May 1998.
    [10]
    A. Chankhunthod, M. Schwartz, P. Danzig, K. Worrell, and C. Neerdaels. A Hierarchical Internet Object Cache. In Proc. of the USENIX 1996 Technical Conf., pages 153--163, 1996.
    [11]
    D. Chen, C. Tang, X. Chen, S. Dwarkadas, and M. L. Scott. Beyond S-DSM: Shared State for Distributed Systems. TR 744, Computer Science Dept., Univ. of Rochester, Mar. 2001.
    [12]
    D. Chen, C. Tang, X. Chen, S. Dwarkadas, and M. L. Scott. Multi-level Shared State for Distributed Systems. In Proc. of the 2002 Intl. Conf. on Parallel Processing, pages 131--140, Vancouver, BC, Canada, Aug. 2002.
    [13]
    G. Chockler, D. Dolev, R. Friedman, and R. Vitenberg. Implementing a Caching Service for Distributed CORBA Objects. In Proc., Middleware 2000, pages 1--23, New York, NY, Apr. 2000.
    [14]
    Duke University Computer Science Department. Proxycizer. http://www.cs.duke.edu/ari/cisi/Proxycizer/.
    [15]
    L. Fan, P. Cao, J. Almeida, and A. Z. Broder. Summary Cache: A Scalable Wide-Area Web Cache Sharing Protocol. IEEE Trans. on Networking, 8(3):281--293, 2000.
    [16]
    P. Ferreira, M. Shapiro, X. Blondel, O. Fambon, J. Garcia, S. Kloosterman, N. Richer, M. Roberts, F. Sandakly, G. Coulouris, J. Dollimore, P. Guedes, D. Hagimont, and S. Krakowiak. PerDiS: Design, Implementaiton, and Use of a PERsistent DIstributed Store. Research Report 3525, INRIA, Rocquencourt, France, Oct. 1998.
    [17]
    R. Friedman. Implementing Hybrid Consistency with High-Level Synchronization Operations. In Proc. of the 12th ACM Symp. on Principles of Distributed Computing, pages 229--240, Ithaca, NY, Aug. 1993.
    [18]
    A. S. Grimshaw and W. A. Wulf. Legion View from 50,000 Feet. In Proc. of the 5th Intl. Symp. on High Performance Distributed Computing, pages 89--99, Aug. 1996.
    [19]
    M. Herlihy and B. Liskov. A Value Transmission Method for Abstract Data Types. ACM Trans. on Programming Languages and Systems, 4(4):527--551, Oct. 1982.
    [20]
    M. D. Hill, J. R. Larus, S. K. Reinhardt, and D. A. Wood. Cooperative Shared Memory: Software and Hardware for Scalable Multiprocessors. ACM Trans. on Computer Systems, 11(4):300--318, Nov. 1993.
    [21]
    IRCache Project. Originally sponsored by the National Science Foundation (grants NCR-9616602 and NCR-9521745), and the National Laboratory for Applied Network Research. http://www.ircache.net.
    [22]
    L. Iftode, J. P. Singh, and K. Li. Scope Consistency: A Bridge Between Release Consistency and Entry Consistency. In Proc. of the 8th Annual ACM Symp. on Parallel Algorithms and Architectures, pages 451--473, Padua, Italy, June 1996.
    [23]
    K. L. Johnson, M. F. Kaashoek, and D. A. Wallach. CRL: High-Performance All-Software Distributed Shared Memory. In Proc. of the 15th ACM Symp. on Operating Systems Principles, pages 213--228, Copper Mountain, CO, Dec. 1995.
    [24]
    T. Kaehler. Virtual Memory on a Narrow Machine for an Object-Oriented Language. In OOPSLA '86 Conf. Proc., pages 87--106, Portland, OR, Sept. Oct. 1986.
    [25]
    B. Kemme and G. Alonso. A Suite of Database Replication Protocols based on Group Communication Primitives. In Proc. of the 18th Intl. Conf. on Distributed Computing Systems, pages 156--163, Amsterdam, The Netherlands, May 1998.
    [26]
    R. Kordale, M. Ahamad, and M. Devarakonda. Object Caching in a CORBA Compliant System. Computing Systems, 9(4):377--404, Fall 1996.
    [27]
    A. Kristensen and C. Low. Problem-oriented Object Memory: Customizing Consistency. In OOPSLA '95 Conf. Proc., pages 399--413, Austin, TX, Oct. 1995.
    [28]
    L. Lipkind, I. Pechtchanski, and J. Karamcheti. Object Views: Language Support for Intelligent Object Caching in Parallel and Distributed Computations. In OOPSLA '99 Conf. Proc., pages 447--460, Denver, CO, Nov. 1999.
    [29]
    J. Maassen, T. Kielmann, and H. E. Bal. Efficient Replicated Method Invocation in Java. In Proc., Java Grande 2000, pages 88--96.
    [30]
    M. Mitzenmacher. Compressed Bloom Filters. In Proc. of the 20th ACM Symp. on Principles of Distributed Computing, pages 144--150, Aug. 2001.
    [31]
    U. Ramachandran, N. Harel, R. S. Nikhil, J. M. Rehg, and K. Knobe. Space-Time Memory: A Parallel Programming Abstraction for Interactive Multimedia Applications. In Proc. of the 7th ACM Symp. on Principles and Practice of Parallel Programming, pages 183--192, Atlanta, GA, May 1999.
    [32]
    R. Riggs, J. Waldo, A. Wollrath, and K. Bharat. Pickling State in the Java System. Computing Systems, 9(4):291--312, Fall 1996.
    [33]
    A. Rousskov and D. Wessels. Cache Digests. Computer Networks and ISDN Systems, 30(22-23):2155--2168, 1998.
    [34]
    B. C. S. Sanders, R. C. Nelson, and R. Sukthankar. A Theory of the Quasi-static World. In Proc. of the 16th Intl. Conf. on Pattern Recognition, pages 3:1--6, Quebec City, PQ, Canada, Aug. 2002.
    [35]
    B. C. S. Sanders, R. C. Nelson, and R. Sukthankar. The OD Theory of TOD: The Use and Limitations of Temporal Information for Object Discovery. In Proc. of the 18th Natl. Conf. on Artificial Intelligence, pages 777--784, Edmonton, AB, Canada, July 2002.
    [36]
    H. S. Sandhu, B. Gamsa, and S. Zhou. The Shared Regions Approach to Software Cache Coherence on Multiprocessors. In Proc. of the 4th ACM Symp. on Principles and Practice of Parallel Programming, pages 229--238, San Diego, CA, May 1993.
    [37]
    A. Singla, U. Ramachandran, and J. Hodgins. Temporal Notions of Synchronization and Consistency in Beehive. In Proc. of the 9th Annual ACM Symp. on Parallel Algorithms and Architectures, pages 211--220, Newport, RI, June 1997.
    [38]
    R. Srikant and R. Agrawal. Mining Sequential Patterns. IBM Research Report RJ9910, IBM Almaden Research Center, Oct. 1994. Expanded version of paper presented at the Intl. Conf. on Data Engineering, Taipei, Taiwan, Mar. 1995.
    [39]
    R. Stets, S. Dwarkadas, N. Hardavellas, G. Hunt, L. Kontothanassis, S. Parthasarathy, and M. L. Scott. Cashmere-2L: Software Coherent Shared Memory on a Clustered Remote-Write Network. In Proc. of the 16th ACM Symp. on Operating Systems Principles, pages 170--183, St. Malo, France, Oct. 1997.
    [40]
    C. Tang, D. Chen, S. Dwarkadas, and M. L. Scott. Support for Machine and Language Heterogeneity in a Distributed Shared State System. TR 783, Computer Science Dept., Univ. of Rochester, May 2002.
    [41]
    C. Tang, D. Chen, S. Dwarkadas, and M. L. Scott. Efficient Distributed Shared State for Heterogeneous Machine Architectures. In Proc. of the 23rd Intl. Conf. on Distributed Computing Systems, Providence, RI, May 2003.
    [42]
    M. van Steen, P. Homburg, and A. S. Tanenbaum. Globe: A Wide-Area Distributed System. IEEE Concurrency, 7(1):70--78, Jan.-Mar. 1999.
    [43]
    H. Yu and A. Vahdat. Design and Evaluation of a Continuous Consistency Model for Replicated Services. In Proc. of the 4th Symp. on Operating Systems Design and Implementation, pages 305--318, San Diego, CA, Oct. 2000.
    [44]
    H. Yu and A. Vahdat. The Costs and Limits of Availability for Replicated Services. In Proc. of the 18th ACM Symp. on Operating Systems Principles, pages 29--42, Banff, Canada, Oct. 2001.
    [45]
    S. Zhou, M. Stumm, K. Li, and D. Wortman. Heterogeneous Distributed Shared Memory. IEEE Trans. on Parallel and Distributed Systems, 3(5):540--554, Sept. 1992.

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PPoPP '03: Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
    June 2003
    250 pages
    ISBN:1581135882
    DOI:10.1145/781498
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 38, Issue 10
      Proceedings of the ACM SIGPLAN symposium on principles and practice of parallel programming (PPoPP 2003) and workshop on partial evaluation and semantics-based program manipulation (PEPM 2003)
      October 2003
      331 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/966049
      Issue’s Table of Contents
    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: 11 June 2003

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Conference

    PPoPP03
    Sponsor:

    Acceptance Rates

    PPoPP '03 Paper Acceptance Rate 20 of 45 submissions, 44%;
    Overall Acceptance Rate 230 of 1,014 submissions, 23%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)PnPProceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3297858.3304012(587-600)Online publication date: 4-Apr-2019
    • (2014)ASPIREACM SIGPLAN Notices10.1145/2714064.266022749:10(861-878)Online publication date: 15-Oct-2014
    • (2014)ASPIREProceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications10.1145/2660193.2660227(861-878)Online publication date: 15-Oct-2014
    • (2006)DDSSProceedings of the 13th international conference on High Performance Computing10.1007/11945918_46(472-484)Online publication date: 18-Dec-2006
    • (2005)A practical transparent data sharing service for the gridCCGrid 2005. IEEE International Symposium on Cluster Computing and the Grid, 2005.10.1109/CCGRID.2005.1558657(897-904 Vol. 2)Online publication date: 2005
    • (2004)Integrating remote invocation and distributed shared state18th International Parallel and Distributed Processing Symposium, 2004. Proceedings.10.1109/IPDPS.2004.1302942(30-39)Online publication date: 2004
    • (2003)Distributed shared stateThe Ninth IEEE Workshop on Future Trends of Distributed Computing Systems, 2003. FTDCS 2003. Proceedings.10.1109/FTDCS.2003.1204322(122-127)Online publication date: 2003
    • (2014)ASPIREACM SIGPLAN Notices10.1145/2714064.266022749:10(861-878)Online publication date: 15-Oct-2014

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media