Font Size: a A A

Integrating transactions and distributed shared memory for distributed programmin

Posted on:2000-07-09Degree:Ph.DType:Dissertation
University:State University of New York at Stony BrookCandidate:Souto, Pedro Alexandre Guimaraes Lobo FerreiFull Text:PDF
GTID:1468390014967397Subject:Computer Science
Abstract/Summary:
In this dissertation we address the problem of designing and implementing fault-tolerant distributed applications that share a reasonable amount of data in a network of workstations environment. Although the techniques necessary to achieve fault-tolerance are fairly well-known, current practice of design and implementation of distributed applications requires a designer-programmer to customize these techniques to the application at hand. This is unfortunate because this customization is difficult.;The solution we propose is the integration of distributed shared memory (DSM) and transactions, which we call transactional distributed shared memory (TDSM). Essentially, TDSM provides the abstraction of recoverable distributed shared memory that can be accessed in the scope of transactions. All the issues related to concurrency, distribution and failures are hidden from the designer-programmer and are taken care of by the system. Our work focus on two main areas: system support required by TDSM and programming distributed applications using the TDSM model.;To investigate the system support required by the TDSM model, we have designed a facility that supports that model and implemented a prototype of that facility. Our design is novel in that it hinges on the use of the mechanisms provided by a VM subsystem that supports copy-on-write optimizations and on replication in remote main memory. Our prototype shows that the extensions to the VM subsystem required to support the TDSM model are modest, and a large fraction of these extensions stem from our decision to support nested transactions.;To explore programming with the TDSM model, we have designed and implemented two system-oriented applications. The first application, the Xalloc library, is a library that manages recoverable distributed shared memory. It exemplifies a library-based TDSM application, which is the application architecture that takes most advantage of the TDSM model. The Xalloc library also makes it easier to use the TDSM facility, as illustrated by the second application, an emulator of Sun's Network Information System (NIS) that is built on top of the Xalloc library. The design and implementation of the NIS emulator show that programming with the TDSM model is almost as simple as programming a non-distributed transactional-based application.
Keywords/Search Tags:Distributed, TDSM model, Application, Transactions, Programming
Related items