The Community for Technology Leaders
2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA) (2007)
Scottsdale, AZ, USA
Feb. 10, 2007 to Feb. 14, 2007
ISBN: 1-4244-0804-0
pp: 13-24
Ramanan Raghuraman , Computer Systems Laboratory, Stanford University. Email: ramananr@stanford.edu
Christos Kozyrakis , Computer Systems Laboratory, Stanford University. Email: christos@ee.stanford.edu.
Arun Penmetsa , Computer Systems Laboratory, Stanford University. Email: penmetsa@stanford.edu
Colby Ranger , Computer Systems Laboratory, Stanford University. Email: cranger@stanford.edu
Gary Bradski , Computer Systems Laboratory, Stanford University. Email: garybradski@gmail.com
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 automaticatlly 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 run-time 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.
INDEX TERMS
null
CITATION
Ramanan Raghuraman, Christos Kozyrakis, Arun Penmetsa, Colby Ranger, Gary Bradski, "Evaluating MapReduce for Multi-core and Multiprocessor Systems", 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA), vol. 00, no. , pp. 13-24, 2007, doi:10.1109/HPCA.2007.346181
91 ms
(Ver 3.3 (11022016))