Thread Migration and Load-Balancing in Heterogeneous Environments
LCR '00 Selected Papers from the 5th International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers
Maximizing Speedup through Performance Prediction for Distributed Shared Memory Systems
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
Hi-index | 0.00 |
We describe methods of identifying and exploiting sharing patterns in multi-threaded DSM applications. Active correlation tracking is used to determine the affinity, or amount of sharing, in pairs of threads. Thread affinities are combined to create correlation maps, which summarize sharing between all pairs of threads in the application.Correlation maps can be used in two ways. First, they can be used as an aid for performance tuning, Second, they can be used to estimate the impact on communication requirements of reconfiguring running applications through thread migration. Thread migration provides a way of tuning applications for which sharing information is not known a priori, and a means of adapting to dynamic algorithms or environments.We show that i) accurate thread affinities can be obtained without multiple rounds of migration, ii) thread affinities lead to good approximations of application communication requirements, iii) simple heuristics can use thread affinities to efficiently approximate optimal mappings of threads to nodes, and iv) good placement is essential for high performance.