Font Size: a A A

Multi-level shared state and application specific coherence models

Posted on:2005-11-08Degree:Ph.DType:Dissertation
University:The University of RochesterCandidate:Chen, DeQingFull Text:PDF
GTID:1458390008483773Subject:Computer Science
Abstract/Summary:
As a result of the rapid growth of the Internet, more and more applications are taking advantage of resources at distributed sites. Conceptually, coordination of these distributed processes requires some sort of distributed shared state---information that has relatively static structure but mutable content, and that is needed at more than one site. The management of the shared state over the Internet must efficiently handle low-bandwidth network links, machine heterogeneity, and different application languages.; In this dissertation, we study a middleware system that supports a shared memory programming model designed to facilitate the sharing of state in such applications. As a complement to Remote Procedure Call or Remote Method Invocation (RPC/RMI), the system, which we call Interweave, allows processes to access shared state of strongly-typed, pointer-rich data structures with ordinary writes and reads.; Interweave employs a variety of aggressive optimizations to improve the performance of distributed state in the Internet environment. In this dissertation, we focus on InterWeave's support for high-level coherence specification, its multi-level coherence protocol, and its support for Java applications. The high-level coherence specification allow programmers to relax application coherence requirements in order to optimize communication traffic. The multi-level shared memory protocol helps accommodate and leverage hardware coherence and consistency within multiprocessors (level-1 sharing), software distributed shared memory (S-DSM) within tightly coupled clusters ( level-2 sharing), and version-based coherence and consistency across the Internet (level-3 sharing). Support for the Java language presents special implementation challenges but allows Java applications to use InterWeave to share information with other languages efficiently.; Experiments on microbenchmarks show that the current InterWeave implementation is efficient in supporting a range of different machine types and programming languages. We have experimented with InterWeave on a variety of applications, including interactive and incremental datamining, time-image sharing in an intelligent environment, web proxy caching, multi-player games, and remote scientific simulation and visualization. Our experience demonstrates the ease of use of the InterWeave programming model. Experiments with these applications reveal that various InterWeave optimizations bring significant performance benefits in low bandwidth high latency network environments like the Internet.
Keywords/Search Tags:Application, Coherence, Shared state, Internet, Interweave, Multi-level
Related items