UC Berkeley 1 Solving the Scalability Dilemma with Clouds, Crowds, and Algorithms Michael Franklin UC Berkeley Joint work with: Michael Armbrust, Peter.

Slides:



Advertisements
Similar presentations
Distributed Data Processing
Advertisements

The Datacenter Needs an Operating System Matei Zaharia, Benjamin Hindman, Andy Konwinski, Ali Ghodsi, Anthony Joseph, Randy Katz, Scott Shenker, Ion Stoica.
UC Berkeley a Spark in the cloud iterative and interactive cluster computing Matei Zaharia, Mosharaf Chowdhury, Michael Franklin, Scott Shenker, Ion Stoica.
THE DATACENTER NEEDS AN OPERATING SYSTEM MATEI ZAHARIA, BENJAMIN HINDMAN, ANDY KONWINSKI, ALI GHODSI, ANTHONY JOSEPH, RANDY KATZ, SCOTT SHENKER, ION STOICA.
Cloud Computing Resource provisioning Keke Chen. Outline  For Web applications statistical Learning and automatic control for datacenters  For data.
Matei Zaharia University of California, Berkeley Spark in Action Fast Big Data Analytics using Scala UC BERKELEY.
UC Berkeley Spark Cluster Computing with Working Sets Matei Zaharia, Mosharaf Chowdhury, Michael Franklin, Scott Shenker, Ion Stoica.
The Hadoop Stack, Part 3 Introduction to Spark
Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave, Justin Ma, Murphy McCauley, Michael Franklin, Scott Shenker, Ion Stoica Spark Fast, Interactive,
1 Large-Scale Machine Learning at Twitter Jimmy Lin and Alek Kolcz Twitter, Inc. Presented by: Yishuang Geng and Kexin Liu.
Discretized Streams An Efficient and Fault-Tolerant Model for Stream Processing on Large Clusters Matei Zaharia, Tathagata Das, Haoyuan Li, Scott Shenker,
Shark Cliff Engle, Antonio Lupher, Reynold Xin, Matei Zaharia, Michael Franklin, Ion Stoica, Scott Shenker Hive on Spark.
Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave, Justin Ma, Murphy McCauley, Michael Franklin, Scott Shenker, Ion Stoica Spark Fast, Interactive,
A Berkeley View of Big Data Ion Stoica UC Berkeley BEARS February 17, 2011.
Crowds, Clouds, and Algorithms: Exploring the Human Side of “Big Data” Panelists: Sihem Amer-Yahia (Yahoo! Research) AnHai Doan (Wisconsin) Jon Kleinberg.
Mesos A Platform for Fine-Grained Resource Sharing in Data Centers Benjamin Hindman, Andy Konwinski, Matei Zaharia, Ali Ghodsi, Anthony D. Joseph, Randy.
Mesos A Platform for Fine-Grained Resource Sharing in the Data Center Benjamin Hindman, Andy Konwinski, Matei Zaharia, Ali Ghodsi, Anthony Joseph, Randy.
Rutgers PANIC Laboratory The State University of New Jersey Self-Managing Federated Services Francisco Matias Cuenca-Acuna and Thu D. Nguyen Department.
Chapter 14 The Second Component: The Database.
1© Copyright 2015 EMC Corporation. All rights reserved. SDN INTELLIGENT NETWORKING IMPLICATIONS FOR END-TO-END INTERNETWORKING Simone Mangiante Senior.
AMPCamp Introduction to Berkeley Data Analytics Systems (BDAS)
Google Distributed System and Hadoop Lakshmi Thyagarajan.
U.S. Department of the Interior U.S. Geological Survey David V. Hill, Information Dynamics, Contractor to USGS/EROS 12/08/2011 Satellite Image Processing.
USING HADOOP & HBASE TO BUILD CONTENT RELEVANCE & PERSONALIZATION Tools to build your big data application Ameya Kanitkar.
PIQL: Success- Tolerant Query Processing in the Cloud Michael Armbrust, Kristal Curtis, Tim Kraska Armando Fox, Michael J. Franklin, David A. Patterson.
UC Berkeley 1 The Future of Cloud Computing Michael Franklin, UC Berkeley Reliable Adaptive Distributed Systems Lab Image: John Curley
UC Berkeley Spark A framework for iterative and interactive cluster computing Matei Zaharia, Mosharaf Chowdhury, Michael Franklin, Scott Shenker, Ion Stoica.
SOFTWARE SYSTEMS DEVELOPMENT MAP-REDUCE, Hadoop, HBase.
MapReduce April 2012 Extract from various presentations: Sudarshan, Chungnam, Teradata Aster, …
CS525: Special Topics in DBs Large-Scale Data Management Hadoop/MapReduce Computing Paradigm Spring 2013 WPI, Mohamed Eltabakh 1.
MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat.
Presented by CH.Anusha.  Apache Hadoop framework  HDFS and MapReduce  Hadoop distributed file system  JobTracker and TaskTracker  Apache Hadoop NextGen.
PIER & PHI Overview of Challenges & Opportunities Ryan Huebsch † Joe Hellerstein † °, Boon Thau Loo †, Sam Mardanbeigi †, Scott Shenker †‡, Ion Stoica.
MapReduce: Hadoop Implementation. Outline MapReduce overview Applications of MapReduce Hadoop overview.
Distributed Indexing of Web Scale Datasets for the Cloud {ikons, eangelou, Computing Systems Laboratory School of Electrical.
Hadoop/MapReduce Computing Paradigm 1 Shirish Agale.
Introduction to Hadoop and HDFS
IPlant Collaborative Tools and Services Workshop iPlant Collaborative Tools and Services Workshop Collaborating with iPlant.
Challenges towards Elastic Power Management in Internet Data Center.
Mesos A Platform for Fine-Grained Resource Sharing in the Data Center Benjamin Hindman, Andy Konwinski, Matei Zaharia, Ali Ghodsi, Anthony Joseph, Randy.
IPlant Collaborative Tools and Services Workshop iPlant Collaborative Tools and Services Workshop Collaborating with iPlant.
Map-Reduce-Merge: Simplified Relational Data Processing on Large Clusters Hung-chih Yang(Yahoo!), Ali Dasdan(Yahoo!), Ruey-Lung Hsiao(UCLA), D. Stott Parker(UCLA)
The Future of the iPlant Cyberinfrastructure: Coming Attractions.
MapReduce Kristof Bamps Wouter Deroey. Outline Problem overview MapReduce o overview o implementation o refinements o conclusion.
Big Data Analytics Large-Scale Data Management Big Data Analytics Data Science and Analytics How to manage very large amounts of data and extract value.
Hadoop implementation of MapReduce computational model Ján Vaňo.
Resilient Distributed Datasets: A Fault- Tolerant Abstraction for In-Memory Cluster Computing Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave,
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
Powered by Microsoft Azure, PointMatter Is a Flexible Solution to Move and Share Data between Business Groups and IT MICROSOFT AZURE ISV PROFILE: LOGICMATTER.
SampleClean: Bringing Data Cleaning into the BDAS Stack Sanjay Krishnan and Daniel Haas In Collaboration With: Juan Sanchez, Wenbo Tao, Jiannan Wang, Tim.
ApproxHadoop Bringing Approximations to MapReduce Frameworks
CISC 849 : Applications in Fintech Namami Shukla Dept of Computer & Information Sciences University of Delaware iCARE : A Framework for Big Data Based.
Web Technologies Lecture 13 Introduction to cloud computing.
Hadoop/MapReduce Computing Paradigm 1 CS525: Special Topics in DBs Large-Scale Data Management Presented By Kelly Technologies
A Platform for Fine-Grained Resource Sharing in the Data Center
CS 540 Database Management Systems
Societal-Scale Computing: The eXtremes Scalable, Available Internet Services Information Appliances Client Server Clusters Massive Cluster Gigabit Ethernet.
PARALLEL AND DISTRIBUTED PROGRAMMING MODELS U. Jhashuva 1 Asst. Prof Dept. of CSE om.
Cloud Computing from a Developer’s Perspective Shlomo Swidler CTO & Founder mydrifts.com 25 January 2009.
BIG DATA. Big Data: A definition Big data is a collection of data sets so large and complex that it becomes difficult to process using on-hand database.
BIG DATA/ Hadoop Interview Questions.
© 2007 IBM Corporation IBM Software Strategy Group IBM Google Announcement on Internet-Scale Computing (“Cloud Computing Model”) Oct 8, 2007 IBM Confidential.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Organizations Are Embracing New Opportunities
CS122A: Introduction to Data Management Lecture #16: AsterixDB
Central Florida Business Intelligence User Group
Introduction to Spark.
The Future of Cloud Computing
Big DATA.
Fast, Interactive, Language-Integrated Cluster Computing
Presentation transcript:

UC Berkeley 1 Solving the Scalability Dilemma with Clouds, Crowds, and Algorithms Michael Franklin UC Berkeley Joint work with: Michael Armbrust, Peter Bodik, Kristal Curtis, Armando Fox, Randy Katz, Mike Jordan, Nick Lanham, David Patterson, Scott Shenker, Ion Stoica, Beth Trushkowsky, Stephen Tu and Matei Zaharia Image: John Curley

Save the Date(s): CIDR 2011 Conference 2 Abstracts Due: Sept 24, 2010 Papers Due: October 1, 2010 Focus: innovative and visionary approaches to data systems architecture and use. Regular CIDR track plus CCC-sponsored “outrageous ideas” track. Website coming soon! 5 th Biennial Conference on Innovative Data Systems Research CIDR 2011 Jan 9-12 Asilomar, CA

Continuous Improvement of Client Devices

4 Computing as a Commodity

5 Ubiquitous Connectivity

AMP: Algorithms, Machines, People Adaptive/Active Machine Learning and Analytics Cloud ComputingCrowdSourcing 6 Massive and Diverse Data Massive and Diverse Data

The Scalability Dilemma 7 State-of-the Art Machine Learning techniques do not scale to large data sets. Data Analytics frameworks can’t handle lots of incomplete, heterogeneous, dirty data. Processing architectures struggle with increasing diversity of programming models and job types. Adding people to a late project makes it later. Exactly Opposite of what we Expect and Need

RAD Lab 5-year Mission Enable 1 person to develop, deploy, operate a next-generation Internet application at scale Initial Technical Bet: Machine Learning to make large-scale systems self-managing Multi-area faculty, postdocs, & students Systems, Networks, Databases, Security, Statistical Machine Learning all in a single, open, collaborative space Corporate Sponsorship and intensive industry interaction –Bi-annual 2.5 day offsite research retreats with sponsors 8

PIQL + SCADS 9 SCADS: Distributed Key Value Store PIQL: Query Interface & Executor Flexible Consistency Management “Active PIQL” (don’t ask)

UC Berkeley SCADS: Scale Independent Storage 10

Scale Independence As a site’s user base grows and workload volatility increases: –No changes to application required –Cost per user remains constant –Request latency SLA is unchanged Key techniques –Model-Driven Scale Up and Scale Down –Performance Insightful Query Language –Declarative Performance/Consistency Tradeoffs 11

Over-provisioning a stateless system Wikipedia example 12 overprovision by 25% to handle spike Michael Jackson dies

Over-provisioning a stateful system Wikipedia example 13 overprovision by 300% to handle spike (assuming data stored on ten servers)

Data storage configuration Shared-nothing storage cluster –(key,value) pairs in a namespace, e.g. (user, ) –Each node stores set of data ranges, –Data ranges can be split until some minimum size promised by PIQL, to ensure range queries don’t touch more than one node 14 A-C F A-C F D-E F-G G G

Workload-based policy stages 15 Storage nodes Stage 1: Replicate Workload threshold Bins

16 Storage nodes Stage 2: Data Movement Workload threshold Bins destination Workload-based policy stages

17 Storage nodes Stage 3: Server Allocation Workload threshold Bins Workload-based policy stages

Workload-based policy Policy input: –Workload per histogram bin –Cluster configuration Policy output: –Short actions (per bin) 18 SCADS namespace SCADS namespace Policy actions Action Executor Action Executor Performance Model Workload Histogram actions sampled workload as histogram smoothe d workload config Considerations: –Performance model –Overprovision buffer Action Executor –Limit actions to X kb/s

Example Experiment Workload Ebates.com + wikipedia’s MJ spike (see Bodik et al. SOCC 2010 for workload generation) One million (key,value) pairs, each ~256 bytes Model: max sustainable workload per server Cost: machine cost: 1 unit/10 minutes SLA: 99th percentile of get/put latency Deployment using m1.small instances on EC2, 1GB of RAM server boot up time: 48 seconds Delay server removal until 2 minutes left 19

Goal: selectively absorb hotspot 20 thousand req / sec

Actions during the spike 21 10:0010:14 Add replica Move data, partition Move data, coalesce data movement and actions during the spike Kb/s

Configuration at end of Spike 22 Per server workload and # keys after added replicas

Cost-comparison to fixed and optimal Fixed allocation policy: 648 server units Optimal policy: 310 server units 23 Overprovision factor get/put SLA (ms) # server units % savings (vs fixed alloc) / / /

PIQL [Armbrust et al. SIGMOD 2010 (demo) and SOCC 2010 (design paper)] “Performance Insightful” language subset Compiler reasons about operation bounds –Unbounded queries are disallowed –Queries above specified threshold generate a warning –Predeclare query templates: Optimizer decides what indexes are needed (i.e., materialized views) Provides: Bounded number of operations + Strong SLAs = Predictable performance? 24 RDBMS NoSQL

PIQL DDL 25 ENTITY User { string username, string password, PRIMARY KEY(username)} ENTITY Subscription { boolean approved, string owner, string target, FOREIGN KEY owner REF User, FOREIGN KEY target REF User MAX 5000, PRIMARY KEY(owner, target)} ENTITY Thought { int timestamp, string owner, string text, FOREIGN KEY owner REFERENCES User PRIMARY KEY(owner, timestamp)} F.K.s are Required for Joins Cardinality Limits required for un-paginated Joins

More Queries 26 “Return the most recent thoughts from all of my “approved” subscriptions.” Operations are bounded via schema and limit max

PIQL:Help Fix “Bad” Queries Interactive Query Visualizer –Shows record counts and # ops –Highlights unbounded parts of query –SIGMOD’10 Demo: piql.knowsql.org RDBMS NoSQL

PIQL + SCADS Goals are “Scale Independence” and “Performance Insightfulness” SCADS provides scalable foundation with SLA adherence PIQL uses language restrictions, schema limits, and precomputed views to bound # of SCADS operations per query. These work together to bridge the gap between “SQL” and “NoSQL” worlds. 28

UC Berkeley Spark: Support for Iterative Data-Intensive Computing M. Zaharia et al. HotClouds Workshop

Analytics: Logistic Regression Goal: find best line separating 2 datasets + – – – – – – – – – + target – random initial line

Serial Version val data = readData(...) var w = Vector.random(D) for (i <- 1 to ITERATIONS) { var gradient = Vector.zeros(D) for (p <- data) { val scale = (1/(1+exp(-p.y*(w dot p.x))) - 1) * p.y gradient += scale * p.x } w -= gradient } println("Final w: " + w)

Spark Version val data = spark.hdfsTextFile(...).map(readPoint).cache() var w = Vector.random(D) for (i <- 1 to ITERATIONS) { var gradient = spark.accumulator(Vector.zeros(D)) for (p <- data) { val scale = (1/(1+exp(-p.y*(w dot p.x))) - 1) * p.y gradient += scale * p.x } w -= gradient.value } println("Final w: " + w)

Spark Version val data = spark.hdfsTextFile(...).map(readPoint).cache() var w = Vector.random(D) for (i <- 1 to ITERATIONS) { var gradient = spark.accumulator(Vector.zeros(D)) for (p <- data) { val scale = (1/(1+exp(-p.y*(w dot p.x))) - 1) * p.y gradient += scale * p.x } w -= gradient.value } println("Final w: " + w)

Spark Version val data = spark.hdfsTextFile(...).map(readPoint).cache() var w = Vector.random(D) for (i <- 1 to ITERATIONS) { var gradient = spark.accumulator(Vector.zeros(D)) data.foreach(p => { val scale = (1/(1+exp(-p.y*(w dot p.x))) - 1) * p.y gradient += scale * p.x }) w -= gradient.value } println("Final w: " + w)

Spark Version with FP val data = spark.hdfsTextFile(...).map(readPoint).cache() var w = Vector.random(D) for (i <- 1 to ITERATIONS) { w -= data.map(p => { val scale = (1/(1+exp(-p.y*(w dot p.x))) - 1) * p.y scale * p.x }).reduce(0.0, _+_) } println("Final w: " + w)

Iterative Processing Dataflow Hadoop / DryadSpark... w f(x,w) w x x x w

Performance 40s / iteration first iteration 60s further iterations 2s

UC Berkeley What about the People? 38

39 Participatory Culture – “Indirect” John Murrell: GM SV 9/17/09 …every time we use a Google app or service, we are working on behalf of the search sovereign, creating more content for it to index and monetize or teaching it something potentially useful about our desires, intentions and behavior.

40 Participatory Culture - Direct

Crowdsourcing Example 41 From: Yan, Kumar, Ganesan, CrowdSearch: Exploiting Crowds for Accurate Real-time Image Search on Mobile Phones, Mobisys 2010.

Mechanical Turk vs. Cluster Computing What challenges are similar? What challenges are new? Allocation, Cost, Reliability, Quality, Bias, Making jobs appealing, ….

AMP: Algorithms, Machines, People Adaptive/Active Machine Learning and Analytics Cloud ComputingCrowdSourcing 43 Massive and Diverse Data Massive and Diverse Data

Clouds and Crowds Interactive CloudAnalytic CloudPeople Cloud Data Acquisition Transactional systems Data entry … + Sensors (physical & software) … + Web 2.0 ComputationGet and PutMap Reduce Parallel DBMS Stream Processing … + Collaborative Structures (e.g., Mechanical Turk, Intelligence Markets) Data ModelRecordsNumbers, Media… + Text, Media, Natural Language Response Time SecondsHours/Days… +Continuous 44 The Future Cloud will be a Hybrid of These.

AMPLab Technical Plan Machine Learning & Analytics (Jordan, Fox, Franklin) –Error Bars on all Answers –Active learning, continuous/adaptive improvement Data Management (Franklin, Joseph) –Pay-as-you-go integration and structure –Privacy Infrastructure (Stoica, Shenker, Patterson, Katz) –Nexus cloud OS and analytics languages Hybrid Crowd/Cloud Systems (Bayen, Waddell) –Incentive structures, systems aspects 45

Guiding Use Cases Crowdsourced Sensing, Work, Policy, Journalism Urban Micro- Simulation 46

Alogorithms, Machines & People A holistic view of the entire stack. Highly interdisciplinary faculty & students Developing a five-year plan; will dovetail with RADLab completion For more information: 47 Enable many people to collaborate to collect, generate, clean, make sense of and utilize lots of data. Data Visualization, Collaboration, HCI, Policies Text analytics Machine Learning and Stats Database, OLAP, MapReduce Security and Privacy MPP,Data Centers, Networks Multi-Core Parallelism

SCADS 48 NS 1 NS 2 NS 3 WebAp p PIQL WebAp p PIQL WebApp PIQ L Dir Xtrace + Chukwa (monitoring) Dir Hadoop + HDFS SPARK, SEJITS NEXUS M/R scheduling log mining MPI Batch/Analytics Query Feedbac k RAD Lab Prototype: System Architecture SLA, policies Dir Interactive