Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/320384.320433acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article
Free access

Object views: language support for intelligent object caching in parallel and distributed computations

Published: 01 October 1999 Publication History

Abstract

Object-based parallel and distributed applications are becoming increasingly popular, driven by the programmability advantages of component technology and a flat shared-object space. However, the flat shared-object space introduces a performance challenge: applications that rely on the transparent coherent caching of objects achieve high performance only on tightly coupled parallel machines. In distributed environments, the overheads of object caching force application designers to choose other solutions. Consequently, most applications sacrifice programmability, relying instead on either the explicit coherence management of cached objects, or on vastly different middleware abstractions such as multicast and events.
In this paper, we describe object views — language support for efficient object caching in parallel and distributed computations. Object views specify restrictions on how computation threads can use an object, providing the underlying implementation with information about the potential side effects of object access, and thereby enabling construction of scalable, low-overhead caching protocols customized to application requirements. We present extensions to the Java programming language for expressing object views, and describe the design and implementation of a translator and run-time system for executing view-augmented Java programs on a distributed cluster of workstations. Experimental results based on a shared whiteboard application demonstrate that view-based object caching can achieve performance superior to multicast- and event-based implementations, while retaining essentially a shared object interface.

References

[1]
C. Amza, A. Cox, S. Dwarkadas, P. Keleher, H. Lu, R. Rajamoney, Y. Wu, and W. Zwaenopoel. Tread-marks: Shared memory computing on networks of workstations. IEEE Computer, 29(2), February 1996.]]
[2]
Ken Arnold and James Gosling. The Java Programming Language, Second Edition. Addison-Wesley, 1998.]]
[3]
H. E. Bal, M. F. Kaashoek, and A. S. Tanenbaum. Orca: A language for parallel programming of distributed systems. IEEE Transactions on Software Engineering, 18(3):190- 205, March 1992.]]
[4]
G. Banavar, T. Chandra, B. Mukherjee, J. Nagarajarao, R. Strom, and D. Sturman. An efficient multi cast protocol for content-based publish-subscribe systems. In Proceedings of ICDCS'99, International Conference on Distributed Computing Systems, 1999.]]
[5]
B.N. Bershad, M. J. Zekauskas, and W. A. Sawdon. The Midway distributed shared memory system. In Proceedings of COMPCON 1993, pages 528-537, March 1993.]]
[6]
J. Carter, J. Bennett, and W. Zwaenepoel. Implementation and performance of Munin. In Proceedings of the A CM Symposium on Operating Systems Principles, pages 152-164, 1991.]]
[7]
A. Chabert, E. Grossman, L. Jackson, and S. Pietrovicz. NCSA Habanero: Synchronous collaborative framework and environment. Software Development Division at NCSA, Champaign, IL, 1997.]]
[8]
C. Houck and G. Agha. HAL: A high-level actor language and its distributed implementation. In Proceedings of the 21st International Conference on Parallel Processing, pages 158-165, St. Charles, IL, August 1992.]]
[9]
Liviu fftode, Cezary Dubnicki, Edward W. Felten, and Kai Li. Improving release-consistent shared virtual memory using automatic update. In Proceedings of the 2nd International Symposium on High Performance Computer Architecture, pages 14-25, February 1996.]]
[10]
Kirk L. Johnson, M. Frans Kaashoek, and Deborah A. Wallach. CRL: High-performance all-software distributed shared memory. In Proceedings of the Symposium on Operating Systems Principles, pages 213-228, 1995.]]
[11]
Vijay Karamcheti and Andrew A. Chien. View caching: Efficient software shared memory for dynamic computations. In Proceedings of the International Parallel Processing Symposium, pages 483-489, 1997.]]
[12]
Povl T. Koch, Robert J. Fowler, and Eric Jul. Messagedriven relaxed consistency in a software dis-tributed shared memory, in First Symposium on Operating Systems Design and Implementation, pages 75-85, November 1994.]]
[13]
Kai Li and P. Hudak. Memory coherence in shared virtual memory systems. ACM Transactions on Computer Systems, 7(4):321-359, 1989.]]
[14]
H. Masuhara, S. Matsuoka, T. Watanaba, and A. Yonezawa. Objected-oriented concurrent reflective languages can be implemented efficiently. In Proceedings of OOPSLA '92, pages 127-144, 1992.]]
[15]
} S. Matsuoka, K. Taura, and A. Yonezawa. Highly efficient and encapsulated re-use of synchroniza-tion code in concurrent object-oriented languages. In Proceedings of OOP- SLA'93, Object-Oriented Programming Systems, Languages and Architectures, 1993.]]
[16]
Scott P akin, Vijay Karamchefi, and Andrew A. Chien. Fast Messages: Efficient, portable communication for workstation clusters and mpps. IEEE Concurrency, 5(2):60-73, April- June 1997.]]
[17]
H. S. gandhu, B. Gamsa, and S. Zhou. The shared region approach to software cache coherence on multiprocessors. In Proceedings of the Fourth A CM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP'93), pages 229-238, July 1993.]]
[18]
Daniel Scales, Kourosh Gharachorloo, and Chandramohan Thekkath. Shasta: A low overhead, software-only approach for supporting fine-grain shared memory. In Proceedings of ASPLOS-VII, pages 174-185, October 1996.]]
[19]
Daniel J. Scales and Monica S. Lam. The design and evaluation of a shared object system for dis-tributed memory machines. In First Symposium on Operating Systems Design and Implementation, pages 101-114, 1994.]]
[20]
C. Tomlinson and V. Singh. Inheritance and synchronization with enabled-sets. In Proceedings of OOPSLA'89, Object- Oriented Programming Systems, Languages and Architectures, 1989.]]
[21]
R. K. Raj, E. Tempero, H. M. Levy, A. P. Black, N. C. Hutchinson, and E. Jul. Emerald: A General-Purpose Programming Language. Software - Practice and Experience 21(1),January 1991.]]
[22]
R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. The MIT Press, 1990.]]

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '99: Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
October 1999
462 pages
ISBN:1581132387
DOI:10.1145/320384
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: 01 October 1999

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Java
  2. collaborative applications
  3. distributed objects
  4. object caching
  5. object representation
  6. shared objects
  7. views

