Fast communication facilities spur on research of Distributed Shared Memory (DSM). DSM is a resource management component which implements a virtual shared memory abstraction on top of distributed memory systems. In this paper, we quantitatively analyze the performance of memory coherence protocols for DSM. We analyze reference behavior of parallel applications using cost functions.
We first characterized write access faults on shared pages according to computational granularity of average write-run length. Then, we developed functions to estimate the memory access cost for each fault. We also examined the memory access patterns and sharing behaviors of parallel applications with consideration on the network packet size and speed. The results of our analysis show that the performance is sensitive to access patterns of parallel threads.
The write-invalidate is a good protocol for many applications, especially with large page size, variable packet size and small re-read accesses. The write-update protocol is preferable when a page was completely shared between cooperating threads, or when the number of replicated copies is small, or when read follows immediately after writes. We will use our results to predict which protocol is effective for different workloads and propose the guideline for designing coherence protocols in DSM.