1. Trang chủ
  2. » Cao đẳng - Đại học

Slide hệ phân bố distributed system mapreduce

31 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 475,99 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Objectives  This slides is used to introduce students about MapReduce framework: programming model and implementation... MapReduce  Motivation: Large scale data processing – Want to pr

Trang 1

MapReduce

Nguyen Quang Hung

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 2

Objectives

 This slides is used to introduce students about MapReduce framework: programming model and implementation

Trang 4

Introduction

 Challenges?

– Applications face with large-scale of data (e.g multi-terabyte)

» High Energy Physics (HEP) and Astronomy

» Earth climate weather forecasts

Trang 5

MapReduce

 Motivation: Large scale data processing

– Want to process huge of datasets (>1 TB)

– Want to parallelize across hundreds/thousands of CPUs – Want to make this easy

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 6

MapReduce: ideas

 Automatic parallel and data distribution

 Fault-tolerant

 Provides status and monitoring tools

 Clean abstraction for programmers

Trang 7

MapReduce: programming model

 Borrows from functional programming

 Users implement interface of two functions: map and

reduce:

 map (k1,v1)  list(k2,v2)

 reduce (k2,list(v2))  list(v2)

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 8

map() function

 Records from the data source (lines out of files, rows of a database, etc) are fed into the map function as key*value pairs: e.g., (filename, line)

 map() produces one or more intermediate values along with an output key from the input

Trang 10

Parallelism

 map() functions run in parallel, creating different

intermediate values from different input data sets

 reduce() functions also run in parallel, each working on a different output key

 All values are processed independently

 Bottleneck: reduce phase can’t start until map phase is completely finished

Trang 11

MapReduce: execution flows

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 12

Example: word counting

map(String input_key, String input_doc):

// input_key: document name

// input_doc: document contents

for each word w in input_doc:

EmitIntermediate (w, "1"); // intermediate values

Trang 13

Locality

 Master program allocates tasks based on location of data: tries to have map() tasks on same machine as physical file data, or at least same rack (cluster rack)

 map() task inputs are divided into 64 MB blocks: same size as Google File System chunks

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 14

Fault tolerance

 Master detects worker failures

– Re-executes completed & in-progress map() tasks

– Re-executes in-progress reduce() tasks

 Master notices particular input key/values cause crashes

in map(), and skips those values on re-execution

Trang 15

Optimizations (1)

 No reduce can start until map is complete:

– A single slow disk controller can rate-limit the whole process

 Master redundantly executes “slow-moving” map tasks; uses results of first copy to finish

Why is it safe to redundantly execute map tasks? Wouldn’t this mess

up the total computation?

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 18

Google MapReduce evaluation (1)

 Cluster: approximately 1800 machines

 Each machine: 2x2GHz Intel Xeon processors with

Hyper-Threading enabled, 4GB of memory, two 160GB IDE disks and a gigabit Ethernet link

 Network of cluster:

– Two-level tree-shaped switched network with approximately

100-200 Gbps of aggregate bandwidth available at the root

– Round-trip time any pair of machines: < 1 msec

Trang 19

Google MapReduce evaluation (2)

Data transfer rates over time for different executions of the sort program ( J.Dean and S.Ghemawat shows in their paper [1, page 9])

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 20

Google MapReduce evaluation (3)

Trang 22

SAGA-MapReduce

High-level control flow diagram for SAGA-MapReduce SAGA uses a master-worker paradigm to implement the MapReduce pattern The diagram shows that there are several different infrastructure options to

a SAGA based application [8]

Trang 23

CGL-MapReduce

Components of the CGL-MapReduce , extracted from [8]

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 24

CGL-MapReduce: sample

applications

Trang 25

CGL-MapReduce: evaluation

HEP data analysis, execution

time vs the volume of data

(fixed compute resources)

Total Kmeans time against the number of data points (Both axes are in log scale) J.Ekanayake, S.Pallickara, and G.Fox show in their paper [7]

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 26

Hadoop vs CGL-MapReduce

Total time vs the number of

J.Ekanayake, S.Pallickara, and G.Fox show in their paper [7]

Trang 27

Hadoop vs SAGA-MapReduce

C.Miceli, M.Miceli, S Jha, H Kaiser, A Merzky show in [8]

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 28

