Multi-Threading and Remote Latency in Software DSMs

In The 17th International Conference on Distributed Computing Systems (ICDCS), May 1997.

Kritchalach Thitikamol and Pete Keleher



Abstract:
This paper presents an evaluation of the use of per-node multi-threading to hide remote memory and synchronization latencies in a software DSM. As with hardware systems, multi-threading in software systems can be used to reduce the costs of remote requests by switching threads when the current thread blocks. We added multi-threading to the CVM software DSM and evaluated its impact on performance on a suite of common shared memory programs. Multi-threading resulted in speed improvements of at least 10 0n two of the four applications in our suit, and lesser improvements in the other applications. However, we found that i) good performance is not always achievable transparently for non-trivial applications, ii) multi-threading can negatively interact with DSM operations, iii) multi-threading decreases cache and TLB locality, and iv) any multi-threading speedup is dependent on available work. Without dynamic load-balancing, work is often not available. We conclude that multi-threading can be a valuable tool for tolerating latency in distributed system, but feedback from the system to the application programmer is essential to achieving performance on a wide range of applications


@inProceedings{thitikamol-icdcs97,
	title = "Multi-Threading and Remote Latency in Software {DSM}s ",
	author = "Kritchalach Thitikamol and Pete Keleher",
	booktitle = {The 17th International Conference on Distributed Computing Systems (ICDCS)},
	month = {May},
	year = {1997},
}


Available: bibtex, abstract,
Edit