Affiliation:
1. Courant Institute of Mathematical Sciences, New York University, 715 Broadway, 7th Floor, New York, NY
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. ASPIRE;ACM SIGPLAN Notices;2014-12-31
2. ASPIRE;Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications;2014-10-15
3. Efficient Java RMI for parallel programming;ACM Transactions on Programming Languages and Systems;2001-11
4. Detecting Read-Only Methods in Java;Languages, Compilers, and Run-Time Systems for Scalable Computers;2000