Evaluating Thread Placement Based on Memory Access Patterns for Multi-core Processors

Process placement is a technique widely used on parallel machines with heterogeneous interconnects to reduce the overall communication time. For instance, two processes which communicate frequently are mapped close to each other. Finding the optimal mapping between threads and cores in a shared-memo...

Full description

Saved in:
Bibliographic Details
Published in2010 IEEE 12th International Conference on High Performance Computing and Communications pp. 491 - 496
Main Authors Diener, Matthias, Madruga, Felipe L, Rodrigues, Eduardo L, Alves, Marco A Z, Schneider, Jörg, Navaux, Philippe O A, Heiss, Hans-Ulrich
Format Conference Proceeding
LanguageEnglish
Japanese
Published IEEE 01.09.2010
Subjects
Online AccessGet full text
ISBN9781424483358
1424483352
DOI10.1109/HPCC.2010.114

Cover

More Information
Summary:Process placement is a technique widely used on parallel machines with heterogeneous interconnects to reduce the overall communication time. For instance, two processes which communicate frequently are mapped close to each other. Finding the optimal mapping between threads and cores in a shared-memory environment (for example, OpenMP and Pthreads) is an even more complex task due to implicit communication. In this work, we examine data sharing patterns between threads in different workloads and use those patterns in a similar way as messages are used to map processes in cluster computers. We evaluated our technique on a state-of-the-art multicore processor and achieved moderate improvements in the common case and considerable improvements in some cases, reducing execution time by up to 45%.
ISBN:9781424483358
1424483352
DOI:10.1109/HPCC.2010.114