Author: Murray Stokely Presenter: Pim van Pelt Distributed Computing at Google.

Slides:



Advertisements
Similar presentations
Lecture 12: MapReduce: Simplified Data Processing on Large Clusters Xiaowei Yang (Duke University)
Advertisements

The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung SOSP 2003 Presented by Wenhao Xu University of British Columbia.
MAP REDUCE PROGRAMMING Dr G Sudha Sadasivam. Map - reduce sort/merge based distributed processing Best for batch- oriented processing Sort/merge is primitive.
Mapreduce and Hadoop Introduce Mapreduce and Hadoop
Distributed Computations
CS 345A Data Mining MapReduce. Single-node architecture Memory Disk CPU Machine Learning, Statistics “Classical” Data Mining.
Google’s Map Reduce. Commodity Clusters Web data sets can be very large – Tens to hundreds of terabytes Cannot mine on a single server Standard architecture.
Google Bigtable A Distributed Storage System for Structured Data Hadi Salimi, Distributed Systems Laboratory, School of Computer Engineering, Iran University.
Homework 2 In the docs folder of your Berkeley DB, have a careful look at documentation on how to configure BDB in main memory. In the docs folder of your.
7/2/2015EECS 584, Fall Bigtable: A Distributed Storage System for Structured Data Jing Zhang Reference: Handling Large Datasets at Google: Current.
Distributed Computations MapReduce
L22: SC Report, Map Reduce November 23, Map Reduce What is MapReduce? Example computing environment How it works Fault Tolerance Debugging Performance.
Lecture 2 – MapReduce CPE 458 – Parallel Programming, Spring 2009 Except as otherwise noted, the content of this presentation is licensed under the Creative.
MapReduce : Simplified Data Processing on Large Clusters Hongwei Wang & Sihuizi Jin & Yajing Zhang
Google Distributed System and Hadoop Lakshmi Thyagarajan.
Take An Internal Look at Hadoop Hairong Kuang Grid Team, Yahoo! Inc
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google∗
Advanced Topics: MapReduce ECE 454 Computer Systems Programming Topics: Reductions Implemented in Distributed Frameworks Distributed Key-Value Stores Hadoop.
SIDDHARTH MEHTA PURSUING MASTERS IN COMPUTER SCIENCE (FALL 2008) INTERESTS: SYSTEMS, WEB.
MapReduce.
Google and Cloud Computing Google 与云计算 王咏刚 Google 资深工程师.
Introduction to Parallel Programming MapReduce Except where otherwise noted all portions of this work are Copyright (c) 2007 Google and are licensed under.
By: Jeffrey Dean & Sanjay Ghemawat Presented by: Warunika Ranaweera Supervised by: Dr. Nalin Ranasinghe.
Google MapReduce Simplified Data Processing on Large Clusters Jeff Dean, Sanjay Ghemawat Google, Inc. Presented by Conroy Whitney 4 th year CS – Web Development.
Jeffrey D. Ullman Stanford University. 2 Chunking Replication Distribution on Racks.
SOFTWARE SYSTEMS DEVELOPMENT MAP-REDUCE, Hadoop, HBase.
Süleyman Fatih GİRİŞ CONTENT 1. Introduction 2. Programming Model 2.1 Example 2.2 More Examples 3. Implementation 3.1 ExecutionOverview 3.2.
Map Reduce and Hadoop S. Sudarshan, IIT Bombay
Map Reduce for data-intensive computing (Some of the content is adapted from the original authors’ talk at OSDI 04)
HBase A column-centered database 1. Overview An Apache project Influenced by Google’s BigTable Built on Hadoop ▫A distributed file system ▫Supports Map-Reduce.
MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat.
MapReduce and Hadoop 1 Wu-Jun Li Department of Computer Science and Engineering Shanghai Jiao Tong University Lecture 2: MapReduce and Hadoop Mining Massive.
Presented by CH.Anusha.  Apache Hadoop framework  HDFS and MapReduce  Hadoop distributed file system  JobTracker and TaskTracker  Apache Hadoop NextGen.
MapReduce: Hadoop Implementation. Outline MapReduce overview Applications of MapReduce Hadoop overview.
Hadoop/MapReduce Computing Paradigm 1 Shirish Agale.
Introduction to Hadoop and HDFS
f ACT s  Data intensive applications with Petabytes of data  Web pages billion web pages x 20KB = 400+ terabytes  One computer can read
Map Reduce: Simplified Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat Google, Inc. OSDI ’04: 6 th Symposium on Operating Systems Design.
MAP REDUCE : SIMPLIFIED DATA PROCESSING ON LARGE CLUSTERS Presented by: Simarpreet Gill.
Google’s Big Table 1 Source: Chang et al., 2006: Bigtable: A Distributed Storage System for Structured Data.
Bigtable: A Distributed Storage System for Structured Data Google’s NoSQL Solution 2013/4/1Title1 Chao Wang Fay Chang, Jeffrey Dean, Sanjay.
MapReduce How to painlessly process terabytes of data.
MapReduce M/R slides adapted from those of Jeff Dean’s.
Google Bigtable Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber.
Google Bigtable Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber.
Bigtable: A Distributed Storage System for Structured Data Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows,
MapReduce Kristof Bamps Wouter Deroey. Outline Problem overview MapReduce o overview o implementation o refinements o conclusion.
CS 345A Data Mining MapReduce. Single-node architecture Memory Disk CPU Machine Learning, Statistics “Classical” Data Mining.
Grid Computing at Yahoo! Sameer Paranjpye Mahadev Konar Yahoo!
Eduardo Gutarra Velez. Outline Distributed Filesystems Motivation Google Filesystem Architecture The Metadata Consistency Model File Mutation.
Computing Scientometrics in Large-Scale Academic Search Engines with MapReduce Leonidas Akritidis Panayiotis Bozanis Department of Computer & Communication.
MapReduce and the New Software Stack CHAPTER 2 1.
By Jeff Dean & Sanjay Ghemawat Google Inc. OSDI 2004 Presented by : Mohit Deopujari.
Chapter 5 Ranking with Indexes 1. 2 More Indexing Techniques n Indexing techniques:  Inverted files - best choice for most applications  Suffix trees.
CSC590 Selected Topics Bigtable: A Distributed Storage System for Structured Data Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A.
C-Store: MapReduce Jianlin Feng School of Software SUN YAT-SEN UNIVERSITY May. 22, 2009.
MapReduce: Simplified Data Processing on Large Clusters By Dinesh Dharme.
Bigtable : A Distributed Storage System for Structured Data Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach Mike Burrows,
MapReduce: Simplied Data Processing on Large Clusters Written By: Jeffrey Dean and Sanjay Ghemawat Presented By: Manoher Shatha & Naveen Kumar Ratkal.
1 Student Date Time Wei Li Nov 30, 2015 Monday 9:00-9:25am Shubbhi Taneja Nov 30, 2015 Monday9:25-9:50am Rodrigo Sanandan Dec 2, 2015 Wednesday9:00-9:25am.
COMP7330/7336 Advanced Parallel and Distributed Computing MapReduce - Introduction Dr. Xiao Qin Auburn University
Lecture 3 – MapReduce: Implementation CSE 490h – Introduction to Distributed Computing, Spring 2009 Except as otherwise noted, the content of this presentation.
Large-scale file systems and Map-Reduce
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing MapReduce - Introduction Dr. Xiao Qin Auburn.
Introduction to MapReduce and Hadoop
Google and Cloud Computing
湖南大学-信息科学与工程学院-计算机与科学系
CS 345A Data Mining MapReduce This presentation has been altered.
5/7/2019 Map Reduce Map reduce.
Presentation transcript:

