Improving the Performance of Shared Virtual Memory on System Area Networks (Thesis)

Report ID: TR-586-98
Author: Bilas, Angelos
Date: 1998-11-00
Pages: 242
Download Formats: |Postscript|
Abstract:

As clusters of workstations, uniprocessor or symmetric multiprocessors (SMPs), become important platforms for parallel computing, there is increasing research interest in supporting the attractive, shared address space programming model across them in software. The reason is that it may provide successful low-cost, high-performance alternatives to both tightly-coupled, hardware-coherent distributed shared memory machines and to scalable servers. In both these cases, the clusters are formed with off-the-self, high-end PCs or workstations and system area networks that track technologies well. Given that a shared memory abstraction is an attractive programming model for this architecture, there has been a lot of research in fast communication on clusters connected with system area networks and in protocols for supporting software shared memory across them. However, the end performance of applications that were written for the more proven hardware-coherent shared memory is still not very good on these systems.

This dissertation is about improving the performance of shared virtual memory on clusters that are connected with system area networks. In this architecture, three major layers of software (and hardware) stand between the end user and performance, each with its own functionality and performance characteristics. The lowest layer is the communication layer: the communication hardware and the low level software libraries that provide basic messaging facilities. Next is the protocol layer that provides the programming model to the parallel application programmer. Finally, above the programming model or protocol layer runs the application itself. This dissertation improves the performance of shared virtual memory on clusters by studying and improving each of this layers and some of their interactions.