Distributed computing: index building and use

Similar documents
Distributed computing: index building and use

Distributed Systems. 05r. Case study: Google Cluster Architecture. Paul Krzyzanowski. Rutgers University. Fall 2016

Percolator. Large-Scale Incremental Processing using Distributed Transactions and Notifications. D. Peng & F. Dabek

Bigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI Presented by Xiang Gao

Distributed File Systems II

CS November 2017

CS 347 Parallel and Distributed Data Processing

CS 347 Parallel and Distributed Data Processing

CS November 2018

Map Reduce. Yerevan.

Bigtable. A Distributed Storage System for Structured Data. Presenter: Yunming Zhang Conglong Li. Saturday, September 21, 13

ΕΠΛ 602:Foundations of Internet Technologies. Cloud Computing

Announcements. Reading Material. Map Reduce. The Map-Reduce Framework 10/3/17. Big Data. CompSci 516: Database Systems

The MapReduce Abstraction

CompSci 516: Database Systems

Where We Are. Review: Parallel DBMS. Parallel DBMS. Introduction to Data Management CSE 344

Bigtable. Presenter: Yijun Hou, Yixiao Peng

Fall 2018: Introduction to Data Science GIRI NARASIMHAN, SCIS, FIU

CS 61C: Great Ideas in Computer Architecture. MapReduce

Clustering Lecture 8: MapReduce

BigTable: A Distributed Storage System for Structured Data (2006) Slides adapted by Tyler Davis

Distributed Transactions in Hadoop's HBase and Google's Bigtable

MapReduce: Simplified Data Processing on Large Clusters 유연일민철기

Programming model and implementation for processing and. Programs can be automatically parallelized and executed on a large cluster of machines

PLATFORM AND SOFTWARE AS A SERVICE THE MAPREDUCE PROGRAMMING MODEL AND IMPLEMENTATIONS

Engineering Goals. Scalability Availability. Transactional behavior Security EAI... CS530 S05

CSE 444: Database Internals. Lectures 26 NoSQL: Extensible Record Stores

MapReduce & BigTable

References. What is Bigtable? Bigtable Data Model. Outline. Key Features. CSE 444: Database Internals

Parallel Programming Principle and Practice. Lecture 10 Big Data Processing with MapReduce

Distributed Systems. 18. MapReduce. Paul Krzyzanowski. Rutgers University. Fall 2015

Data Informatics. Seon Ho Kim, Ph.D.

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Map Reduce.

CSE Lecture 11: Map/Reduce 7 October Nate Nystrom UTA

Databases 2 (VU) ( / )

CS /5/18. Paul Krzyzanowski 1. Credit. Distributed Systems 18. MapReduce. Simplest environment for parallel processing. Background.

Lessons Learned While Building Infrastructure Software at Google

Introduction to MapReduce

Principles of Data Management. Lecture #16 (MapReduce & DFS for Big Data)

Big Data Management and NoSQL Databases

Instructor: Dr. Mehmet Aktaş. Mining of Massive Datasets Jure Leskovec, Anand Rajaraman, Jeff Ullman Stanford University

Map Reduce Group Meeting

Big Data Infrastructure CS 489/698 Big Data Infrastructure (Winter 2017)

MI-PDB, MIE-PDB: Advanced Database Systems

DIVING IN: INSIDE THE DATA CENTER

FLAT DATACENTER STORAGE. Paper-3 Presenter-Pratik Bhatt fx6568

Introduction to MapReduce (cont.)

BigTable: A Distributed Storage System for Structured Data

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Winter 2009 Lecture 12 Google Bigtable

Introduction to Data Management CSE 344

A brief history on Hadoop

Lecture 11 Hadoop & Spark

CA485 Ray Walshe NoSQL

Putting it together. Data-Parallel Computation. Ex: Word count using partial aggregation. Big Data Processing. COS 418: Distributed Systems Lecture 21

Introduction to MapReduce. Adapted from Jimmy Lin (U. Maryland, USA)

7680: Distributed Systems

Index Construction 1

MapReduce Spark. Some slides are adapted from those of Jeff Dean and Matei Zaharia

Big Data Infrastructure CS 489/698 Big Data Infrastructure (Winter 2016)

CSE 544 Principles of Database Management Systems. Alvin Cheung Fall 2015 Lecture 10 Parallel Programming Models: Map Reduce and Spark

