Matching Memory Access Patterns and Data Placement for NUMA Systems
Many recent multi-core multiprocessors are based on a Non-Uniform Memory Architecture (NUMA). A mismatch between the data access patterns of programs and the mapping of data to memory incurs a high overhead, as remote accesses have higher latency and lower throughput than local accesses. This paper reports on a limit study that shows that many scientific loop-parallel programs include multiple, mutually incompatible data access patterns, therefore, these programs encounter a high fraction of costly remote memory accesses. Matching the data distribution of a program to the individual data access patterns is possible, however, it is difficult to find a data distribution that matches all access patterns.