Title
Abstracting Multi-Core Topologies with MCTOP.
Abstract
Portability and efficiency are usually antagonists in multi-core computing. In order to develop efficient code, one needs to take into account the topology of the target multi-cores (e.g., for locality). This clearly hampers code portability. In this paper, we show that you can have the cake and eat it too. We introduce MCTOP, an abstraction of multi-core topologies augmented with important low-level hardware information, such as memory bandwidths and communication latencies. We show how to automatically generate MCTOP using libmctop, our library that leverages the determinism of cache-coherence protocols to infer the topology of multi-cores using only latency measurements. MCTOP enables developers to accurately and portably define high-level performance optimization policies. We illustrate several such policies through four examples: (i-ii) thread placement in OpenMP and in a MapReduce library, (iii) a topology-aware mergesort algorithm, as well as (iv) automatic backoff schemes for locks. We illustrate the portability of these optimizations on five processors from Intel, AMD, and Oracle, with low effort.
Year
DOI
Venue
2017
10.1145/3064176.3064194
EuroSys
Field
DocType
Citations 
Locality,Abstraction,Merge sort,Computer science,Parallel computing,Oracle,Network topology,Real-time computing,Thread (computing),Software portability,Multi-core processor,Distributed computing
Conference
2
PageRank 
References 
Authors
0.38
40
4
Name
Order
Citations
PageRank
Georgios Chatzopoulos1112.52
Rachid Guerraoui26364430.90
Tim Harris35393417.21
Vasileios Trigonakis41166.43