Qualifiers

  • Article

Conference

OOPSLA99
Sponsor:

Acceptance Rates

OOPSLA '99 Paper Acceptance Rate 30 of 152 submissions, 20%;
Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)102
  • Downloads (Last 6 weeks)14
Reflects downloads up to 20 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (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
  • (2007)DOLCLANProceedings of the 7th IFIP WG 6.1 international conference on Distributed applications and interoperable systems10.5555/1776132.1776145(119-132)Online publication date: 6-Jun-2007
  • (2007)DOLCLAN – Middleware Support for Peer-to-Peer Distributed Shared ObjectsDistributed Applications and Interoperable Systems10.1007/978-3-540-72883-2_9(119-132)Online publication date: 2007
  • (2006)The ABC adaptive fusion architectureProceedings of the 4th international workshop on Middleware for Pervasive and Ad-Hoc Computing (MPAC 2006)10.1145/1169075.1169076Online publication date: 27-Nov-2006
  • (2006)Applying model fragment copy-restore to build an open and distributed MDA environmentProceedings of the 9th international conference on Model Driven Engineering Languages and Systems10.1007/11880240_44(631-645)Online publication date: 1-Oct-2006
  • (2004)Flecc: a flexible cache coherence protocol for dynamic component-based systems18th International Parallel and Distributed Processing Symposium, 2004. Proceedings.10.1109/IPDPS.2004.1302945(32-41)Online publication date: 2004
  • (2003)Exploiting high-level coherence information to optimize distributed shared stateACM SIGPLAN Notices10.1145/966049.78151838:10(131-142)Online publication date: 11-Jun-2003
  • (2003)Exploiting high-level coherence information to optimize distributed shared stateProceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming10.1145/781498.781518(131-142)Online publication date: 11-Jun-2003
  • (2003)Using views for customizing reusable components in component-based frameworksHigh Performance Distributed Computing, 2003. Proceedings. 12th IEEE International Symposium on10.1109/HPDC.2003.1210029(194-204)Online publication date: 2003
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media