skip to main content
research-article

Garbage collection auto-tuning for Java mapreduce on multi-cores

Authors Info & Claims
Published:04 June 2011Publication History
Skip Abstract Section

Abstract

MapReduce has been widely accepted as a simple programming pattern that can form the basis for efficient, large-scale, distributed data processing. The success of the MapReduce pattern has led to a variety of implementations for different computational scenarios. In this paper we present MRJ, a MapReduce Java framework for multi-core architectures. We evaluate its scalability on a four-core, hyperthreaded Intel Core i7 processor, using a set of standard MapReduce benchmarks. We investigate the significant impact that Java runtime garbage collection has on the performance and scalability of MRJ. We propose the use of memory management auto-tuning techniques based on machine learning. With our auto-tuning approach, we are able to achieve MRJ performance within 10% of optimal on 75% of our benchmark tests.

References

  1. Hadoop: Open source implementation of mapreduce. http://lucene.apache.org/hadoop/.Google ScholarGoogle Scholar
  2. Jsr-166, prelease of java.util.concurrent package. http://gee.cs.oswego.edu/dl/concurrency-interest/index.html.Google ScholarGoogle Scholar
  3. Organizations using hadoop. http://wiki.apache.org/hadoop/PoweredBy.Google ScholarGoogle Scholar
  4. E. Allen, D. Chase, C. Flood, V. Luchangco, J.-W. Maessen, S. Ryu, and G. L. Steele Jr. Project Fortress: A multicore language for multicore processors. Linux Magazine, Sep 2007.Google ScholarGoogle Scholar
  5. M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski, G. Lee, D. Patterson, A. Rabkin, I. Stoica, and M. Zaharia. A view of cloud computing. Communications of the ACM, 53:50--58, April 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Bhadauria, V. M. Weaver, and S. A. McKee. Understanding PARSEC performance on contemporary CMPs. In Proceedings of the 2009 International Symposium on Workload Characterization, October 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. Blumofe, C. Joerg, B. Kuszmaul, C. Leiserson, K. Randall, and Y. Zhou. Cilk: An efficient multithreaded runtime system. In Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming, pages 207--216, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. L. Breiman. Random forests. Machine Learning, 45(1):5--32, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. P. Charles, C. Donawa, K. Ebcioglu, C. Grothoff, A. Kielstra, C. von Praun, V. Saraswat, and V. Sarkar. X10: An object-oriented approach to non-uniform clustered computing. In Proceedings of OOPSLA 2005, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. C. Chu, S. Kim, Y. Lin, Y. Yu, G. Bradski, A. Ng, and K. Olukotun. Map-reduce for machine learning on multicore. In Advances in Neural Information Processing Systems, page 281, 2007.Google ScholarGoogle Scholar
  11. S. Daruru, N. M. Marin, M. Walker, and J. Ghosh. Pervasive parallelism in data mining: dataflow solution to co-clustering large and sparse netflix data. In KDD '09: Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining, pages 1115--1124, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. de Kruijf and K. Sankaralingam. MapReduce for the CELL B.E. architecture. IBM Journal of Research and Development, 53(5), 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Dean and S. Ghemawat. MapReduce: simplified data processing on large clusters. In Proceedings of the 6th symposium on operating systems design and implementation, pages 137--150, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Dean and S. Ghemawat. MapReduce: simplified data processing on large clusters. Communications of the ACM, 51(1):107--113, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. D. DeWitt and M. Stonebraker. MapReduce: A major step backwards. The Database Column, 2008.Google ScholarGoogle Scholar
  16. J. Ekanayake, S. Pallickara, and G. Fox. MapReduce for data intensive scientific analyses. In Fourth IEEE International Conference on eScience, pages 277--284, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. Fitzgerald and D. Tarditi. The case for profile-directed selection of garbage collectors. In Proceedings of the 2nd International Symposium on Memory Management, pages 111--120, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Google. Appengine. http://code.google.com/appengine/.Google ScholarGoogle Scholar
  19. M. Hall, E. Frank, G. Holmes, B. Pfahringer, P. Reutemann, and I. H. Witten. The WEKA data mining software: An update. SIGKDD Explorations, 11(1), 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. Hauswirth, P. Sweeney, A. Diwan, and M. Hind. Vertical profiling: understanding the behavior of object-oriented applications. ACM SIGPLAN Notices, 39(10):251--269, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. B. He, W. Fang, Q. Luo, N. Govindaraju, and T. Wang. Mars: a MapReduce framework on graphics processors. In Proceedings of the 17th international conference on parallel architectures and compilation techniques, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Intel. Single-chip cloud computer, 2009. http://techresearch.intel.com/UserFiles/en-us/File/terascale/SCC-Overview.pdf.Google ScholarGoogle Scholar
  23. G. Kovoor, J. Singer, and M. Lujan. Building a Java mapreduce framework for multi-core architectures. In Proceedings of the Third Workshop on Programmability Issues for Multi-Core Computers, pages 87--98, 2010.Google ScholarGoogle Scholar
  24. D. Lea. A java fork/join framework. In Proceedings of the ACM conference on Java Grande, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. D. Leijen, W. Schulte, and S. Burckhardt. The design of a task parallel library. In Proceeding of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications, pages 227--242, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. F. Mao and X. Shen. Cross-input learning and discriminative prediction in evolvable virtual machines. In Proceedings of the 7th annual IEEE/ACM International Symposium on Code Generation and Optimization, pages 92--101, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. F. Mao, E. Z. Zhang, and X. Shen. Influence of program inputs on the selection of garbage collectors. In Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, pages 91--100, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. T. Printezis. Hot-swapping between a mark&sweep and a mark&compact garbage collector in a generational environment. In Proceedings of the 1st Java Virtual Machine Research and Technology Symposium, pages 171--184, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. T. Printezis and D. Detlefs. A generational mostly-concurrent garbage collector. In Proceedings of the 2nd international symposium on Memory management, pages 143--154, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. J. R. Quinlan. Induction of decision trees. Machine Learning, 1(1):81--106, 1986. Google ScholarGoogle ScholarCross RefCross Ref
  31. C. Ranger, R. Raghuraman, A. Penmetsa, G. Bradski, and C. Kozyrakis. Evaluating mapreduce for multi-core and multiprocessor systems. In Proceedings of the 13th International Symposium on High Performance Computer Architecture, pages 13--24, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. R. Rifkin and A. Klautau. In defense of one-vs-all classification. Journal of Machine Learning Research, 5:101--142, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. X. Shen, F. Mao, K. Tian, and E. Z. Zhang. The study and handling of program inputs in the selection of garbage collectors. ACM SIGOPS Operating Systems Review, 43:48--61, July 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. J. Singer, G. Brown, I. Watson, and J. Cavazos. Intelligent selection of application-specific garbage collectors. In Proceedings of the 6th International Symposium on Memory Management, pages 91--102, Oct 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. S. Soman, C. Krintz, and D. F. Bacon. Dynamic selection of application-specific garbage collectors. In Proceedings of the 4th International Symposium on Memory Management, pages 49--60, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. P. Viola and M. Jones. Rapid object detection using a boosted cascade of simple features. In Proc. IEEE Conf. on Computer Vision and Pattern Recognition, pages 511--518, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  37. H.-C. Yang, A. Dasdan, R.-L. Hsiao, and D. S. Parker. Map-reduce-merge: simplified relational data processing on large clusters. In Proceedings of the 2007 ACM SIGMOD international conference on Management of data, pages 1029--1040, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. R. Yoo, A. Romano, and C. Kozyrakis. Phoenix rebirth: Scalable MapReduce on a NUMA system. In Proceedings of the International Symposium on Workload Characterization, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. C. Zhang and M. Hirzel. Online phase-adaptive data layout selection. In ECOOP 2008 Object-Oriented Programming, pages 309--334, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Y. Zhao, J. Shi, K. Zheng, H. Wang, H. Lin, and L. Shao. Allocation wall: a limiting factor of Java applications on emerging multi-core platforms. ACM SIGPLAN Notices, 44(10):361--376, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Garbage collection auto-tuning for Java mapreduce on multi-cores

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

Full Access

  • Published in

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 46, Issue 11
    ISMM '11
    November 2011
    135 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2076022
    Issue’s Table of Contents
    • cover image ACM Conferences
      ISMM '11: Proceedings of the international symposium on Memory management
      June 2011
      148 pages
      ISBN:9781450302630
      DOI:10.1145/1993478

    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: 4 June 2011

    Check for updates

    Qualifiers

    • research-article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader