User-level state sharing in distributed systems

Kaydedildi:
Detaylı Bibliyografya
Yayımlandı:ProQuest Dissertations and Theses (1996)
Yazar: Kohli, Prince
Baskı/Yayın Bilgisi:
ProQuest Dissertations & Theses
Konular:
Online Erişim:Citation/Abstract
Full Text - PDF
Etiketler: Etiketle
Etiket eklenmemiş, İlk siz ekleyin!
Diğer Bilgiler
Özet:Clusters of workstations are replacing traditional parallel machines for distributed computing. However, the programming of such clusters is complex as hardware support for shared memory is lacking, besides which the inter-processor communication costs are high. There is thus need for techniques which ease programming without sacrificing performance. A shared memory abstraction is desirable to simplify programming. Thus, many distributed shared memories in cluster environments have been proposed. Efficient implementations employ caching of shared data, which however leads to consistency problems. Though traditional strong consistency can be provided by software, it generally suffers from a high overhead, besides limiting the scalability of the system. Hence, a number of new memory models have been proposed which weaken the guarantees that a memory provides but enhance both performance and scalability. The problem now arises of comparing these memory models to each-other and to explore the relationships between them. Moreover, since no one memory model is good for all applications, we also need a set of mechanisms which can be used to explore a variety of DSM systems as various policies implemented on top. We develop a uniform characterization of shared memory models and use it to define and relate various memories. We also implement a set of hardware and operating system independent mechanisms to facilitate building distributed abstractions such as shared memory. This system, which we call Indigo, is used to program a weak memory model called extended causal memory. Various applications are programmed on this distributed shared memory and as general distributed shared abstractions on top of Indigo. Their performance is compared to the corresponding message passing versions. Various issues like the cost of communication and synchronization are explored. Also investigated are the effects of false sharing on performance. New approaches to reduce or eliminate the false sharing overhead are presented and their effects measured. It is also shown that the overheads of Indigo are low, the implementation is flexible, and using structure and type information for maintaining consistency of shared variables significantly enhances performance. We also demonstrate how false sharing can be detected at run time and any related overhead avoided when false sharing is not actually present.
ISBN:9780591020441
Kaynak:ProQuest Dissertations & Theses Global