+ All Categories
Home > Documents > Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in...

Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in...

Date post: 21-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
22
Enabling Multi-pipeline Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming Hai Huang IBM T.J. Watson Research Center
Transcript
Page 1: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Enabling Multi-pipeline Data Transfer in HDFS for

Big Data Applications

Liqiang (Eric) Wang, Hong ZhangUniversity of Wyoming

Hai HuangIBM T.J. Watson Research Center

Page 2: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Background

Hadoop: Apache Hadoop is a popular open-source implementation of the MapReduce programming model to handle large data sets.

Hadoop has two main components: MapReduce and Hadoop Distributed File System (HDFS).

In our research, we focused on how to optimize the performance of uploading data to HDFS.

Page 3: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Motivation

HDFS is inefficient when handling upload of data files from client local file system due to its synchronous pipeline design.

Original HDFS transfers data blocks one by one and waiting for ACK (acknowledgement) packets from all datanodesinvolved in the transmission

Page 4: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Objectives

To introduce an innovative asynchronous data transmission approach to greatly improve the write operation’s performance in HDFS

To support flexible sort of datanodes in pipelines based on real-time and historical datanode accessing condition

To provide a comprehensive fault tolerance mechanism under this asynchronous transmission approach

Page 5: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Optimization of Big Data System[ICPP 2014]

Hadoop: Open-source implementation of MapReduce MapReduce Hadoop Distributed File System (HDFS).

Performance Issue with HDFS HDFS write is much slower than SCP.

Page 6: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Problem Scrutinizing

Client Datanode1 Datanode2 Datanode3

Finding the problem is not easy No detailed document available. Need to read source code Profiling and Testing

Reason for slow upload performance data block transmission mechanism :

Synchronous pipelined stop-and-wait

Page 7: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Our Own Approach

Asynchronous Multi-pipelined Data Transfer

Page 8: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Optimization for Data Transmission

To selects a datanode randomly from the n best performing nodes for this client as the first datanode

Randomly choose data nodes for the replicas..

Page 9: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Datanode Exchange

To decide whether to swap the first datanode with another datanode in the pipeline in order to give a chance to all nodes.

Page 10: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Fault tolerance for HDFS

• To check the validity of parameters, close all streams related to the block. move all packets in ACK queue back to data Queue

• To pick the primary datanode from active datanodes in pipeline, and use it to recover the other datanodes.

Page 11: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Fault tolerance for SMARTH

To stops the current block sending, and starts a recovery process as Alg. 3 to recover error pipelines in error pipeline set.

Page 12: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Buffer Overflow Problem

Two Conditions Limit the pipeline size to a maximum number ( the cluster size /

the number of replica), And if a datanode is already in a pipeline, it cannot be added into

other pipelines created by the same client. Result: Each datanode belongs to only one pipeline

Page 13: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Data imbalance problem

Conditions Always choose a random datanode from Top N as the first

datanode (N = the cluster size / the number of replica), And select other datanodes from left active datanodes.

Hence there is no imbalance problem.

Page 14: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Experiments – Setup

We use four different clusters in our evaluations. Three of the clusters are homogeneous consisted of one namenode and nine datanodes, i.e., of small, medium, or large instances. The other cluster is heterogeneous consisted of 3 small, 4 medium, and 3 large instance nodes

Page 15: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Experiments – Two-Rack Cluster

Page 16: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Experiments – Two-Rack Cluster

Page 17: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Experiments – Bandwidth Contention

Page 18: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Experiments – Heterogeneous Cluster

Without any network throttling, Figure 13 shows that it takes 289 seconds to upload an 8 GB file in HDFS, but SMARTH only takes 205 seconds, which is 41% faster.

Page 19: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

Conclusion

To introduce an asynchronous multi-pipeline file transfer protocol with a revised fault tolerance mechanism instead of the HDFS’s default stop-and-wait single-pipeline protocol.

To employ global and local optimization techniques to sort datanodes in pipelines based on the historical data transfer speed.

Page 20: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

SPLSQR: Optimizing HPC Performance and Scalability (ICCS 2012, 2013, Collaborative Project with Dr. John Dennis, NCAR)

20

A Scalable Parallel LSQR (SPLSQR) algorithm for solving large-scale linear system in seismic tomography and reservoir simulation. Main idea: optimize partition strategy

to significantly reduce the communication cost and improve the overall performance.

Much faster (17-74x) than the widely-used PETSc

Reported by NCSA magazine & NSF (http://www.nsf.gov/news/news_summ.jsp?cntn_id=128020&org=NSF&from=news)

Page 21: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

GPU Acceleration (TeraGrid11, HPCS12, IEEE TPDS)

Based on our accurate GPU performance modeling, optimize the performance of SpMV (Sparse Matrix-Vector Multiplication).

Main idea: a sparse matrix can be partitioned into blocks with optimal storage formats, which dramatically affect performance.

21

(Left) Accuracy of Performance model is around 9%(Right) Performance Improvement are around

41%, 50%, 38%, respectively.

Page 22: Enabling Multi-pipeline Data Transfer in HDFS for Big Data … · 2020. 1. 6. · Data Transfer in HDFS for Big Data Applications Liqiang (Eric) Wang, Hong Zhang University of Wyoming

22


Recommended