COME: Content-Based Memory Sharing

Dr. Yiwei Ci

Project Introduction

Distributed Shared Memory (DSM) has been investigated for decades. It provides a simple interface for users to access shared data. The collection and dissemination of the shared data can be transparent to the users. In addition, it makes the reuse of existing applications for distributed computing possible, which not only means a unified programming experience but also enables programmers to build their test environment seamlessly. However, DSM systems can suffer from the non-trivial cost of data synchronization. By relaxing the consistency model, the propagation of updated data can be postponed. This action can offset some of the cost of data synchronization but often requires explicit synchronization primitives to control the access of the shared data and to determine the time of the data synchronization. To decouple DSM systems with other lock systems and to reduce the cost of data sharing, an approach of COntent based MEmory (COME) sharing is proposed. Data can be shared at a fine granularity other than the page. Moreover, this newly proposed approach allows data to be directly fetched from some possible holders even though each holder does not have full information about all of the other holders. Our solution is implemented in a Linux kernel, and it is compatible with System V IPC.

There are three layers in COME , namely, the translation layer (WTRANS), the link layer (WLN), and the resource layer (WRES). The translation layer is implemented at the kernel level of an operating system. It translates kernel requests and sends the translated requests to the link layer. The link layer not only passes requests from the translation layer to the resource layer but also delivers the results prepared by the resource layer to the translation layer. The resource layer provides an abstraction of the distributed resources. The resource management is implemented at the user level. For memory sharing, the resource layer creates a copy called the shadow page for each shared page. The shadow page can be used to detect the updates to a page.

content_based_memory_sharing.txt · Last modified: 2013/05/14 20:47 by lyu     Back to top