Memory-aware Thread and Data Mapping for Hierarchical Multi-core Platforms
-
- Henrique Molina da Cruz Eduardo
- UFRGS Federal University of Rio Grande do Sul
-
- Antonio Zanata Alves Marco
- UFRGS Federal University of Rio Grande do Sul
-
- Carissimi Alexandre
- UFRGS Federal University of Rio Grande do Sul
-
- Olivier Alexandre Navaux Philippe
- UFRGS Federal University of Rio Grande do Sul
-
- Pousa Ribeiro Christiane
- Grenoble University
-
- Méhaut Jean-François
- Grenoble University
この論文をさがす
抄録
<p>In parallel programs, the threads of a given application must cooperate in order to accomplish the required computation. However, the communication time between the tasks may be different depending on which core they are executing and how the memory hierarchy and interconnection are used. The problem is even more important in multi-core machines with NUMA characteristics, since the remote access imposes high overhead, making them more sensitive to thread and data mapping. In this context, thread and data mapping are techniques that provide performance gains by improving the use of resources such as interconnections, main memory and cache memory. The problem of detecting the best mapping is considered NP-Hard. Furthermore, in shared memory environments, there is an additional difficulty of finding the communication pattern, which is implicit and occurs through memory accesses. Our mechanism provides static mapping on NUMA architectures which does not require any prior knowledge of the application by the programmer. To obtain the mapping, different metrics were adopted and an heuristic method based on the Edmonds matching algorithm was used. In order to evaluate our proposal, we use the NAS Parallel Benchmarks (NPB) running on two modern multi-core NUMA machines. Results show performance gains of up to 75% compared to the native Linux scheduler and memory allocator.</p>
収録刊行物
-
- International Journal of Networking and Computing
-
International Journal of Networking and Computing 2 (1), 97-116, 2012
IJNC編集委員会