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...
        Saved in:
      
    
          | Published in | 2010 IEEE 12th International Conference on High Performance Computing and Communications pp. 491 - 496 | 
|---|---|
| Main Authors | , , , , , , | 
| Format | Conference Proceeding | 
| Language | English Japanese  | 
| Published | 
            IEEE
    
        01.09.2010
     | 
| Subjects | |
| Online Access | Get full text | 
| ISBN | 9781424483358 1424483352  | 
| DOI | 10.1109/HPCC.2010.114 | 
Cover
| 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 |