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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
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.
R. Bisiani and A. Forin. Multilanguage Parallel Programming of Heterogeneous Machines. IEEE Trans. on Computers, 37(8):930–945, Aug. 1988.
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.
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.
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.
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.
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.
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.
M. Fillo and R. B. Gillett. Architecture and Implementation of Memory Channel 2. Digital Technical Journal, 9(1):27–41, 1997.
I. Foster and C. Kesselman. Globus: A Metacomputing Infrastructure Toolkit. Intl. Journal of Supercomputer Applications, 11(2):115–128, 1997.
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.
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.
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.
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.
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.
M. Herlihy. The Aleph Toolkit: Support for Scalable Distributed Shared Objects. In Work-shopon Communication, Architecture, and Applications for, Orlando, FL, Jan. 1999.
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.
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/.
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.
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.
R. Kordale, M. Ahamad, and M. Devarakonda. Object Caching in a CORBA Compliant System. Computing Systems, 9(4):377–404, Fall 1996.
L. Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. Comm. of the ACM, 21(7):558–565, July 1978.
B. Liskov. Distributed Programming in Argus. Comm. of the ACM, 31(3):300–312, Mar. 1988.
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.
Object Management Group, Inc. The Common Object Request Broker: Architecture and Specification, Revision 2.0. Framingham, MA, July 1996.
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.
M. Philippsen and M. Zenger. JavaParty-Transparent Remote Objects in Java. Concur-rency-Practice and Experience, 9(11):1125–1242, Nov. 1997.
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.
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.
R. Riggs, J. Waldo, A. Wollrath, and K. Bharat. Pickling State in the Java System. Com-puting Systems, 9(4):291–312, Fall 1996.
D. Rogerson. Inside COM. Microsoft Press, Redmond, Washington, Jan. 1997.
M. Satyanarayanan. Integrating Security in a Large Distributed System. ACM Trans. on Computer Systems, 7(3):247–280, Aug. 1989.
Scientific Computing Associates Inc. Virtual Shared Memory and the Paradise System for Distributed Computing. Technical Report, New Haven, CT, April 1999.
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.
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.
Network Programming Guide-External Data Representation Standard: Protocol Specifi-cation. Sun Microsystems, Inc., 1990.
Sun Microsystems. JavaSpaces Specification. Palo Alto, CA, Jan. 1999.
A. S. Tanenbaum, M. F. Kaashoek, and H. E. Bal. Parallel Programming Using Shared Objects and Broadcasting. Computer, 25(8):10–19, Aug. 1992.
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.
M. van Steen, P. Homburg, and A. S. Tanenbaum. Globe: A Wide-Area Distributed System. In IEEE Concurrency, pages 70–78, Jan.-Mar. 1999.
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.
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.
Xerox Corporation. Courier: The Remote Procedure Call Protocol. Technical Report XSIS 038112, Dec. 1981.
W. Yu and A. Cox. Java/DSM: A Platform for Heterogeneous Computing. Concurrency-Practice and Experience, 9(11), Nov. 1997.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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