Dynamo: design, implementation, and evaluation of cooperative persistent object management in a local area network

SUMMARY In light of advances in processor and networking technology, especially the emergence of network attached disks, the traditional client-server architecture of persistent storage systems has become suboptimal for many computation/data intensive applications. In this paper, we introduce a revised architecture for persistent object management employing network attached storage: the dynamic object server environment (Dynamo). Dynamo introduces two main architectural innovations:(1) To provide high scalability, the object management functions are mainly performed cooperatively by the clients in the system. Furthermore, data is transferred directly to the client's cache from network-attached disks, thus avoiding copies from a disk to the server buuer and then over the network to the client. Other systems have an a priori assignment of \object management" functions to speciic nodes. (2) Dynamo uses a cooperative cache management which employs a decentralized lottery-based page replacement strategy with a novel technique which attempts to put a page replaced from one node into the cache of another node which is likely to access the page in the near future. We show via performance benchmarks run on the Dynamo system and simulation results how this architecture increases the system's adaptability, scalability and cost performance. Introduction High speed local area networks and increasingly powerful desktop machines have led to the notion of clusters of PCs as servers. But servers, whether they be clusters or mainframes are conngured a priori and, with growing workloads or in the case of workloads with \\oating skew", a server can become a bottleneck. One approach to more scalable architecture is to use the client platforms to implement a cluster server; so each client executes not only the usual client side software but also, part of its resources are used to implement one node of a cluster server. The motivation is clearly that the \server resources" grow in direct proportion to the number of clients which leads to a scalable system. There are also challenges to be overcome to make this approach work in practice. One challenge is to build a system that adapts to a changing connguration. Client machines may fail but also, new machines may be added or decommissioned and the system needs to automatically adapt to these changes. In addition, it is becoming more common for portable machines to be connected in the morning and disconnected in the evening. Particularly as this latter mode of operation becomes more popular

[1]  Anna R. Karlin,et al.  Implementing cooperative prefetching and caching in a globally-managed memory system , 1998, SIGMETRICS '98/PERFORMANCE '98.

[2]  Anna R. Karlin,et al.  Implementing global memory management in a workstation cluster , 1995, SOSP.

[3]  M. Franklin,et al.  Global Memory Management in Client-Server DBMS Architectures , 1992 .

[4]  Michael Dahlin,et al.  Cooperative caching: using remote client memory to improve file system performance , 1994, OSDI '94.

[5]  Jim Zelenka,et al.  File server scaling with network-attached secure disks , 1997, SIGMETRICS '97.

[6]  David J. DeWitt,et al.  The oo7 Benchmark , 1993, SIGMOD Conference.

[7]  David J. DeWitt,et al.  Shoring up persistent applications , 1994, SIGMOD '94.

[8]  E. Grochowski,et al.  Future trends in hard disk drives , 1996 .

[9]  Anna R. Karlin,et al.  A study of integrated prefetching and caching strategies , 1995, SIGMETRICS '95/PERFORMANCE '95.

[10]  Mary K. Vernon,et al.  Managing server load in global memory systems , 1997, SIGMETRICS '97.

[11]  Philip S. Yu,et al.  Integrated Concurrency-Coherency Controls for Multisystem Data Sharing , 1989, IEEE Trans. Software Eng..

[12]  Miguel Castro,et al.  HAC: hybrid adaptive caching for distributed storage systems , 1997, SOSP.

[13]  AgrawalRakesh,et al.  Mining association rules between sets of items in large databases , 1993 .

[14]  John H. Hartman,et al.  Efficient cooperative caching using hints , 1996, OSDI '96.

[15]  Anna R. Karlin,et al.  Implementation and performance of integrated application-controlled file caching, prefetching, and disk scheduling , 1996, TOCS.