C 2012 Brian Cho
Total Page:16
File Type:pdf, Size:1020Kb
c 2012 Brian Cho SATISFYING STRONG APPLICATION REQUIREMENTS IN DATA-INTENSIVE CLOUD COMPUTING ENVIRONMENTS BY BRIAN CHO DISSERTATION Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science in the Graduate College of the University of Illinois at Urbana-Champaign, 2012 Urbana, Illinois Doctoral Committee: Associate Professor Indranil Gupta, Chair Professor Tarek F. Abdelzaher Assistant Professor P. Brighten Godfrey Dr. Marcos K. Aguilera, Microsoft Research Silicon Valley Abstract In today's data-intensive cloud systems, there is a tension between resource limitations and strict requirements. In an effort to scale up in the cloud, many systems today have unfortunately forced users to relax their requirements. However, users still have to deal with constraints, such as strict time dead- lines or limited dollar budgets. Several applications critically rely on strongly consistent access to data hosted in clouds. Jobs that are time-critical must re- ceive priority when they are submitted to shared cloud computing resources. This thesis presents systems that satisfy strong application requirements, such as consistency, dollar budgets, and real-time deadlines, for data-intensive cloud computing environments, in spite of resource limitations, such as band- width, congestion, and resource costs, while optimizing system metrics, such as throughput and latency. Our systems cover a wide range of environments, each with their own strict requirements. Pandora gives cloud users with deadline or budget constraints the optimal solution for transferring bulk data within these constraints. Vivace provides applications with a strongly consis- tent storage service that performs well when replicated across geo-distributed data centers. Natjam ensures that time-critical Hadoop jobs immediately re- ceive cluster resources even when less important jobs are already running. For each of these systems, we designed new algorithms and techniques aimed at making the most of the limited resources available. We implemented the systems and evaluated their performance under deployment using real-world data and execution traces. ii To dad, mom, and David. Thank you for your constant love and support. iii Acknowledgments I would like to thank my advisor, Indranil Gupta. Thank you for your guidance and belief in me. Our meetings have always lifted up my spirits and productivity. I will miss them. I am grateful to my committee members, Marcos Aguilera, Brighten God- frey, and Tarek Abdelzaher. The preliminary and final exams were especially rewarding because of their sharp insights. I would like to thank the members of DPRG. Ramses Morales, Jay Patel, and Steve Ko inspired me, each in their distinct ways. Watching them, I shaped the habits that carried me throughout my research. Discussions in the office with Imranul Hoque, Muntasir Rahman, and Simon Krueger provided new insights and encouragement that pushed my projects along. I am thankful to have collaborated with many brilliant, fun folks. The aforementioned members of DPRG were a constant presence, and I had the privilege to work on projects big and small with all of them. Marcos's theoretical insights and persistent day to day hard work were inspiring. I can only hope some of it rubbed off on me during our work together. I picked up a lot of system building while working with Abhishek Verma and Nicolas Zea. Abhishek has remained a reliable sounding board through- out my research. I had fun working with Liangliang Cao, Hyun Duk Kim, Min-Hsuan Tsai, Zhen Li, ChengXiang Zhai, and Thomas Huang. Espe- cially, Liangliang and Hyun Duk showed great persistence in presenting our work to the world. I'd like to thank Cristina Abad and Nathan Roberts for their expertise and hard work that led to successful large-scale cluster exper- iments. Special thanks are due to Derek Dagit for his timely support with the CCT cluster. I would like to thank my internship mentors: Mike Groble at Motorola, Sandeep Uttamchandani at IBM Almaden, Nathan at Yahoo, and Marcos at iv Microsoft Research Silicon Valley. Finally, I'd like to thank family and friends. Creating a list of personal acknowledgments would be an impossible task, even more so than creating the list of academic acknowledgments listed here (where I have undoubtedly missed many important people). I omit such a list. I hope instead that God blesses me with the opportunity to extend my gratitude in person to each special individual. v Table of Contents Chapter 1 Introduction . 1 1.1 Thesis and Contributions . 2 1.2 Related Work . 7 Chapter 2 Pandora-A: Deadline-constrained Bulk Data Transfer via Internet and Shipping Networks . 9 2.1 Motivation . 9 2.2 Problem Formulation . 13 2.3 Deadline-constrained Solution . 17 2.4 Optimizations . 22 2.5 Experimental Results . 30 2.6 Related Work . 43 2.7 Summary . 44 Chapter 3 Pandora-B: Budget-constrained Bulk Data Transfer via Internet and Shipping Networks . 45 3.1 Motivation . 45 3.2 Problem Formulation . 48 3.3 Budget-constrained Solution . 48 3.4 Experimental Results . 57 3.5 Related Work . 65 3.6 Summary . 66 Chapter 4 Vivace: Consistent Data for Congested Geo-distributed Systems . 67 4.1 Motivation . 67 4.2 Setting and Goals . 69 4.3 Design and Algorithms . 71 4.4 Analysis . 82 4.5 Implementation . 85 4.6 Evaluation . 85 4.7 Related Work . 94 4.8 Summary . 96 vi Chapter 5 Natjam: Strict Queue Priority in Hadoop . 97 5.1 Motivation . 97 5.2 Solution Approach and Challenges . 100 5.3 Design: Overview . 101 5.4 Design: Background . 102 5.5 Design: Suspend/resume Architecture . 105 5.6 Design: Implementation . 111 5.7 Design: Eviction Policies . 115 5.8 Design: Extensions . 117 5.9 Evaluation . 120 5.10 Related Work . 133 5.11 Summary . 135 Chapter 6 Conclusions and Future Directions . 137 References . 138 vii Chapter 1 Introduction Cloud computing has taken off as a multi-billion dollar market, worth $40.7 billion in 2010, and predicted to grow up to $241 billion by 2020 [116]. This growth has been fueled by the emergence of cloud infrastructures where cus- tomers pay on-the-go for limited resources such as CPU hours used, net- work data transfer, and disk storage [6, 17, 26, 65], rather than paying an upfront cost [44]. The workloads in cloud infrastructures are largely data- intensive. For example, web applications such as photo sharing or social net- work services store, interpret, and propagate large amounts of user-generated data. Other data includes click data, and increasingly scientific or business data. These are routinely processed by parallel data processing program- ming frameworks such as MapReduce/Hadoop [62, 19], Pig Latin [111], and Hive [127], at scales of terabytes and petabytes. In handling this data, there is a fundamental tension between resource limi- tations and user requirements. At the same time, there is a desire to optimize certain runtime metrics. Thus, in this dissertation we design solutions that meet strong user requirements, such as time, money, consistency, and re- source assignment. At the same time, we design our solutions to be practical in resource-limited cloud environments, by optimizing on key metrics. Many of today's cloud offerings were designed to only optimize key metrics within the specific resource limits of their environment, without meeting many strong user requirements. These systems force users to relax critical requirements. For example, the Dynamo key-value store [64] was designed for low latency and high availability, in a failure-prone environment. The users of Dynamo are forced to have data follow only a (weak) eventual consistency model. Yet, there is a pervasive demand from users to have their applications meet a strong requirement. One such requirement is a time deadline. During the 2008 elections, a newspaper reporter turned to cloud computing to quickly 1 Strong user Key optimized System Key resource limitations requirement metric Pandora-A (Ch 2) Deadline Low $ cost Bandwidth, latency, and cost Pandora-B (Ch 3) $ Budget Short transfer time of various transfer options Vivace (Ch 4) Consistency Low latency Bandwidth of cross-site links Natjam (Ch 5) Queue priority High throughput Cluster capacity Figure 1.1: Contributions of the thesis. process the records of a candidate that had just been released [34]. Cloud infrastructure that allowed the reporter to specify and meet deadlines would have been invaluable in publishing the results within the news cycle. Another requirement is a dollar budget. A group of academic researchers who wish to process a large dataset in the cloud should avoid financial loss by using a system that treats their budget (e.g., funds from a grant) as a strong requirement. A third requirement is strong consistency guarantees. A storage system that meets this requirement can make developers of a large-scale messaging application more effective [109]. Finally, a cluster operator can offer shared cluster resources to many users at a time, without worrying about interfer- ence, when the cluster ensures that important jobs are given priority. 1.1 Thesis and Contributions Our work shows that it is feasible to satisfy strong application requirements, such as consistency, dollar budgets, and real-time deadlines, for data-intensive cloud computing environments, in spite of resource limitations, such as band- width, congestion, and resource costs, while simultaneously optimizing run- time metrics, such as throughput and latency. Our contributions, as summarized in Figure 1.1, are the design and imple- mentation of systems that solve problems with strong requirements. These systems are practical, i.e., they feature good runtime performance and opti- mally use limited resources. They cover a wide range of application require- ments, practical features, and resource limitations. Pandora-A and Pandora-B create solutions for transferring bulk data across many shipping and Internet links that have unique bandwidth, latency and dollar costs.