This project is the simulation of page based distributed shared memory originally called IVY proposed by Li in 1986 and then by Li and Hudak in 1989. The 'Page Based Distributed Shared Memory System' consists of a collection of clients or workstations connected to a server by a Local Area Network. The server contains a shared memory segment within which the distributed database is located. The shared memory segment is divided in the form of pages and hence the name 'Page Based Distributed Shared Memory System' where each page represents a table within that distributed database. In the simplest variant, each page is present on exactly one machine. A reference to a local page is done at full memory speed. An attempt to reference a page on a different machine causes a page fault, which is trapped by the software. The software then sends a message to the remote machine, which finds the needed page and sends it to the requesting process. The fault is then restarted and can now complete, which is achieved with the help of Inter Process Communication (IPC) library. In essence, this design is similar to traditional virtual memory systems: when a process touches a nonresident page, a fault occurs and the operating system fetches the page and maps it in. The difference here is that instead of getting the page from the disk, the software gets it from another processor over the network. To the user process, however, the system looks very much like a traditional multiprocessor, with multiple processes are free to read and write the shared memory at will. All communication and synchronization is done via the memory, with no communication visible to the user process. The approach is not to share the entire address space, but only a selected portion of it, namely just those variables or data structures that needs to be used by more than one process. With respect to a distributed database system, and in this model, the shared variables represent the pages or tables within the shared memory segment. One does not think of each machine as having direct access to an ordinary memory but rather, to a collection of shared variables, giving a higher level of abstraction. This approach greatly reduces the amount of data that must be shared, but in most cases, considerable information about the shared data is available, such as their types, which helps optimize the implementation. Page-based distributed-shared memory takes a normal linear address space and allows the pages to migrate dynamically over the network on demand. Processes can access all of memory using normal read and write instructions and are not aware of when page faults or network transfers occur. Accesses to remote data are detected and protected by the memory management unit. In order to facilitate optimization, the shared variables or tables are replicated on multiple machines. Potentially, reads can be done locally without any network traffic, and writes are done using a multicopy update protocol. This protocol is widely used in distributed database system. The main purpose of this simulation is to discuss the issues in a Distributed Database System and how they can be overcome with the help of a Page Based Distributed Shared Memory System. In a Distributed Database System, multiple clients can read data from or write data to the database. The main issue in such a type of a system is achieving Consistency171. Consistency is defined as "Any read to a location within the database returns the value stored by the most recent write operation to that location within the database" m. Since multiple clients are trying to perform various operations on the same database, it is difficult to ensure that the requesting client gets the most recent copy of the database.
Library of Congress Subject Headings
Memory management (Computer science); Distributed shared memory; Electronic data processing--Distributed processing
Department, Program, or Center
Information Sciences and Technologies (GCCIS)
Raman, Padmanabhan, "Design and implementation of page based distributed shared memory in distributed database systems" (1999). Thesis. Rochester Institute of Technology. Accessed from
RIT – Main Campus