Author: Murray Stokely Presenter: Pim van Pelt Distributed Computing at Google

2 Guidelines for this talk. I am not presenting my own personal work. I did not invent the Google infrastructure components I will describe. Requests for clarification or quick questions welcomed throughout, please save longer questions until the end. I won’t tell you how many machines Google currently uses, how many queries we answer and how many megabits we generate.

3 Google Technology Layers Computing platform Distributed systems infrastructure Services and Applications Web search GMail Ads system Google Maps Cheap PC Hardware Linux Physical networking

4 Google’s Explosive Computational Requirements more queries better results more data Every Google service sees continuing growth in computational needs – More queries More users, happier users – More data Bigger web, mailbox, blog, etc. – Better results Find the right information, and find it faster

5 A Simple Challenge For Our Compute Infrastructure 1. Create the world’s largest computing infrastructure. 2. Make it easier for developers to write parallel code than not to. 3. Need to drive efficiency of the computing infrastructure to unprecedented levels.

6 The Building Blocks of google.com Distributed storage: GFS, BigTable. The workqueue. Parallel computation: MapReduce, Sawzall. Distributed lockserver: chubby.

7 GFS: The Google File System Reliable distributed storage system for petabyte scale filesystems. Data kept in 64-megabyte “chunks” stored on disks spread across thousands of machines Each chunk replicated, usually 3 times, on different machines so that GFS can recover seamlessly from disk or machine failure. A GFS cluster consists of a single master, multiple chunkservers, and is accessed by multiple clients.

8 Client Misc. servers Client Replicas Masters GFS Master C0C0 C1C1 C2C2 C5C5 Chunkserver 1 C0C0 C5C5 Chunkserver N C1C1 C3C3 C5C5 Chunkserver 2 … Master manages metadata Data transfers happen directly between clients/chunkservers Files broken into chunks (typically 64 MB)‏ Chunks triplicated across three machines for safety See SOSP’03 paper at GFS: The Google File System C2C2

