Font Size: a A A

Performance portability and scalability in shared-address-space multiprocessing

Posted on:2001-06-05Degree:Ph.DType:Dissertation
University:Princeton UniversityCandidate:Jiang, DongmingFull Text:PDF
GTID:1468390014456186Subject:Computer Science
Abstract/Summary:
Parallel machines have achieved a level of convergence and functional portability such that the same major programming models can be implemented on a variety of communication architectures. While the basic node architectures are similar across scalable systems, two distinct types of communication architectures currently dominate: tightly-coupled machines, which provide specialized hardware support for programming models, and clusters of nodes connected by a commodity system area network, which do not provide such hardware support. Ideally, successful programming models should be easy to use and should perform well on both types of architectures.;A coherent shared address space (SAS) is an attractive programming model for parallel machines since it provides ease of programming and a graceful migration path from uniprocessor systems. Users would prefer to write an application once in this model and have it be both scalable and performance portable across different types of platforms. However, while past research has shown that a coherent SAS is successful at moderate scale on tightly-coupled systems, its performance portability to clusters and its scalability on both types of systems has been unclear.;This dissertation examines these questions through research in both applications and systems, articulating a structured framework for exploring these questions and for application restructuring. By doing so on the hardware cache-coherent architectures as well as the commodity communication architecture with page-grained shared virtual memory, we show for the first time that portable and scalable performance can indeed be achieved for a wide range of SAS applications. Despite restructuring, the algorithmic and especially programming complexity for irregular programs are still much lower than what is needed in the message passing model.;This is good news for the programming model. However, substantial application restructuring is nonetheless needed, and it is often algorithmic in nature. Fortunately, the application structuring techniques for performance portability across platform types are usually along the same directions as those needed for scalability on aggressive, hardware-supported SAS platforms. This suggests that it may be possible to construct common programming guidelines for achieving both performance portability and scalability, which will be an important step in addressing the critical problem of parallel programming.
Keywords/Search Tags:Portability, Programming, Scalability, SAS
Related items