Announcements. Optional Reading. Distributed File System (DFS) MapReduce Process. MapReduce. Database Systems CSE 414. HW5 is due tomorrow 11pm

Data Clustering on the Parallel Hadoop MapReduce Model. Dimitrios Verraros

Introduction to Data Management CSE 344

Introduction to MapReduce Algorithms and Analysis

Database Systems CSE 414

BigTable. CSE-291 (Cloud Computing) Fall 2016

Mitigating Data Skew Using Map Reduce Application

Large-Scale GPU programming

MapReduce: A Programming Model for Large-Scale Distributed Computation

Index construction CE-324: Modern Information Retrieval Sharif University of Technology

Announcements. Parallel Data Processing in the 20 th Century. Parallel Join Illustration. Introduction to Database Systems CSE 414

CISC 7610 Lecture 2b The beginnings of NoSQL

Big Data Technology Incremental Processing using Distributed Transactions

CS 655 Advanced Topics in Distributed Systems

Map-Reduce. Marco Mura 2010 March, 31th

Bigtable: A Distributed Storage System for Structured Data by Google SUNNIE CHUNG CIS 612

1. Introduction to MapReduce

Lecture 7: MapReduce design patterns! Claudia Hauff (Web Information Systems)!

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective

Informa)on Retrieval and Map- Reduce Implementa)ons. Mohammad Amir Sharif PhD Student Center for Advanced Computer Studies

Index Construction. Dictionary, postings, scalable indexing, dynamic indexing. Web Search

index construct Overview Overview Recap How to construct index? Introduction Index construction Introduction to Recap

CS 345A Data Mining. MapReduce

Index construction CE-324: Modern Information Retrieval Sharif University of Technology

HADOOP FRAMEWORK FOR BIG DATA

Page 1. Goals for Today" Background of Cloud Computing" Sources Driving Big Data" CS162 Operating Systems and Systems Programming Lecture 24

Introduction to Hadoop and MapReduce

Introduction Data Model API Building Blocks SSTable Implementation Tablet Location Tablet Assingment Tablet Serving Compactions Refinements

CSCI 5417 Information Retrieval Systems Jim Martin!

Introduction to Data Management CSE 344

The Google File System (GFS)

Introduction to Map Reduce

BigTable A System for Distributed Structured Storage

CS6030 Cloud Computing. Acknowledgements. Today s Topics. Intro to Cloud Computing 10/20/15. Ajay Gupta, WMU-CS. WiSe Lab

CA485 Ray Walshe Google File System

18-hdfs-gfs.txt Thu Oct 27 10:05: Notes on Parallel File Systems: HDFS & GFS , Fall 2011 Carnegie Mellon University Randal E.

MapReduce. Stony Brook University CSE545, Fall 2016

Fattane Zarrinkalam کارگاه ساالنه آزمایشگاه فناوری وب

Improving the MapReduce Big Data Processing Framework

Transcription:

Distributed computing: index building and use Distributed computing Goals Distributing computation across several machines to Do one computation faster - latency Do more computations in given time - throughput Tolerate failure of 1+ machines 1 2 Ideas? Finding results for a query? Building index? Goals Keep all machines busy Be able to replace badly-behaved machines seamlessly! 3 Distributed Query Evaluation: Strategies Assign different queries to different machines Break up multi-term query: assign different query terms to different machines - good/bad consequences? Break up lexicon: assign different index terms to different machines? good/bad consequences? Break up postings lists: Assign different documents to different machines? good/bad consequences? Keep all machines busy? Seamlessly replace badly-behaved machines? 4 Example: Google query evaluation circa 2002 Parallelize computation distribute documents randomly to pieces of index Pool of machines for each piece- choose one Why random? Load balancing and reliability Scheduler machines assign tasks to pools of machines monitor performance 5 Google Query Evaluation: Details circa 2002 Enter query -> DNS-based directed to one of geographically distributed clusters Round-trip time w/in cluster, query directed to 1 Google Web Server (GWS) GWS distributes query to pools of machines Load sharing Query directed to 1 machine w/in each pool 6 1

