1Cloud Computing Lecture #1What is Cloud Computing?What is Cloud Computing?(and an intro to parallel/distributed processing)Jimmy LinThe iSchoolUniversity of MarylandUniversity of MarylandWednesday, September 3, 2008This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United StatesSee http://creativecommons.org/licenses/by-nc-sa/3.0/us/ for detailsSome material adapted from slides by Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet, Google Distributed Computing Seminar, 2007 (licensed under Creation Commons Attribution 3.0 License)Source: http://www.free-pictures-photos.com/2What is Cloud Computing?1. Web-scale problems2. Large data centersff f3. Different models of computing4. Highly-interactive Web applicationsTheiSchoolUniversityofMaryland1. Web-Scale Problems| Characteristics:z Definitely data-intensivez May also be processing intensive| Examples:z Crawling, indexing, searching, mining the Webz “Post-genomics” life sciences researchz Other scientific data (physics, astronomers, etc.)z Sensor networkszWeb 2.0 applicationsTheiSchoolUniversityofMarylandzWeb 2.0 applicationsz …3How much data?| Wayback Machine has 2 PB + 20 TB/month (2006) | Google processes 20 PB a day (2008)“|“all words ever spoken by human beings” ~ 5 EB| NOAA has ~1 PB climate data (2007)| CERN’s LHC will generate 15 PB a year (2008)640K ought to be TheiSchoolUniversityofMarylandgenough for anybody.Maximilien Brice, © CERN4Maximilien Brice, © CERNThere’s nothing like more data!s/inspiration/data/g;TheiSchoolUniversityofMaryland(Banko and Brill, ACL 2001)(Brants et al., EMNLP 2007)5What to do with more data?| Answering factoid questionsz Pattern matching on the Webz Works amazingly well| Learning relationsz Start with seed instancesz Search for patterns on the Webz Using patterns to find more instancesWho shot Abraham Lincoln? → X shot Abraham LincolnWolfgang Amadeus Mozart (17561791)TheiSchoolUniversityofMarylandBirthday-of(Mozart, 1756)Birthday-of(Einstein, 1879)Wolfgang Amadeus Mozart (1756 -1791)Einstein was born in 1879PERSON (DATE –PERSON was born in DATE(Brill et al., TREC 2001; Lin, ACM TOIS 2007)(Agichtein and Gravano, DL 2000; Ravichandran and Hovy, ACL 2002; … )2. Large Data Centers| Web-scale problems? Throw more machines at it!| Clear trend: centralization of computing resources in large data centersdata centersz Necessary ingredients: fiber, juice, and spacez What do Oregon, Iceland, and abandoned mines have in common?| Important Issues:z RedundancyEffi iTheiSchoolUniversityofMarylandzEfficiencyz Utilizationz Management6Source: Harper’s (Feb, 2008)Maximilien Brice, © CERN7Key Technology: VirtualizationAppAppAppHardwareOperating SystemApp App AppTraditional StackHardwareOSAppAppAppHypervisorOS OSVirtualized StackTheiSchoolUniversityofMaryland3. Different Computing Models| Utility computingzWhy buy machines when you can rent cycles?“Why do it yourself if you can pay someone to do it for you?”zWhy buy machines when you can rent cycles?z Examples: Amazon’s EC2, GoGrid, AppNexus| Platform as a Service (PaaS)z Give me nice API and take care of the implementationz Example: Google App Engine| Software as a Service (SaaS)TheiSchoolUniversityofMaryland()z Just run it for me!z Example: Gmail84. Web Applications | A mistake on top of a hack built on sand held together by duct tape?|What is the nature of software applications?|What is the nature of software applications?z From the desktop to the browserz SaaS == Web-based applicationsz Examples: Google Maps, Facebook| How do we deliver highly-interactive Web-based applications?TheiSchoolUniversityofMarylandzAJAX (asynchronous JavaScript and XML)z For better, or for worse…What is the course about?| MapReduce: the “back-end” of cloud computingz Batch-oriented processing of large datasets|Ajax: the“front-end”of cloud computing|Ajax: the frontend of cloud computingz Highly-interactive Web-based applications| Computing “in the clouds”z Amazon’s EC2/S3 as an example of utility computingTheiSchoolUniversityofMaryland9Amazon Web Services| Elastic Compute Cloud (EC2)z Rent computing resources by the hourz Basic unit of accounting = instance-hourz Additional costs for bandwidth| Simple Storage Service (S3)z Persistent storagez Charge by the GB/monthz Additional costs for bandwidth|You’ll be using EC2/S3 for course assignments!TheiSchoolUniversityofMaryland|You ll be using EC2/S3 for course assignments!This course is not for you…| If you’re not genuinely interested in the topic| If you’re not ready to do a lot of programmingf| If you’re not open to thinking about computing in new ways| If you can’t cope with uncertainly, unpredictability, poor documentation, and immature software| If you can’t put in the timeTheiSchoolUniversityofMarylandOtherwise, this will be a richly rewarding course!10Source: http://davidzinger.wordpress.com/2007/05/page/2/Cloud Computing Zen| Don’t get frustrated (take a deep breath)…z This is bleeding edge technologyz Those W$*#T@F! moments| Be patient… z This is the second first time I’ve taught this course| Be flexible…z There will be unanticipated issues along the way| Be constructive…TheiSchoolUniversityofMarylandz Tell me how I can make everyone’s experience better11Source: WikipediaSource: Wikipedia12Source: WikipediaSource: Wikipedia13Things to go over…| Course schedule| Assignments and deliverablesC/S|Amazon EC2/S3TheiSchoolUniversityofMarylandWeb-Scale Problems?| Don’t hold your breath:z Biocomputingz Nanocomputingz Quantum computingz …| It all boils down to…z Divide-and-conquerz Throwing more hardware at the problemTheiSchoolUniversityofMarylandSimple to understand… a lifetime to master…14Divide and Conquer“Work”Partitionw1w2w3r1r2r3“worker” “worker” “worker”TheiSchoolUniversityofMaryland“Result”CombineDifferent Workers| Different threads in the same core| Different cores in the same CPUff C| Different CPUs in a multi-processor system| Different machines in a distributed systemTheiSchoolUniversityofMaryland15Choices, Choices, Choices| Commodity vs. “exotic” hardware| Number of machines vs. processor vs. coresf| Bandwidth of memory vs. disk vs. network| Different programming
or
We will never post anything without your permission.
Don't have an account? Sign up