Comparison of Shared Virtual Memory across Uniprocessor and SMP Nodes
|Authors:||Bilas, Angelos, Iftode, Liviu, Singh, Jaswinder Pal|
As the workstation market moves form single processor to small-scale shared memory multiprocessors, it is very attractive to construct larger-scale multiprocessors by connecting symmetric multiprocessors (SMPs) with efficient commodity network interfaces such as Myrinet Using a shared virtual memory (SVM) layer for this purpose preserves the shared memory programming abstraction across nodes. We explore the feasibility and performance implications of one such approach by comparing the performance of two SVM protocols on systems with uniprocessor and SMP nodes. AURC (Automatic Update Release Consistency) is a protocol developed for the SHRIMP multicomputer that takes advantage of the available Automatic Update hardware support. HLRC (Home-Based Lazy Release Consistency) is an all-software version of AURC. These protocols were demonstrated to achieve good performance and to outperform earlier all-software systems on configurations with uniprocessor nodes. In this paper we use an architectural simulator and ten applications to investigate the potential of using SMP nodes. Through detailed simulations we find that using SMPs improves performance for most of the applications, because of more sharing, effective prefetching and lower synchronization costs. The protocols, however, exhibit different behavior for some applications. HLRC is in general more robust and predictable, whereas AURC exhibits more problems with contention due to the increased traffic.