Login
Computer Science @ Rochester
Wednesday, January 07, 2004
11:00 AM
CSB 209
DeQing Chen
University of Rochester
Multi-Level Shared State and Application Specific Coherence Models
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 specifications, its multi-level coherence protocol, and its support for Java applications. The high-level coherence specifications allow programmers to relax application coherence requirement in order to optimize communication traffic. The multi-level shared memory protocol helps accommodate 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). The provision of an InterWeave for the Java language presents special implementation challenge and allows Java applications to use InterWeave to share information with other languages efficiently.

Experiments on microbenchmarks show that the current InterWeave implementation is efficient and scalable. 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.