DSpace@MIT (Massachusetts Institute of Technology) · 2010 · 115 citations · 14 references
Open access
MapReduce, a data‑parallel programming model originally designed for data centers, simplifies parallel programming by hiding synchronization and task management, making it a promising approach for many‑core processors, as demonstrated by competitive performance of libraries such as Phoenix. This study seeks to design efficient data structures for grouping intermediate key/value pairs in MapReduce on multicore processors and to introduce Metis, a library featuring a compromise data structure that performs well across diverse workloads. The authors develop and implement a new compromise data structure for grouping intermediate key/value pairs and provide the Metis library to evaluate its performance on multicore systems. The optimal data structure depends on workload characteristics such as key count and repetition, and experiments on a 16‑core AMD server show that Metis outperforms simpler alternatives, including Phoenix.
MapReduce is a programming model for data-parallel programs originally intended for data centers. MapReduce simplifies parallel programming, hiding synchronization and task management. These properties make it a promising programming model for future processors with many cores, and existing MapReduce libraries such as Phoenix have demonstrated that applications written with MapReduce perform competitively with those written with Pthreads [11]. This paper explores the design of the MapReduce data structures for grouping intermediate key/value pairs, which is often a performance bottleneck on multicore processors. The paper finds the best choice depends on workload characteristics, such as the number of keys used by the application, the degree of repetition of keys, etc. This paper also introduces a new MapReduce library, Metis, with a compromise data structure designed to perform well for most workloads. Experiments with the Phoenix benchmarks on a 16-core AMD-based server show that Metis’ data structure performs better than simpler alternatives, including Phoenix.
14
Sanjay Ghemawat · Communications of the ACM · 2008 · 18.4K citations · Full text
Michael Isard, Mihai Budiu, Yuan Yu et al. · 2007 · 2.4K citations
Christopher Olston, Benjamin Reed, Utkarsh Srivastava et al. · 2008 · 1.7K citations
A comparison of approaches to large-scale data analysis
Andrew Pavlo, Erik K. Paulson, Alexander Rasin et al. · 2009 · 1.1K citations
Evaluating MapReduce for Multi-core and Multiprocessor Systems
Colby Ranger, R. Raghuraman, Arun Penmetsa et al. · 2007 · 964 citations