Dynamic software distributed shared memory systems

Knitchalach Thitikamol, Peter J. Keleher · 2000

The performance of parallel applications is often reduced by the following runtime conditions. First, the application may generate large communication volume without completing significant amounts of work. Second, the application may be significantly delayed at barrier synchronization because of load imbalance. Finally, the application may execute on non-dedicated processors, where there is significant contention for resources. Users currently attempt to solve these problems manually. D-CVM, a dynamic software distributed shared memory system (SDSM), uses fast migratory threads and thread re-mappings to adjust application performance automatically. Our thread re-mapping algorithms attempt to minimize communication, balance load, and control the level of parallelism from within the runtime layer. The system, therefore, is able to exploit interactions between applications and the underlying SDSM protocol in order to improve thread locality. We created D-CVM specifically for iterative, data-parallel applications and our empirical results confirmed that D-CVM reduces communication messages and bandwidth usage in adaptive applications, and is able to improve the performance of regular applications in both heterogeneous and nondedicated environments.

Read the paper · More papers on PaperTik