Skip to main content
Log in

On the optimization of schedules for MapReduce workloads in the presence of shared scans

  • Special Issue Paper
  • Published:
The VLDB Journal Aims and scope Submit manuscript

Abstract

We consider MapReduce clusters designed to support multiple concurrent jobs, concentrating on environments in which the number of distinct datasets is modest relative to the number of jobs. In such scenarios, many individual datasets are likely to be scanned concurrently by multiple Map phase jobs. As has been noticed previously, this scenario provides an opportunity for Map phase jobs to cooperate, sharing the scans of these datasets, and thus reducing the costs of such scans. Our paper has three main contributions over previous work. First, we present a novel and highly general method for sharing scans and thus amortizing their costs. This concept, which we call cyclic piggybacking, has a number of advantages over the more traditional batching scheme described in the literature. Second, we notice that the various subjobs generated in this manner can be assumed in an optimal schedule to respect a natural chain precedence ordering. Third, we describe a significant but natural generalization of the recently introduced FLEX scheduler for optimizing schedules within the context of this cyclic piggybacking paradigm, which can be tailored to a variety of cost metrics. Such cost metrics include average response time, average stretch, and any minimax-type metric—a total of 11 separate and standard metrics in all. Moreover, most of this carries over in the more general case of overlapping rather than identical datasets as well, employing what we will call semi-shared scans. In such scenarios, chain precedence is replaced by arbitrary precedence, but we can still handle 8 of the original 11 metrics. The overall approach, including both cyclic piggybacking and the FLEX scheduling generalization, is called CIRCUMFLEX. We describe some practical implementation strategies. And we evaluate the performance of CIRCUMFLEX via a variety of simulation and real benchmark experiments.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Agrawal, P., Kifer, D., Olston, C.: Scheduling shared scans of large data files. Proc. VLDB Endlow. 958–969 (2008)

  2. Apache ZooKeeper: http://hadoop.apache.org/zookeeper

  3. Balmin, A., Kaldewey, T., Tata, S.: Clydesdale: Structured data processing on Hadoop. Proceedings of SIGMOD (2012)

  4. Blazewicz J., Ecker K., Schmidt G., Weglarz J.: Scheduling in Computer and Manufacturing Systems. Springer, New York (1993)

    Book  MATH  Google Scholar 

  5. Blazewicz J., Kovalyov M., Machowiak M., Trystram D., Weglarz J.: Malleable task scheduling to minimize the makespan. Ann. Oper. Res. 129, 65–80 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  6. Candea G., Polyzotis N., Vingralek R.: Predictable performance and high query concurrency for data. VLDB J. 20(2), 227–248 (2011)

    Article  Google Scholar 

  7. Coffman E., Garey M., Johnson D., Tarjan R.: Performance bounds for level-oriented two-dimensional packing problems. SIAM J. Comput. 9(4), 808–826 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  8. Dean J., Ghemawat S.: MapReduce: simplified data processing on large clusters. ACM Trans. Comput. Syst. 51(1), 107–113 (2008)

    Google Scholar 

  9. Floratou A., Patel J., Shekita E., Tata S.: Column-oriented storage techniques for MapReduce. Proc. VLDB Endow. 4(7), 419–429 (2011)

    Google Scholar 

  10. Hadoop. http://hadoop.apache.org

  11. Harizopoulos, S., Ailamaki, A., Shkapenyuk, V.: QPipe: a simultaneously pipelined relational query. Proceedings of SIGMOD (2005)

  12. Hunt, P., Konar, M., Junqueira, F., Reed, B.: ZooKeeper: wait-free coordination for internet-scale systems. Proceedings of USENIX (2010)

  13. Ibaraki T., Katoh N.: Resource Allocation Problems. MIT Press, Cambridge, MA (1988)

    MATH  Google Scholar 

  14. Kaldeway, T., Shekita, E., Tata S. Clydesdale: Structured data processing on MapReduce. Proceedings of Extending Database Technology (2012)

  15. Knuth D.: The Art of Computer Programming. Addison-Wesley, Reading, MA (1998)

    Google Scholar 

  16. Leung J.E.: Handbook of Scheduling. Chapman and Hall/CRC, London (2004)

    MATH  Google Scholar 

  17. Nykiel T., Potamias M., Mishra C., Kollios G., Koudas N.: MRShare: sharing across multiple queries in MapReduce. Proc. VLDB Endow. 3(1–2), 494–505 (2010)

    Google Scholar 

  18. O’Neil, P., O’Neil, E., Chen, X.: The Star Schema Benchmark (SSB). http://www.cs.umb.edu/poneil/StarSchemaB.PDF

  19. Pinedo M.: Scheduling: Theory, Algorithms and Systems. Prentice Hall, Englewood Cliffs, NJ (1995)

    MATH  Google Scholar 

  20. Qiao, L., Raman, V., Reiss, F., Haas, P., Lohman, G.: Main-memory scan sharing for multi-core CPUS. Proc. VLDB Endow. 610–621 (2008)

  21. Schwiegelshohn U., Ludwig W., Wolf J., Turek J., Yu P.: Smart SMART bounds for weighted response time scheduling. SIAM J. Comput. 28, 237–253 (1999)

    Article  MathSciNet  Google Scholar 

  22. Thusoo, A., Sarma, J., Jain, N., Shao, Z., Chakka, P., Zhang, N., Anthony, S., Liu, H., Murthy, R.: Hive—a petabyte scale data warehouse using Hadoop. International Conference on Data Engineering (2010)

  23. Turek, J., Wolf, J., Yu, P.: Approximate algorithms for scheduling parallelizable tasks. Proceedings of SPAA (1992)

  24. Vernica, R., Balmin, A., Beyer, K., Ercegovac, V.: Adaptive MapReduce using situation-aware mappers. Proceedings of Extending Database Technology (2012)

  25. Wang, X., Sarma, A., Olston, C.,Burns, R.: CoScan: Cooperative scan sharing in the cloud. Proceedings of SOCC (2011)

  26. Wolf, J.L., Rajan, D., Hildrum, K., Khandekar, R., Kumar, V., Parekh, S., Wu, K.-L., Balmin, A.: FLEX: a slot allocation scheduling optimizer for MapReduce workloads. Proceedings of Middleware (2010)

  27. Wolf J.L., Squillante M.S., Turek J.J., Yu P.S., Sethuraman J.: Scheduling algorithms for the broadcast delivery of digital products. IEEE Trans. Knowl. Data Eng. 13(5), 721–741 (2001)

    Article  Google Scholar 

  28. Zaharia, M.: Hadoop fair scheduler design document. http://svn.apache.org/repos/asf/hadoop/mapreduce/trunk/src/contrib/fairscheduler/designdoc/fair_scheduler_design_doc.pdf

  29. Zaharia, M., Borthakur, D., Sarma, J., Elmeleegy, K., Shenker, S., Stoica, I.: Job scheduling for multi-user MapReduce clusters. Technical Report EECS-2009-55, UC Berkeley Technical Report (2009)

  30. Zaharia, M., Borthakur, D., Sarma, J., Elmeleegy, K., Shenker, S., Stoica, I.: Delay scheduling: a simple technique for achieving locality and fairness in cluster scheduling. Proceedings of EuroSys (2010)

  31. Zukowski, M., Héman, S., Nes, N., Boncz, P.: Cooperative scans: dynamic bandwidth sharing in a DBMS. Proc. VLDB Endow. 723–734 (2007)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Joel Wolf.

Additional information

Rares Vernica is partially supported by NSF grant 0910989.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wolf, J., Balmin, A., Rajan, D. et al. On the optimization of schedules for MapReduce workloads in the presence of shared scans. The VLDB Journal 21, 589–609 (2012). https://doi.org/10.1007/s00778-012-0279-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00778-012-0279-5

Keywords

Navigation