9 BigTable A distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers. Built on top of GFS. Used by more than 60 Google products and projects including Google Earth, Google Finance, Orkut, … Paper by Fay Chang, Jeffrey Dean, Sanjay Ghemawat, et al appeared at OSDI'06.

10 BigTable: An Example for crawl data A web crawling system might use BigTable that stores web pages. Each row key could represent a specific URL, with columns for the page contents, the language, the references to that page, or other metadata. The row range for a table is dynamically partitioned between servers. Rows are clustered together on machines by key, so using URLs as keys would minimize the number of machines where pages from a single domain are stored. Each cell is timestamped so there could be multiple versions of the same data in the table.

11 Workqueue: Scheduling many jobs on many machines A large scale time sharing system built out of an array of computers and their ram, cpus and disks. Schedules jobs, allocates resources, reports status, and collects the results. Similar to other distributed systems described in the literature, such as Condor. The same machines that serve as chunkservers for a GFS cell can also contribute CPU and memory resources to a workqueue because the computational requirements of a GFS storage cell are negligible. So a machine A may contribute to storage cluster (GFS cell) B and also to compute cluster (workqueue) C -- the compute and storage cells can (and will) overlap.

12 Workqueue: Scheduling many jobs on many machines GFS Master GFS Chunkserver Job 0 task … Machine 1 Workqueue slave Workqueue master Bigmemory job task GFS Chunkserver Job 2 task Workqueue slave Bigmemory job task Machine N

13 MapReduce A programming model and an associated implementation for processing and generating large data sets. A user specified map function processes a key/value pair to generate a set of intermediate key/value pairs. A user specified reduce function merges all intermediate values associated with the same intermediate key. Programs written in this functional style are automatically parallelized and executed on a large cluster of commodity machines.

14 MapReduce: Runtime Environment The MapReduce runtime environment takes care of: – Partitioning the input data. – Scheduling the program’s execution across a set of machines. – Handling machine failures. – Managing required inter-machine communication. Allows programmers without any experience with parallel and distributed systems to easily utilize the resources of a large distributed cluster. All at the application level built on top of Linux.

15 MapReduce: Grep for Sysadmins Suppose we wanted a distributed grep over a large data set. – cat file | grep “ip address” > matches.txt Our input is really large, so we’ll need to read it from a distributed file system anyway. A distributed grep with MapReduce would : – Split up the file into individual chunks. – Send each small chunk to a different machine. – Have each of the machines run the same mapper on their data chunk (grep “ip address” in this case)‏ – Collate the matches from the individual worker machines into an output file (the reducer, in this example the Identity function). System Optimizations possible: – Data locality – Network topology optimizations (rack diversity, etc..)‏

16 MapReduce: System Structure See: “MapReduce: Simplified Data Processing on Large Clusters”, OSDI’04 ( )‏

17 MapReduce: An Example Example: compute the Inverse Document Frequency for a list of urls, return the number of documents each word occurs in Input is sequence of key/value pairs e.g. “ => “organize world information” Users write two simple functions: – Map: takes input k1/v1 and produces set of intermediate k2/v2 pairs E.g. map(url, contents) -> “world” => “1" -> “information” => “1” – Reduce: takes intermediate k2/v2, combines to produce output k2/v3 E.g. reduce(“world” => {“1”,”1”,”1”,”1”}) -> world => “4” k2/v3 value are emitted to an output file

18 One step further - Sawzall An interpreted language built on top of the Map Reduce framework. Examines one record at a time: ->Write a Map Reduce using 5 lines of code Scientific Programming Issue: Volume 13, Number 4, 2005: Interpreting the data: Parallel analysis with Sawzall, Rob Pike, Sean Dorward, Robert Griesemer, Sean Quinlan

19 Sawzall – An Example Uses MapReduce – Do stuff with raw data on many machines (mapper)‏ – Aggregate sorted data (reducer)‏ Collect, collate and format the output count: table sum of int; total: table sum of float; sum_of_squares: table sum of float; x: float = input; emit count <- 1; emit total <- x; emit sum_of_squares <- x * x;

20 Chubby – A Distributed lockservice Exports a filesystem interface, similar to unix Directory based approach: – /ls/foo/wombat/pouch Generic operations: create, read, write, lock Callbacks on data stored in Chubby: – File contents changed – Child node added, removed, changed – Lock expired, lock competition,... – Chubby master failure

21 Dogfood: The System Health Infrastructure Talks to every server frequently Collects – Health signals – Activity information – Configuration data Stores time-series data forever Enable highly parallel analysis of repository data

22 Many Thanks! Murray Stokely Jeff Dean Sanjay Ghemawat Rob Pike Tom Limoncelli Shun-Tak Leung Howard Gobioff Luiz Barroso