Exercise

 Write again “word counting” program by using Hadoop framework

– Input: text files

– Result: show number of words in these inputs files

Trang 29

Conclusions

 MapReduce has proven to be a useful abstraction

 Simplifies large-scale computations on cluster of

Trang 30

References

1 Jeffrey Dean and Sanjay Ghemawat, MapReduce: Simplied Data Processing

on Large Clusters, 2004

2 Christophe Bisciglia, Aaron Kimball, & Sierra Michels-Slettvet, Distributed

Computing Seminar, Lecture 2: MapReduce Theory and Implementation,

Summer 2007, © Copyright 2007 University of Washington and licensed under the Creative Commons Attribution 2.5 License

3 Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung The Google file

system In 19th Symposium on Operating Systems Principles, pages 29.43, Lake George, New York, 2003

4 William Gropp, Ewing Lusk, and Anthony Skjellum Using MPI: Portable

Parallel Programming with the Message-Passing Interface MIT Press,

Cambridge, MA, 1999

5 Douglas Thain, Todd Tannenbaum, and Miron Livny Distributed computing in

practice: The Condor experience Concurrency and Computation: Practice and Experience, 2004

6 L G Valiant A bridging model for parallel computation Communications of the

ACM, 33(8):103.111, 1997

7 Jaliya Ekanayake, Shrideep Pallickara, and Geoffrey Fox, MapReduce for Data

Intensive Scientific Analyses,

8 Chris Miceli12, Michael Miceli12, Shantenu Jha123, Hartmut Kaiser1, Andre

Merzky, Programming Abstractions for Data Intensive Computing on Clouds and Grids

Trang 31

Q/A

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Ngày đăng: 31/12/2021, 07:47

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Jeffrey Dean and Sanjay Ghemawat, MapReduce: Simplied Data Processing on Large Clusters, 2004 Sách, tạp chí
Tiêu đề: MapReduce: Simplied Data Processing on Large Clusters
Tác giả: Jeffrey Dean, Sanjay Ghemawat
Năm: 2004
3. Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung. The Google file system. In 19th Symposium on Operating Systems Principles, pages 29.43, Lake George, New York, 2003 Sách, tạp chí
Tiêu đề: The Google file system
Tác giả: Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung
Nhà XB: 19th Symposium on Operating Systems Principles
Năm: 2003
5. Douglas Thain, Todd Tannenbaum, and Miron Livny. Distributed computing in practice: The Condor experience. Concurrency and Computation: Practice and Experience, 2004 Sách, tạp chí
Tiêu đề: Distributed computing in practice: The Condor experience
Tác giả: Douglas Thain, Todd Tannenbaum, Miron Livny
Nhà XB: Concurrency and Computation: Practice and Experience
Năm: 2004
6. L. G. Valiant. A bridging model for parallel computation. Communications of the ACM, 33(8):103.111, 1997 Sách, tạp chí
Tiêu đề: A bridging model for parallel computation
Tác giả: L. G. Valiant
Nhà XB: Communications of the ACM
Năm: 1997
7. Jaliya Ekanayake, Shrideep Pallickara, and Geoffrey Fox, MapReduce for Data Intensive Scientific Analyses Sách, tạp chí
Tiêu đề: MapReduce for Data Intensive Scientific Analyses
Tác giả: Jaliya Ekanayake, Shrideep Pallickara, Geoffrey Fox
8. Chris Miceli12, Michael Miceli12, Shantenu Jha123, Hartmut Kaiser1, Andre Merzky, Programming Abstractions for Data Intensive Computing on Clouds and Grids Sách, tạp chí
Tiêu đề: Programming Abstractions for Data Intensive Computing on Clouds and Grids
Tác giả: Chris Miceli, Michael Miceli, Shantenu Jha, Hartmut Kaiser, Andre Merzky
2. Christophe Bisciglia, Aaron Kimball, &amp; Sierra Michels-Slettvet, Distributed Computing Seminar, Lecture 2: MapReduce Theory and Implementation,Summer 2007, © Copyright 2007 University of Washington and licensed under the Creative Commons Attribution 2.5 License Khác
4. William Gropp, Ewing Lusk, and Anthony Skjellum. Using MPI: Portable Parallel Programming with the Message-Passing Interface. MIT Press, Cambridge, MA, 1999 Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w