2002 · 31 citations · 16 references
ComputingComputer EngineeringComputer ScienceHardware-software Co-designOperating SystemsParallel ComputingCache Behavior AnalysisCache CoherenceCachingLatency HidingLatency OptimizationRemote Memory AccessExecution Latency HidingMemory Latency OptimizationMemory Locality OptimizationRemote Access LatencyRemote Memory Access OverheadShared Memory ManagementSynchronizationSynchronization Overhead Reduction
This paper evaluates 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 for a suite of common shared memory programs. Multi-threading resulted in speed improvements of at least 17% in three of the seven applications in our suite, and lesser improvements in the other applications. However, we found that: good performance is not always achievable transparently for non-trivial applications; multi-threading can negatively interact with DSM operations; multi-threading decreases cache and TLB locality; and any multi-threading speedup is dependent on available work.
16
Steven Cameron Woo, Moriyoshi Ohara, Evan Torrie et al. · 1995 · 3.6K citations · Full text
The SPLASH-2 programs: characterization and methodological considerations
Sandi Woo, Moriyoshi Ohara, Evan Torrie et al. · 2002 · 1.6K citations
TreadMarks: shared memory computing on networks of workstations
Cristiana Amza, Alan L. Cox, Sandhya Dwarkadas et al. · Computer · 1996 · 834 citations · Full text