Issues for distributed documents How many take from each pool to get m results? Throughput limits? each machine does full query evaluation disk access limiting constraint? distributing index by term instead may help Last time: Finding results for a query. Methods Assign different queries to different machines Google: geographic distribution + cluster distribution Break up lexicon: assign different index terms to different machines Break up postings lists: Assign different documents to different machines Google: randomly distribute docs to pools of machines; 1 machine per pool assigned query 7 8 ü Finding results for a query? Building index? Distributed Index Building Can easily assign different documents to different machines Efficient? Goals Keep all machines busy Be able to replace badly-behaved machines seamlessly! 9 10 Google Index Building circa 2003: MapReduce framework programming model implementation for large clusters Google introduced for index building and PageRank for processing and generating large data sets The Apache Hadoop project developed open-source software Other applications: database queries join like multi-term query eval. statistics on queries in given time period 11 MapReduce Programming Model input set: {(input key i, value i ) 0 i input size} user chooses type value e.g. whole document output set: {(output key i, value i ) 0 i output size} Map (written by user): (input key, value) {(intermed. key j, value j ) 0 j Map result size} system groups all Map output pairs for input set by intermediate key (shuffle phase) gathers by intermediate key value supply to Reduce by iterator Reduce (written by user) process intermediate values: (intermed. key, list of values) (output key, value) 12 2

MapReduce for building inverted index Diagram of computation distribution Input pair: (docid, contents of doc) Map: produce {(term, docid)} for each term appearing in docid Input to Reduce: (term, docids) pairs for each term Output of Reduce: (term, sorted list of docids containing that term) postings list! See Figure 2.3 (pg 27) in Mining of Massive Data Sets by Rajaraman, Leskovec and Ullman Originally appeared as Figure 1 in MapReduce: Simplified Data Processing on Large Clusters by J. Dean and S. Ghemawat, Comm. of the ACM,vol. 51, no. 1 (2008), pp. 107-113. keys 13 14 MapReduce parallelism Map phase and shuffle phase may overlap Shuffle phase and reduce phase may overlap Map phase must finish before reduce phase starts reduce depends on all values associated with a given key 15 MapReduce Fault Tolerance Master fails => restart whole computation Worker node fails Master detects failure must redo all Map tasks assigned to worker output of completed Map tasks on failed worker s disk for failed Map worker, Master reschedules each Map task notifies reducer workers of change in input location for failed Reduce worker, Master reschedules each Reduce task rescheduling occurs as live workers become available 16 Hadoop The Apache Hadoop project develops open-source software for reliable, scalable, distributed computing. Includes MapReduce http://hadoop.apache.org/index.html 17 Remarks Google built on large collections of inexpensive commodity PCs always some not functioning Solve fault-tolerance problem in software redundancy & flexibility NOT special-purpose hardware Keep machines relative generalists machine becomes free assign to any one of set of tasks 18 3

June 2010 New Google index building: Caffeine daily crawl several billion documents Before: Rebuild index: new + existing series of 100 MapReduces to build index each doc. spent 2-3 days being indexed After: Each document fed through Percolator: incremental update of index Document indexed 100 times faster (median) Avg. age doc. in search result decr. nearly 50% 19 Percolator Built on top of Bigtable distributed storage tens of petabytes in indexing system Provides random access Requires extra resources over MapReduce Provides transaction semantics Repository transformation highly concurrent Requires some consistency guarantees for data Observers do tasks; write to table Writing to table creates work for other observers around 50 Bigtable op.s to process 1 doc. 20 Bigtable Overview Bigtable Overview: Distribution Distributed database system One big table Sparse cells indexed by row key, column key, timestamp Sorted by row key rows have variable number of columns Atomic read-modify-write by row Data in cell uninterpreted strings User provide interpretation Rows partitioned into tablets contiguous key space tablet servers execute operations Performance large number tablet servers Fault tolerance replication of data transaction log server take over for failed server 21 22 Percolator builds on Bigtable Percolator metadata stored alongside data in special columns of Bigtable Percolator adds fuctionality: Multi-row transactions observer framework Percolator observers users write observer code run distributed across collection of machines observer registers function and set of columns with Percolator Percolator invokes function after data written in one of columns (any row) Percolator must find dirty cells search distributed across machines avoid >1 observer for a single column 23 24 4

Percolator transactions maintains locks multiple versions each data item timestamps stable snapshots for reads compare database system Percolator not require extremely low latency affects approach 25 Caffeine versus MapReduce Caffeine uses roughly twice as many resources to process same crawl rate New document collection currently 3x larger than previous systems Only limit available disk space Document indexed 100 times faster (median) If number newly-crawled docs near size index, MapReduce better random lookup v.s. streaming 26 5