Tolerating latency in software distributed shared memory systems through non-binding prefetching
Charles Quoc Cuong Chan · Library and Archives Canada (Government of Canada) · 1998
A key obstacle to achieving high performance on software distributed shared memory (DSM) systems is their high memory latencies. Software-controlled prefetching tolerates memory latency by overlapping computation with communication. This thesis proposes and evaluates an implementation of software-controlled non-binding prefetching on a software DSM called TreadMarks. With programmer-inserted prefetching, all of our applications achieve better performance. The overall speedup ranges from 4 % to 29%. In addition, we observe that the performance of compiler-inserted prefetching matches that of programmer-inserted prefetching in a few cases. We also investigate prefetching with runtime information. Although using dynamic information to issue prefetches can overcome some of the limitations of statically inserted prefetches, the overheads of this approach often more than o set any gain in memory performance. Finally, we evaluate the combined e ects of prefetching and multithreading on application performance. In several cases, the combined approach outperforms either technique alone, but the overall results are mixed.