Resource Provisioning Framework for MapReduce Jobs with Performance Goals
Abstract
Many companies are increasingly using MapReduce for efficient large scale data processing such as personalized advertising, spam detection, and different data mining tasks. Cloud computing offers an attractive option for businesses to rent a suitable size Hadoop cluster, consume resources as a service, and pay only for resources that were utilized. One of the open questions in such environments is the amount of resources that a user should lease from the service provider. Often, a user targets specific performance goals and the application needs to complete data processing by a certain time deadline. However, currently, the task of estimating required resources to meet application performance goals is solely the users’ responsibility. In this work, we introduce a novel framework and technique to address this problem and to offer a new resource sizing and provisioning service in MapReduce environments. For a MapReduce job that needs to be completed within a certain time, the job profile is built from the job past executions or by executing the application on a smaller data set using an automated profiling tool. Then, by applying scaling rules combined with a fast and efficient capacity planning model, we generate a set of resource provisioning options. Moreover, we design a model for estimating the impact of node failures on a job completion time to evaluate worst case scenarios. We validate the accuracy of our models using a set of realistic applications. The predicted completion times of generated resource provisioning options are within 10% of the measured times in our 66-node Hadoop cluster.
Keywords
Completion Time Performance Goal Input Dataset Intermediate Data Hadoop ClusterReferences
- 1.Dean, J., Ghemawat, S.: MapReduce: Simplified data processing on large clusters. Communications of the ACM 51(1), 107–113 (2008)CrossRefGoogle Scholar
- 2.O’Malley, O., Murthy, A.: Winning a 60 second dash with a yellow elephant (2009)Google Scholar
- 3.White, T.: Hadoop: The Definitive Guide, Page 6. Yahoo PressGoogle Scholar
- 4.Graham, R.: Bounds for certain multiprocessing anomalies. Bell System Tech. Journal 45, 1563–1581 (1966)Google Scholar
- 5.Ko, S., Hoque, I., Cho, B., Indranil Gupta, I.: On Availability of Intermediate Data in Cloud Computations. In: Proceedings of HotOS 2009 (2009)Google Scholar
- 6.Kwak, H., Lee, C., Park, H., Moon, S.: What is Twitter, a social network or a news media?. In: Proc. of Intl. Conference on World Wide Web, pp. 591–600. ACM (2010)Google Scholar
- 7.Apache, Capacity Scheduler Guide (2010), http://hadoop.apache.org/common/docs/r0.20.1/capacity_scheduler.html
- 8.Zaharia, M., Borthakur, D., Sen Sarma, J., Elmeleegy, K., Shenker, S., Stoica, I.: Delay scheduling: A simple technique for achieving locality and fairness in cluster scheduling. In: Proc. of EuroSys, pp. 265–278. ACM (2010)Google Scholar
- 9.Isard, M., Prabhakaran, V., Currey, J., Wieder, U., Talwar, K., Goldberg, A.: Quincy: fair scheduling for distributed computing clusters. In: SOSP. ACM (2009)Google Scholar
- 10.Isard, M., Budiu, M., Yu, Y., Birrell, A., Fetterly, D.: Dryad: distributed data-parallel programs from sequential building blocks. ACM SIGOPS OS Review 41(3) (2007)Google Scholar
- 11.Sandholm, T., Lai, K.: Dynamic Proportional Share Scheduling in Hadoop. In: Frachtenberg, E., Schwiegelshohn, U. (eds.) JSSPP 2010. LNCS, vol. 6253, pp. 110–131. Springer, Heidelberg (2010)CrossRefGoogle Scholar
- 12.Wolf, J., Rajan, D., Hildrum, K., Khandekar, R., Kumar, V., Parekh, S., Wu, K.-L., Balmin, A.: FLEX: A Slot Allocation Scheduling Optimizer for MapReduce Workloads. In: Gupta, I., Mascolo, C. (eds.) Middleware 2010. LNCS, vol. 6452, pp. 1–20. Springer, Heidelberg (2010)CrossRefGoogle Scholar
- 13.Polo, J., Carrera, D., Becerra, Y., Torres, J., Ayguadé, E., Steinder, M., Whalley, I.: Performance-driven task co-scheduling for mapreduce environments. In: 12th IEEE/IFIP Network Operations and Management Symposium (2010)Google Scholar
- 14.Ganapathi, A., Chen, Y., Fox, A., Katz, R., Patterson, D.: Statistics-driven workload modeling for the cloud. In: Proceedings of SMDB (2010)Google Scholar
- 15.Morton, K., Balazinska, M., Grossman, D.: ParaTimer: a progress indicator for MapReduce DAGs. In: Proceedings of SIGMOD, pp. 507–518. ACM (2010)Google Scholar
- 16.Olston, C., Reed, B., Srivastava, U., Kumar, R., Tomkins, A.: Pig latin: a not-so-foreign language for data processing. In: Proceedings of SIGMOD, pp. 1099–1110. ACM (2008)Google Scholar
- 17.Morton, K., Friesen, A., Balazinska, M., Grossman, D.: Estimating the progress of MapReduce pipelines. In: Proceedings of ICDE, pp. 681–684. IEEE (2010)Google Scholar
- 18.Phan, L., Zhang, Z., Loo, B., Lee, I.: Real-time MapReduce Scheduling. In: Technical Report No. MS-CIS-10-32, University of Pennsylvania (2010)Google Scholar
- 19.Zaharia, M., Konwinski, A., Joseph, A., Katz, R., Stoica, I.: Improving mapreduce performance in heterogeneous environments. In: OSDI (2008)Google Scholar
- 20.Verma, A., Cherkasova, L., Campbell, R.: ARIA: Automatic Resource Inference and Allocation for MapReduce Environments. In: Proc. of ICAC (2011)Google Scholar
- 21.Verma, A., Cherkasova, L., Campbell, R.: SLO-Driven Right-Sizing and Resource Provisioning of MapReduce Jobs. In: Proc. of Workshop on Large Scale Distributed Systems and Middleware, LADIS (2011)Google Scholar
- 22.Tan, J., Pan, X., Kavulya, S., Marinelli, E., Gandhi, R., Narasimhan, P.: Kahuna: Problem Diagnosis for MapReduce-based Cloud Computing Environments. In: NOMS (2010)Google Scholar
- 23.Tan, J., Kavulya, S., Gandhi, R., Narasimhan, P.: Visual, Log-Based Causal Tracing for Performance Debugging of MapReduce Systems. In: ICDCS, pp. 795–806. IEEE (2010)Google Scholar
- 24.Ananthanarayanan, G., Kandula, S., Greenberg, A., Stoica, I., Lu, Y., Saha, B., Harris, E.: Reining in the Outliers in Map-Reduce Clusters using Mantri. In: OSDI (2010)Google Scholar
- 25.Intel, Optimizing Hadoop* Deployments, (2010), http://communities.intel.com/docs/DOC-4218
- 26.Kambatla, K., Pathak, A., Pucha, H.: Towards optimizing hadoop provisioning in the cloud. In: Proc. of the First Workshop on Hot Topics in Cloud Computing (2009)Google Scholar