Skip to main content

InterWeave: A Middleware System for Distributed Shared State

  • Conference paper
  • First Online:
Book cover Languages, Compilers, and Run-Time Systems for Scalable Computers (LCR 2000)

Abstract

As an alternative to message passing, Rochester’s InterWeave sys- tem allows the programmer to map shared segments into programs spread across heterogeneous, distributed machines. InterWeave represents a merger and exten- sion of our previous Cashmere and InterAct projects, combining hardware co- herence within small multiprocessors, Cashmere-style lazy release consistency within tightly coupled clusters, and InterAct-style version-based consistency for distributed shared segments. In InterWeave, each shared segment evolves through a series of consistent ver- sions. When beginning a read-only critical section on a given segment, Inter- Weave uses a programmer-specified predicate to determine whether the currently cached version, if any, is “recent enough” to use. Inter-segment consistency is maintained by means of hashed vector timestamps. Automatic data conversions allow each program to employ its own natural data format, byte order, and align- ment, with full support for intra- and inter-segment pointers. Timestamping is used to determine and communicate only those pieces of a segment that are dif- ferent from the cached copy. A preliminary implementation of InterWeave is currently running on our Al- phaServer cluster. Driving applications include data mining, intelligent distributed environments, and scientific visualization.

This work is supported in part by NSF grants EIA-9972881, CCR-9702466, CCR-9705594, and CCR-9988361; and an external research grant from Compaq.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. V. Adve and M. D. Hill. A Unified Formulation of Four Shared-Memory Models. IEEE Trans. on Parallel and Distributed Systems, 4(6):613–624, June 1993.

    Google Scholar 

  2. 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 Com-puting, Los Angeles, CA, Aug. 1994.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. H. E. Bal, M. F. Kaashoek, and A. S. Tanenbaum. Orca: A Language for Parallel Program-ming of Distributed Systems. In IEEE Trans. on Software Engineering, pages 190–205, June 1992.

    Google Scholar 

  5. A. Baratloo, M. Karaul, V. Keden, and P. Wyckoff. Charlotte: Metacomputing on the Web. Intl. Journal on Future Generation Computer Systems, 15(5-6):559–570, 1999.

    Article  Google Scholar 

  6. R. Bisiani and A. Forin. Multilanguage Parallel Programming of Heterogeneous Machines. IEEE Trans. on Computers, 37(8):930–945, Aug. 1988.

    Google Scholar 

  7. P. Cappello, B. O. Christiansen, M. F. Ionescu, M. O. Neary, K. E. Schauser, and D. Wu. Javelin: Internet-Based Parallel Computing Using Java. In 1997 ACM Workshop on Java for Science and Engineering Computation, Las Vegas, NV, June 1997.

    Google Scholar 

  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.

    Google Scholar 

  9. J. Carter, A. Ranganathan, and S. Susarla. Khazana: An Infrastructure for Building Dis-tributed Services. In Intl. Conf. on Distributed Computing Systems, pages 562–571, May 1998.

    Google Scholar 

  10. J. S. Chase, F. G. Amador, E. D. Lazowska, H. M. Levy, and R. J. Littlefield. The Amber System: Parallel Programming on a Network of Multiprocessors. In Proc. of the 12th ACM Symp. on Operating Systems Principles, pages 147–158, Litchfield Park, AZ, Dec. 1989.

    Google Scholar 

  11. M. J. Feeley and H. M. Levy. Distributed Shared Memory with Versioned Objects. In OOPSLA ’92 Conf. Proc., pages 247–262, Vancouver, BC, Canada, Oct. 1992.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. M. Fillo and R. B. Gillett. Architecture and Implementation of Memory Channel 2. Digital Technical Journal, 9(1):27–41, 1997.

    Google Scholar 

  14. I. Foster and C. Kesselman. Globus: A Metacomputing Infrastructure Toolkit. Intl. Journal of Supercomputer Applications, 11(2):115–128, 1997.

    Article  Google Scholar 

  15. R. Friedman. Implementing Hybrid Consistency with High-Level Synchronization Opera-tions. In Proc. of the 12th ACM Symp. on Principles of Distributed Computing, Ithaca, NY, Aug. 1993.

    Google Scholar 

  16. K. Gharachorloo, D.6Lenoski, J. Laudon, P. Gibbons, A. Gupta, and J. L. Hennessy. Memory Consistency and Event Ordering in Scalable Shared-Memory Multiprocessors. In Proc. of the 17th Intl. Symp. on Computer Architecture, pages 15–26, Seattle, WA, May 1990.

    Google Scholar 

  17. A. S. Grimshaw and W. A. Wulf. Legion-A View from 50,000 Feet. In Proc. of the 5th Intl. Symp. on High Performance Distributed Computing, Aug. 1996.

    Google Scholar 

  18. J. Harris and V. Sarkar. Lightweight Object-Oriented Shared Variables for Distributed Ap-plications on the Internet. In OOPSLA ’98 Conf. Proc., pages 296–309, Vancouver, Canada, Oct. 1998.

    Google Scholar 

  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.

    Article  MATH  Google Scholar 

  20. M. Herlihy. The Aleph Toolkit: Support for Scalable Distributed Shared Objects. In Work-shopon Communication, Architecture, and Applications for, Orlando, FL, Jan. 1999.

    Google Scholar 

  21. J. K. Hollingsworth and P. J. Keleher. Prediction and Adaptation in Active Harmony. In Proc. of the 7th Intl. Symp. on High Performance Distributed Computing, Chicago, IL, Apr. 1998.

    Google Scholar 

  22. International Organization for Standardization. Information Technology-Programming Languages-Ada. Geneva, Switzerland, 1995. ISO/IEC 8652:1995(E). Available in hy-pertext at http://www.adahome.com/rm95/.

  23. E. Jul, H. Levy, N. Hutchinson, and A. Black. Fine-Grained Mobility in the Emerald System. ACM Trans. on Computer Systems, 6(1):109–133, Feb. 1988. Originally presented at the 11th ACM Symp. on Operating Systems Principles, Nov. 1987.

    Article  Google Scholar 

  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.

    Google Scholar 

  25. R. Kordale, M. Ahamad, and M. Devarakonda. Object Caching in a CORBA Compliant System. Computing Systems, 9(4):377–404, Fall 1996.

    Google Scholar 

  26. L. Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. Comm. of the ACM, 21(7):558–565, July 1978.

    Article  MATH  Google Scholar 

  27. B. Liskov. Distributed Programming in Argus. Comm. of the ACM, 31(3):300–312, Mar. 1988.

    Article  MathSciNet  Google Scholar 

  28. B. Liskov, A. Adya, M. Castro, M. Day, S. Ghemawat, R. Gruber, U. Maheshwari, A. C. Myers, and L. Shrira. Safe and Efficient Sharing of Persistent Objects in Thor. In Proc. of the 1996 ACMSIGMOD Intl. Conf. on Management of Data, Montreal, Canada, June 1996.

    Google Scholar 

  29. Object Management Group, Inc. The Common Object Request Broker: Architecture and Specification, Revision 2.0. Framingham, MA, July 1996.

    Google Scholar 

  30. S. Parthasarathy and S. Dwarkadas. InterAct: Virtual Sharing for Interactive Client-Server Applications. In 4th Workshop on Languages, Compilers, and Run-time Systems for Scal-able Computers, May 1998.

    Google Scholar 

  31. M. Philippsen and M. Zenger. JavaParty-Transparent Remote Objects in Java. Concur-rency-Practice and Experience, 9(11):1125–1242, Nov. 1997.

    Google Scholar 

  32. G. P. Picco, A. L. Murphy, and G. Roman. Lime: Linda meets mobility. In Proc. of the 21st Intl. Conf. on Software Engineering, pages 368–377, Los Angeles, CA, May 1999.

    Google Scholar 

  33. E. Pinheiro, D. Chen, S. Dwarkadas, S. Parthasarathy, and M. L. Scott. S-DSM for Het-erogeneous Machine Architectures. In Proc. of the 2nd Workshop on Software Distributed Shared Memory, Santa Fe, NM, May 2000. In conjunction with the 14th Intl. Conf. on Supercomputing.

    Google Scholar 

  34. R. Riggs, J. Waldo, A. Wollrath, and K. Bharat. Pickling State in the Java System. Com-puting Systems, 9(4):291–312, Fall 1996.

    Google Scholar 

  35. D. Rogerson. Inside COM. Microsoft Press, Redmond, Washington, Jan. 1997.

    Google Scholar 

  36. M. Satyanarayanan. Integrating Security in a Large Distributed System. ACM Trans. on Computer Systems, 7(3):247–280, Aug. 1989.

    Google Scholar 

  37. Scientific Computing Associates Inc. Virtual Shared Memory and the Paradise System for Distributed Computing. Technical Report, New Haven, CT, April 1999.

    Google Scholar 

  38. A. Singla, U. Ramachandran, and J. Hodgins. Temporal Notions of Synchronization and Consistency in Beehive. In Proc. of the 9th Annual ACMSymp. on Parallel Algorithms and Architectures, Newport, RI, June 1997.

    Google Scholar 

  39. R. Stets, S. Dwarkadas, N. Hardavellas, G. Hunt, L. Kontothanassis, S. Parthasarathy, and M. Scott. Cashmere-2L: Software Coherent Shared Memory on a Clustered Remote-Write Network. In Proc. of the 16th ACM Symp. on Operating Systems Principles, St. Malo, France, Oct. 1997.

    Google Scholar 

  40. Network Programming Guide-External Data Representation Standard: Protocol Specifi-cation. Sun Microsystems, Inc., 1990.

    Google Scholar 

  41. Sun Microsystems. JavaSpaces Specification. Palo Alto, CA, Jan. 1999.

    Google Scholar 

  42. A. S. Tanenbaum, M. F. Kaashoek, and H. E. Bal. Parallel Programming Using Shared Objects and Broadcasting. Computer, 25(8):10–19, Aug. 1992.

    Google Scholar 

  43. A. Vahdat, T. Anderson, M. Dahlin, D. Culler, E. Belani, P. Eastham, and C. Yoshikawa. WebOS: Operating System Services for Wide Area Applications. In Proc. of the 7th Intl. Symp. on High Performance Distributed Computing, Chicago, IL, July 1998.

    Google Scholar 

  44. M. van Steen, P. Homburg, and A. S. Tanenbaum. Globe: A Wide-Area Distributed System. In IEEE Concurrency, pages 70–78, Jan.-Mar. 1999.

    Google Scholar 

  45. P. R. Wilson. Pointer Swizzling at Page Fault Time: Efficiently and Compatibly Support-ing Huge Address Spaces on Standard Hardware. In International Workshop on Object Orientation in Operating Systems, page 244ff, Paris, France, Sept. 1992.

    Google Scholar 

  46. S. C. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta. Methodological Considerations and Characterization of the SPLASH-2 Parallel Application Suite. In Proc. of the 22nd Intl. Symp. on Computer Architecture, Santa Margherita Ligure, Italy, June 1995.

    Google Scholar 

  47. Xerox Corporation. Courier: The Remote Procedure Call Protocol. Technical Report XSIS 038112, Dec. 1981.

    Google Scholar 

  48. W. Yu and A. Cox. Java/DSM: A Platform for Heterogeneous Computing. Concurrency-Practice and Experience, 9(11), Nov. 1997.

    Google Scholar 

  49. S. Zhou, M. Stumm, K. Li, and D. Wortman. Heterogeneous Distributed Shared Memory. In IEEE Trans. on Parallel and Distributed Systems, pages 540–554, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chen, D., Dwarkadas, S., Parthasarathy, S., Pinheiro, E., Scott, M.L. (2000). InterWeave: A Middleware System for Distributed Shared State. In: Dwarkadas, S. (eds) Languages, Compilers, and Run-Time Systems for Scalable Computers. LCR 2000. Lecture Notes in Computer Science, vol 1915. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-40889-4_16

Download citation

  • DOI: https://doi.org/10.1007/3-540-40889-4_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41185-7

  • Online ISBN: 978-3-540-40889-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics