skip to main content
10.1145/1996092.1996095acmconferencesArticle/Chapter ViewAbstractPublication PageshpdcConference Proceedingsconference-collections
research-article

Phoenix++: modular MapReduce for shared-memory systems

Published:08 June 2011Publication History

ABSTRACT

This paper describes our rewrite of Phoenix, a MapReduce framework for shared-memory CMPs and SMPs. Despite successfully demonstrating the applicability of a MapReduce-style pipeline to shared-memory machines, Phoenix has a number of limitations; its uniform intermediate storage of key-value pairs, inefficient combiner implementation, and poor task overhead amortization fail to efficiently support a wide range of MapReduce applications, encouraging users to manually circumvent the framework. We describe an alternative implementation, Phoenix++, that provides a modular, flexible pipeline that can be easily adapted by the user to the characteristics of a particular workload. Compared to Phoenix, this new approach achieves a 4.7-fold performance improvement and increased scalability, while allowing users to write simple, strict MapReduce code.

References

  1. R. Chen, H. Chen, and B. Zang. Tiled-MapReduce: Optimizing resource usages of data-parallel applications on multicore with tiling. In Proc. of the 19th Int'l Conference on Parallel Architectures and Compilation Techniques, pages 523--534, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. O. Coplien. Curiously recurring template patterns. C++ Rep., 7:24--27, February 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. Dean and S. Ghemawat. MapReduce: Simplified data processing on large clusters. In Proc. of the 6th Symposium on Operating Systems Design & Implementation, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. B. He, W. Fang, Q. Luo, N. K. Govindaraju, and T. Wang. Mars: a MapReduce framework on graphics processors. In Proc. of the 17th Int'l Conference on Parallel Architectures and Compilation Techniques, pages 260--269, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. Henderson. Boost.MapReduce. http://www.craighenderson.co.uk/mapreduce.Google ScholarGoogle Scholar
  6. Intel Corporation. Threading Building Blocks. http://www.threadingbuildingblocks.org.Google ScholarGoogle Scholar
  7. W. Jiang, V. T. Ravi, and G. Agrawal. A Map-Reduce system with an alternate API for multi-core environments. In Proc. of the 10th IEEE/ACM Int'l Symposium on Cluster, Cloud, and Grid Computing, pages 84--93, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Y. Mao, R. Morris, and F. Kaashoek. Optimizing MapReduce for multicore architectures. Technical Report MIT-CSAIL-TR-2010-020, 2010.Google ScholarGoogle Scholar
  9. C. Ranger, R. Raghuraman, A. Penmetsa, G. Bradski, and C. Kozyrakis. Evaluating MapReduce for multi-core and multiprocessor systems. In Proc. of the 13th Int'l Symposium on High Performance Computer Architecture, pages 13--24, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Stanford University. The Phoenix system for MapReduce programming. http://mapreduce.stanford.edu.Google ScholarGoogle Scholar
  11. The Apache Software Foundation. Hadoop. http://hadoop.apache.org.Google ScholarGoogle Scholar
  12. R. M. Yoo, A. Romano, and C. Kozyrakis. Phoenix rebirth: Scalable MapReduce on a large-scale shared-memory system. In Proc. of the 2009 IEEE Int'l Symposium on Workload Characterization, pages 198--207, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Phoenix++: modular MapReduce for shared-memory systems

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          MapReduce '11: Proceedings of the second international workshop on MapReduce and its applications
          June 2011
          82 pages
          ISBN:9781450307000
          DOI:10.1145/1996092

          Copyright © 2011 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 8 June 2011

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Upcoming Conference

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader