Resource-Aware MapReduce Runtime for Multi/Many-core Architectures

Konstantinos Iliakisa, Sotirios Xydisb and Dimitrios Soudrisc

Microprocessors and Digital Systems Laboratory, ECE National Technical University of Athens, Athens 15780, Greece
akiliakis@microlab.ntua.gr
bsxydis@microlab.ntua.gr
cdsoudris@microlab.ntua.gr

ABSTRACT

Modern multi/many-core processors exhibit high integration densities, e.g. up to several dozens or hundreds of cores. To ease the application development burden for such systems, various programming frameworks have emerged. The MapReduce programming model, after having demonstrated its usability in the area of distributed systems, has been adapted to the needs of shared-memory many-core and multi-processor systems, showing promising results in comparison with conventional multithreaded libraries, e.g. pthreads. In this paper, we propose a novel resource-aware MapReduce architecture. The proposed runtime decouples map and combine phases in order to enhance the parallelism degree, while it effectively overlaps the memory-intensive combine with the compute-intensive map operation resulting in superior resource utilization and performance improvements. A detailed sensitivity analysis to the framework’s tuning knobs is provided. The decoupled MapReduce architecture is evaluated against the state-of-art library into two diverse systems, i.e. a Haswell server and a Xeon Phi co-processor, demonstrating speedups on average up-to 2.2⨯ and 2.9⨯ respectively.

Keywords: MapReduce, Runtime Systems, Multi-cores.



Full Text (PDF)