Title :
Evaluating MapReduce for Multi-core and Multiprocessor Systems
Author :
Ranger, Colby ; Raghuraman, Ramanan ; Penmetsa, Arun ; Bradski, Gary ; Kozyrakis, Christos
Author_Institution :
Comput. Syst. Lab., Stanford Univ., CA
Abstract :
This paper evaluates the suitability of the MapReduce model for multi-core and multi-processor systems. MapReduce was created by Google for application development on data-centers with thousands of servers. It allows programmers to write functional-style code that is automatically parallelized and scheduled in a distributed system. We describe Phoenix, an implementation of MapReduce for shared-memory systems that includes a programming API and an efficient runtime system. The Phoenix runtime automatically manages thread creation, dynamic task scheduling, data partitioning, and fault tolerance across processor nodes. We study Phoenix with multi-core and symmetric multiprocessor systems and evaluate its performance potential and error recovery features. We also compare MapReduce code to code written in lower-level APIs such as P-threads. Overall, we establish that, given a careful implementation, MapReduce is a promising model for scalable performance on shared-memory systems with simple parallel code
Keywords :
fault tolerance; multi-threading; multiprocessing systems; performance evaluation; scheduling; MapReduce; Phoenix; data partitioning; distributed system; dynamic task scheduling; error recovery; fault tolerance; functional-style code; multicore system; multiprocessor system; programming API and; shared-memory systems; thread creation; Concurrent computing; Dynamic scheduling; Fault tolerance; Laboratories; Multiprocessing systems; Parallel programming; Processor scheduling; Programming profession; Runtime; Yarn;
Conference_Titel :
High Performance Computer Architecture, 2007. HPCA 2007. IEEE 13th International Symposium on
Conference_Location :
Scottsdale, AZ
Print_ISBN :
1-4244-0805-9
Electronic_ISBN :
1-4244-0805-9
DOI :
10.1109/HPCA.2007.346181