for "Parallelizing Multiple Group-by Queries using MapReduce"

Preview:

Citation preview

Parallelizing Multiple Group-by queries using MapReduce:

optimization and cost estimationJie Pan · Frédéric Magoulès ·

Yann Le Biannic · Christophe Favart

B99705024 林劭軒B99705021 李奕德R00725051 郗昀彥

§ Ecole Centrale Paris · † SAP Research

§ §

† †

Telecommunication Systems 2013

Outline

• MapReduce and Optimized MapReduce

• Cost Estimation

• Experiments and Evaluation

MapReduce

Data

MapDi MapDi MapDi MapDi

Master Node

Worker Nodes

MapReduce

Data

MapDi MapDi MapDi MapDi

Di Map

Master Node

Worker Nodes

MapReduce

Data

MapDi MapDi MapDi MapDi

Di Map

Master Node

Worker Nodes

serialize :: structured objects → byte stream

de-serialize :: byte stream → structured objects

MapReduce

Data

MapDi MapDi MapDi MapDi

Di IiMap

Master Node

Worker Nodes

MapReduce

Data

MapDi MapDi MapDi MapDi

Di IiMapDiDiDiIi

Master Node

Worker Nodes

Data

MapDi MapDi MapDi MapDi

Di IiMapReducer

Result

DiDiDiIi

Master Node

Worker Nodes

MapReduce

Motivation

• Data Analysis (Business Intelligence)

• Task with Predicates

• High Selectivity => High Communication Cost

• Goal: Reduce the Volume of Intermediate Data

DiDiDiIi Master NodeWorker Nodes

Selectivity = #Data

#Data Satisfying Predicates

Data

MapDi MapDi MapDi MapDi

Di IiMapsignal

Master Node

Worker Nodes

MapCombineReduce (1/2)

MapCombineReduce (2/2)

Data

MapDi MapDi MapDi MapDi

IiCombiner

Master Node

Worker Nodes

CombinerCombinerCombinerCombiner

MapCombineReduce (2/2)

Data

MapDi MapDi MapDi MapDi

Ai IiCombiner

Master Node

Worker Nodes

CombinerCombinerCombinerCombiner

Data

Reducer

Result

MapDi MapDi MapDi MapDi

DiDiDiAi

Ai IiCombiner

Master Node

Worker Nodes

CombinerCombinerCombinerCombiner

MapCombineReduce (2/2)

Cost Estimation

Notations – general

Cost

min ∑ Cst + Cw + Ccl + Ccmm

Data

MapDi MapDi MapDi MapDi

Di IiMapReducer

Result

DiDiDiIi

Master Node

Worker Nodes

Initial Build (1/4)

Creating a mappingSerialize Data

Forall mappers

Network Factor

Mapper’s Data Transfer Cost

Result Transfer Cost

Initial Build (2/4)

De-serialize Data Serialize Result

Fragment

Load to Memory

Filter Cost

Initial Build (3/4)

De-serialize All Result

Selected DataAggregation Cost

Initial Build (4/4)

• sizem = 0

• Cmpg * nbm is constant

Optimized Build (1/6)

Nodes to be Combined

Size of Combiner’s Object

Does Not Change

Optimized Build (2/6)

Does Not Change

Does Not Serialize Result

Optimized Build (3/6)

Serialize Intermediate Result

Optimized Build (4/6)

De-serialize Intermediate Result

Optimized Build (5/6)

• Network Factor * (Start to Map + Worker to Combiner + Reduce Phare)

Optimized Build (6/6)

• sizem = 0• sizec = 0• Cmpg * nbm is constant

Compare

The factors has changed!!

Experiments and Evaluation

Experiments Environment (1/2)

• Running the experience over

• 9 sites geographically distributed in France

• featuring 5000 processors

• 1 cluster situated in the Sophia site

• IBM eServer 325

• Total number of nodes in this cluster: 49

[1] https://www.grid5000.fr/

[1]

Experiments Environment (2/2)

• Each node is composed of

• 2 CPUs of AMD Opteron 246

• 1 MB of cache, 2 GB of memory

• network: 2xGigabit Ethernet

• Java 1.6, GridGain 2.1.1

Dataset

• Dataset: 640000 records

• Each record contains 15 columns

• partition with 5 different fragment sizes

• 1000, 2000, 4000, 8000 and 16000

• with selectivity = 0.0106, 0.099 and 0.185

Experiments

• Run a sequential test on

• 1 machine

• Launch the parallel tests in GridGain on

• 5, 10, 15 and 20 machines

Results - Query Selectivity 0.0106

Results - Query Selectivity 0.099

Results - Query Selectivity 0.185

Result

• When the selectivity is bigger, the optimized version’s speeds-up better than the initial version.

• When the query’s selectivity is small, only a small amount of data need to be transferred over network.

• When the query’s selectivity is big, then the communication cost becomes dominant.

Scalability

• use several datasets having the same columns• composed of 640000, 1280000, 1920000 and 2560000 records

• Fragment: 16000• Run the queries with the same selectivity

Conclusion• MapReduce Model

• MapCombineReduce Model

• The combiner: pre-aggregator which aggregates over worker node

• Reduce the amount of intermediate data transferred over network

• Cost estimation

• Experimental results

• Better speed-up and scalability for a reasonable selectivity

Recommended