Thread Scheduling and Grain Emulation in Software-DSM Systems

K. Thitikamol (Thailand) and P.J. Keleher (USA)


Multithreaded DSM, Thread Scheduling, Grain Emulation


Many multithreaded systems implement dynamic threads because they allow computation grain to be customized and match available cycles on the fly. In contrast, systems using static threads must rely on users to select a proper degree of multithreading in order to achieve maximum performance. In this paper, we present two algorithms that together provide multithreading performance transparency in a software-DSM system, called CVM. First, our grain emulation algorithm allows static-thread systems to emulate runtime effects of dynamic threads without changing thread implementation. Second, our grain selection algorithm attempts to decide grain size and maximize multithreading performance at runtime. Our experimental results using five shared memory parallel applications showed that performance effects of emulated grain were consistent with the effects of actual grain in all except two occasions where grain emulations caused unexpected changes in FFT and Shpatial’s DSM actions. When we applied grain selection algorithm, CVM produced 30% improvement in Barnes with 64 threads. Other applications also showed some improvements but much less noticeable than Barnes.

Important Links:

Go Back