designing a hybrid scale-up/out hadoop architecture based...

10
Designing A Hybrid Scale-Up/Out Hadoop Architecture Based on Performance Measurements for High Application Performance Zhuozhao Li and Haiying Shen Department of Electrical and Computer Engineering Clemson University, Clemson, SC 29631 Email: {zhuozhl, shenh}@clemson.edu Abstract—Since scale-up machines perform better for jobs with small and median (KB, MB) data sizes while scale-out machines perform better for jobs with large (GB, TB) data size, and a workload usually consists of jobs with different data size levels, we propose building a hybrid Hadoop architecture that includes both scale-up and scale-out machines, which however is not trivial. The first challenge is workload data storage. Thousands of small data size jobs in a workload may overload the limited local disks of scale-up machines. Jobs from scale- up and scale-out machines may both request the same set of data, which leads to data transmission between the machines. The second challenge is to automatically schedule jobs to either scale-up or scale-out cluster to achieve the best performance. We conduct a thorough performance measurement of different applications on scale-up and scale-out clusters, configured with Hadoop Distributed File System (HDFS) and a remote file sys- tem (i.e., OFS), respectively. We find that using OFS rather than HDFS can solve the data storage challenge. Also, we identify the factors that determine the performance differences on the scale- up and scale-out clusters and their cross points to make the choice. Accordingly, we design and implement the hybrid scale- up/out Hadoop architecture. Our trace-driven experimental results show that our hybrid architecture outperforms both the traditional Hadoop architecture with HDFS and with OFS in terms of job completion time. Keywords-Hadoop; scale-up; scale-out; remote file system; I. I NTRODUCTION MapReduce [13] is a framework designed to process a large amount of data in the parallel and distributed manner on a cluster of computing nodes. Hadoop, as a popular open source implementation of MapReduce, has been deployed in many large companies such as Facebook, Google and Yahoo!. In the last decade, the amount of computation and data increases exponentially [7]. This trend poses a formidable challenge of high performance on MapReduce and motivates many researchers to explore to improve the performance from different aspects such as job scheduling [2], [4], [15], [16], short jobs performance optimization [14] and intermediate data shuffling [6], [11], [12], [22]. A common sense in the IT community is that a larger Hadoop cluster of machines is always better for processing big data, i.e., a very large volume of data in terabytes, petabytes or exabytes. Recent studies indicate that most jobs in the production workloads (e.g., at Facebook [10] and Hadoop MapReduce HDFS Hadoop MapReduce HDFS Hadoop MapReduce HDFS Hadoop MapReduce HDFS Figure 1: Typical Hadoop with HDFS local storage. Scaleup Hadoop OrangeFS Scaleout Hadoop Scaleout Hadoop Scaleout Hadoop OrangeFS OrangeFS OrangeFS Figure 2: Hybrid scale-up/out Hadoop with a remote stor- age. Microsoft [20] clusters) usually have input/shuffle/output sizes in the MB to GB range. These production clusters with many small jobs suffer from poor performance because the existing Hadoop MapReduce clusters were not originally designed for short and latency-sensitive jobs [14]. Therefore, optimizing the performance of short jobs is important. To process the current production workloads, Appuswamy et al. [8] claimed that scale-up machines is a better option than scale-out machines. Scale-up is vertical scaling, which means adding more resources to the nodes of a system, typically the processors and RAM. Scale-out is horizontal scaling, which refers to adding more nodes with few pro- cessors and RAM to a system. A real-world workload usually consists many jobs han- dling diverse data size levels and computations. Also, in this big data era, the data size handled by jobs has been in- creasingly larger. We calculated the Cumulative Distribution Function (CDF) of the data sizes of more than 6000 jobs in the Facebook synthesized workload trace FB-2009 [9] and show the results in Figure 3. We see that the input data size ranges from KB to TB. Specifically, 40% of the jobs process less than 1MB small datasets, 49% of the jobs process 1MB to 30GB median datasets, and the rest 11% of the jobs process more than 30GB large datasets. Such a workload requires both scale-up and scale-out machines to handle datasets with different size levels. Therefore, it is not prac- tical to simply decide to use scale-up machines or scale-out

Upload: others

Post on 20-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Designing A Hybrid Scale-Up/Out Hadoop Architecture Based ...hs6ms/publishedPaper/Conference/2015/Scal… · with many small jobs suffer from poor performance because the existing

Designing A Hybrid Scale-Up/Out Hadoop Architecture Based on PerformanceMeasurements for High Application Performance

Zhuozhao Li and Haiying ShenDepartment of Electrical and Computer Engineering

Clemson University, Clemson, SC 29631Email: {zhuozhl, shenh}@clemson.edu

Abstract—Since scale-up machines perform better for jobswith small and median (KB, MB) data sizes while scale-outmachines perform better for jobs with large (GB, TB) data size,and a workload usually consists of jobs with different data sizelevels, we propose building a hybrid Hadoop architecture thatincludes both scale-up and scale-out machines, which howeveris not trivial. The first challenge is workload data storage.Thousands of small data size jobs in a workload may overloadthe limited local disks of scale-up machines. Jobs from scale-up and scale-out machines may both request the same set ofdata, which leads to data transmission between the machines.The second challenge is to automatically schedule jobs to eitherscale-up or scale-out cluster to achieve the best performance.We conduct a thorough performance measurement of differentapplications on scale-up and scale-out clusters, configured withHadoop Distributed File System (HDFS) and a remote file sys-tem (i.e., OFS), respectively. We find that using OFS rather thanHDFS can solve the data storage challenge. Also, we identify thefactors that determine the performance differences on the scale-up and scale-out clusters and their cross points to make thechoice. Accordingly, we design and implement the hybrid scale-up/out Hadoop architecture. Our trace-driven experimentalresults show that our hybrid architecture outperforms boththe traditional Hadoop architecture with HDFS and with OFSin terms of job completion time.

Keywords-Hadoop; scale-up; scale-out; remote file system;

I. INTRODUCTION

MapReduce [13] is a framework designed to process alarge amount of data in the parallel and distributed manneron a cluster of computing nodes. Hadoop, as a popular opensource implementation of MapReduce, has been deployedin many large companies such as Facebook, Google andYahoo!. In the last decade, the amount of computationand data increases exponentially [7]. This trend poses aformidable challenge of high performance on MapReduceand motivates many researchers to explore to improve theperformance from different aspects such as job scheduling[2], [4], [15], [16], short jobs performance optimization [14]and intermediate data shuffling [6], [11], [12], [22].

A common sense in the IT community is that a largerHadoop cluster of machines is always better for processingbig data, i.e., a very large volume of data in terabytes,petabytes or exabytes. Recent studies indicate that most jobsin the production workloads (e.g., at Facebook [10] and

HadoopMapReduce

HDFS

HadoopMapReduce

HDFS

HadoopMapReduce

HDFS

HadoopMapReduce

HDFS

File System Test Configuration

Figure 1: Typical Hadoop with HDFS local storage.Scale‐upHadoop

OrangeFS

Scale‐outHadoop

Scale‐outHadoop

Scale‐out    Hadoop

Remote Client Test Configuration

OrangeFS OrangeFS OrangeFS

Figure 2: Hybrid scale-up/out Hadoop with a remote stor-age.

Microsoft [20] clusters) usually have input/shuffle/outputsizes in the MB to GB range. These production clusterswith many small jobs suffer from poor performance becausethe existing Hadoop MapReduce clusters were not originallydesigned for short and latency-sensitive jobs [14]. Therefore,optimizing the performance of short jobs is important. Toprocess the current production workloads, Appuswamy etal. [8] claimed that scale-up machines is a better optionthan scale-out machines. Scale-up is vertical scaling, whichmeans adding more resources to the nodes of a system,typically the processors and RAM. Scale-out is horizontalscaling, which refers to adding more nodes with few pro-cessors and RAM to a system.

A real-world workload usually consists many jobs han-dling diverse data size levels and computations. Also, inthis big data era, the data size handled by jobs has been in-creasingly larger. We calculated the Cumulative DistributionFunction (CDF) of the data sizes of more than 6000 jobs inthe Facebook synthesized workload trace FB-2009 [9] andshow the results in Figure 3. We see that the input data sizeranges from KB to TB. Specifically, 40% of the jobs processless than 1MB small datasets, 49% of the jobs process 1MBto 30GB median datasets, and the rest 11% of the jobsprocess more than 30GB large datasets. Such a workloadrequires both scale-up and scale-out machines to handledatasets with different size levels. Therefore, it is not prac-tical to simply decide to use scale-up machines or scale-out

Page 2: Designing A Hybrid Scale-Up/Out Hadoop Architecture Based ...hs6ms/publishedPaper/Conference/2015/Scal… · with many small jobs suffer from poor performance because the existing

0

0.2

0.4

0.6

0.8

1

1E+00 1E+03 1E+06 1E+09 1E+12 1E+15

CDF

Input data size

Figure 3: CDF of input datasize in the Facebook synthe-sized trace.

Execution tim

e

Amount of a factor that affects the performance

Cross point

Scale‐up

Scale‐out

Figure 4: Cross point.

machines for a workload. Motivated by these observations,we see the great potential to design a Hadoop architecturewith coexistence of both scale-up and scale-out machines toimprove the performance of real-world workloads. However,this task is non-trivial due to two main challenges.• Proper data storage to enable both scale-up machinesand scale-out machines efficiently access data needed. TheFacebook trace shows that thousands of jobs (85%) handlesmall or median data size levels. Since majority jobs arebetter to run in scale-up machines, these jobs may overloadthe local disks of scale-up machines. Also, both scale-up andscale-out machines may request the same workload dataset,which leads to data transmission between the machines andmay degrade the application performance.• Adaptively scheduling a job to either scale-up clusteror scale-out cluster that benefits the job the most. Simplyreferring to job input data size may not be sufficient andthere may exist other factors that determine the performancedifference between scale-up and scale-out clusters.

In this paper, we aim to investigate the feasibility ofdesigning such a hybrid architecture and start the initialexploration. Hadoop Distributed File System (HDFS) is thefile system designed to closely work with Hadoop MapRe-duce (Figure 1). To handle the first challenge, we couldlet HDFS consider both scale-out and scale-up machinesequally as datanodes for data distribution. However, in thiscase, scale-up machines must frequently access data in scale-out machines, which not only degrades their job performancebut also consumes their bandwidth. We then explore han-dling this challenge by using a remote dedicated storagesystem (e.g., OrangeFS [5] (Figure 2). The dedicated storageoffloads I/O load from the compute nodes and enablesthe data sharing between scale-up machines and scale-outmachines easily. To handle the second challenge, we needto decide not only the factors that affect the performancedifference between scale-up cluster and scale-out cluster butalso the cross points of the factors for the selection. Asshown in Figure 4, the cross point is the amount of a factor,at which the scale-up and scale-out clusters provide similarperformance and if the actual amount is higher or lower than

Table I: Four architectures in our measurement.

Scale-up Scale-outOFS up-OFS out-OFS

HDFS up-HDFS out-HDFS

the cross point, one cluster provides better performance.To this end, by taking advantage of the Clemson Uni-

versity Palmetto HPC cluster that was successfully con-figured Hadoop by replacing the local HDFS with theremote OrangeFS (OFS), we configured four architecturesas shown in Table I: scale-up machines with OFS (denotedby up-OFS), scale-up machines with HDFS (denoted by up-HDFS), scale-out machines with OFS (denoted by out-OFS),and scale-out machines with HDFS (denoted by out-HDFS).We then measure the performance of representative Hadoopapplications (i.e., shuffle-intensive and map-intensive) onthese architectures. Through the measurement, we aim tosee if the use of a remote file system can provide efficientdata storage as we expected and whether it brings aboutany side-effect to scale-up cluster or scale-out cluster. Moreimportantly, we study the benefits gained from scale-upcluster and scale-out cluster, respectively, for different jobs,based on which we can decide where to run a given job.

Through our performance measurement, we confirm thebenefits of the remote file system, identify the factors (i.e.,input data size and shuffle/input data size ratio) that deter-mine the performance differences on the scale-up and scale-out clusters and their cross points to make the choice. Ac-cordingly, we design a hybrid scale-up/out Hadoop architec-ture. In this architecture, different jobs in a workload can beexecuted on either scale-up or scale-out cluster that benefitsthem the most, thus achieving higher workload performance.In this paper, we use execution time to evaluate applicationperformance. Our contributions are summarized below:1. We have identified comparable scale-up cluster and scale-out cluster, built four architectures shown in Table I and op-timized their configurations to achieve the best performanceby trial of experiments.2. We have conducted thorough experiments of different ap-plications on the four architectures with different input datasizes and provided an insightful analysis on the performance.3. Based on our measurement analysis, we design a sched-uler, which helps decide whether to execute a job on thescale-up or scale-out cluster to gain the most benefit. Wethen design a hybrid scale-up/out Hadoop architecture thatincorporates this scheduler and uses a remote file system.4. We have conducted experiments driven by the Facebooksynthesized workload trace, which show that our hybridarchitecture outperforms both the traditional Hadoop archi-tecture with HDFS and with OFS in terms of the executiontime.

As far as we know, our work is the first that i) studies theapplication performance on the four architectures in TableI, ii) proposes the idea of a hybrid scale-up/out Hadoop

2

Page 3: Designing A Hybrid Scale-Up/Out Hadoop Architecture Based ...hs6ms/publishedPaper/Conference/2015/Scal… · with many small jobs suffer from poor performance because the existing

architecture to better serve a real-world workload with jobshandling diverse data size levels and computations, and iii)introduces a method to build the hybrid scale-up/out Hadooparchitecture. Our new architecture is only an initial designand has many aspects to improve but we expect it canstimulate many researches on this topic.

The remainder of this paper is organized as follows.Section II describes the configurations of scale-up andscale-out machines for the HPC-based Hadoop. Section IIIpresents the performance measurements for different typesof applications on the four architectures. Section IV presentsour proposed hybrid scale-up/out Hadoop architecture. Sec-tion V presents the trace-driven experimental results of ourarchitecture compared with the traditional Hadoop. Sec-tion VI gives an overview of the related work. Section VIIconcludes the paper with remarks on our future work.

II. OPTIMIZATION OF THE HPC-BASED HADOOPMAPREDUCE CONFIGURATIONS

In this section, we introduce the details on how we con-figured Hadoop MapReduce on the Clemson Palmetto HPCcluster, which is ranked as the top five fastest supercom-puters at public universities in United States and the 66th

fastest supercomputers globally [3]. The HPC cluster makesit easy to build the hybrid scale-up/out Hadoop architecturedue to two reasons. First, a HPC center have different kindsof machines with different number of CPU cores and RAMsize, which allows us to build the architecture without anyfurther cost to buy new machines.

Second, the configuration of Hadoop with a remote s-torage makes the coexistence of scale-up and scale-outmachines in Hadoop possible. These machines can share thesame datasets and access their required data easily withoutfrequent data transmission between machines.

A. Introduction of Hadoop MapReduce

HDFS generally consists of a namenode that manages themetadata of the cluster and multiple datanodes used to storethe data blocks. The running process of a MapReduce jobis composed of three phases: map, shuffle and reduce. Eachnode has a specific number of map and reduce slots. Giventhe input data, HDFS divides it to input data size

block size number ofdata blocks and stores the blocks into datanodes. In the mapphase, the job tracker assigns each mapper to process onedata block in a datanode. The output of all the mappers isintermediate data (i.e., shuffle data). In the shuffle phase, theshuffle data is then partitioned and shuffled to correspondingreduce nodes. The shuffle data is copied to the reduce nodes’memory first. If the shuffle data size is larger than the sizeof in-memory buffer (which is determined by the heap size),the shuffle data will be spilled to local disk. In the reducephase, the reducers aggregate the shuffle data and generatethe final output.

B. Hadoop MapReduce on HPC Cluster

We use myHadoop [18] to automatically configureHadoop on the Clemson Palmetto HPC cluster. Recently, aJava Native Interface (JNI) shim layer has been implementedon the Clemson Palmetto HPC cluster that allows HadoopMapReduce to store input/output on a remote storage filesystem (i.e., OFS) directly. OFS is a parallel file systemthat distributes data across multiple servers. The remotestorage in general has much faster I/O performance thanlocal disks [1]. Moreover, because of the centralization ofremote storage, it is much easier to manage and maintainthan the local storage. With OFS, no modifications to theHadoop source code and MapReduce jobs are required.

C. Experiment Environment

In the experiments, we use Hadoop version 1.2.1. Weuse two machines for scale-up Hadoop MapReduce. Eachscale-up machine is equipped with four 6-core 2.66GHZIntel Xeon 7542 processors, 505GB RAM, 91GB hard disk,and 10Gbps Myrinet interconnections. The scale-out clusterconsists of twelve machines, each of which has two 4-core 2.3GHZ AMD Opteron 2356 processors, 16GB RAM,193GB hard disk, and 10Gbps Myrinet interconnections.

The reason that we select two scale-up machines andtwelve scale-out machines is because it makes the scale-upand scale-out clusters have the same price cost (accordingto the investigation of market), thus makes the performancemeasurements comparable. Previous research [8] used on-ly one scale-up machine and hence did not consider thenetwork performance between scale-up machines in theperformance study. In order not to exclude the network factorin the performance study, we use two scale-up machines andcomparably 12 scale-out machines.

We compare the performance of different types of ap-plications on four architectures in Table I. For the HDFSconfiguration, if one of the machines acts as both namenodeand datanode, it will degrade the performance of Hadoop.Since OFS itself has metadata servers, in order to achievefair comparison, we use an additional machine to serve asnamenode in HDFS.

D. Hadoop Configurations

It is important for us to optimize the configurations ofboth scale-up and scale-out machines, either with OFS orHDFS, to achieve the best application performance of thefour architectures.Heap size In Hadoop, each map and reduce task runs ina JVM. The heap size is the memory allocated to eachJVM for buffering data. If the memory is full, the datain memory is spilled to the local disk, which introducesoverhead. By default, the heap size is 200MB for eachJVM. Current modern servers (regardless of scale-out orscale-up machines) always provide sufficient memory forus to increase the heap size to reduce the overhead and

3

Page 4: Designing A Hybrid Scale-Up/Out Hadoop Architecture Based ...hs6ms/publishedPaper/Conference/2015/Scal… · with many small jobs suffer from poor performance because the existing

improve the JVM performance. However, if the heap sizeis too large, the memory used for heap is wasted andthe out of memory error may occur. To achieve the bestperformance and also avoid the out of memory error [8] inour experiments, through trial and error, we set the heap sizeto 8GB per task on scale-up machines, and to 1.5GB and1GB for shuffle-intensive and map-intensive applications onscale-out machines, respectively.Map and reduce slots To ensure the best performance, thetotal number of map and reduce slots is set to the number ofcores for both scale-up and scale-out machines. For example,if we use machines with 4-core CPUs, the sum of map andreduce slots is equal to 4. Therefore, in our experiments,each scale-up machine has 24 map and reduce slots, whileeach scale-out machine has 8 map and reduce slots in total.Remote file system strip size In HDFS, a file is brokeninto small blocks and each data block is processed by onemap task. It is important to set the block size properly, whichcannot be too small or too large. We set the HDFS blocksize to 128MB to match the setting in the current industryclusters. Similarly, OFS stores data in simple stripes (i.e.,similar as blocks in HDFS) across multiple storage serversin order to facilitate parallel access. The stripe size is 4KBin default. In order to compare OFS fairly with HDFS, wealso set the stripe size to 128MB.The number of remote storage servers There are 32remote storage servers in OFS in the Clemson HPC cluster.Each remote storage server consists of 2 SSD disks with aRAID-1 configuration and 5 SATA disks (ST32000644NS)with a RAID-5 configuration. The two SSD disks are usedfor storing metadata and the operating system for the remotestorage servers, while the 5 SATA disks are used to storedata. These 32 remote storage servers are connected withhigh-speed interconnection Myrinet, which is a high-speedlocal area network and has much lower protocol overheadthan standard Ethernet. Currently, these 32 remote storageservers are sufficient to provide low latency for around 2000machines on Palmetto and hence we do not need to worrythat this remote file system is not scalable to large HadoopMapReduce clusters. In our experiments, since each file inthe input data is not large (maximum 1GB) and the stripesize is set to 128MB, we do not need to use the full 32remote storage servers. Thus, in our experiments, we use 8(1GB/128MB) remote servers to store each file in parallel.Replication factor of HDFS In traditional large clusterHadoop MapReduce with HDFS, the replication factor isset to 3, which means that each file block has three replicas.In general, the first replica is in one node; the secondreplica is placed in a different rack from the node andthe third replica is placed in the same rack as the secondreplica. A large HDFS runs on a cluster of computers thatcommonly spread across many racks. Therefore, setting thereplication factor to 3 for large cluster helps spread the datato two different racks. However, because of the relatively

small scale of Hadoop cluster in our experiments (i.e., 12machines), the machines of our cluster are in the samerack, which means it is not necessary to set the replicationfactor to 3. To reduce the bandwidth consumption and timeto replicate data and also spread replicas among nodes tohelp achieve high data locality, we set the replication factorof HDFS to 2. For the remote file system OFS, it currentlydoes not support build-in replications. However, it does notaffect our measurement performance since data loss neveroccurs in OFS during our experiments.RAM drive of scale-up machines The scale-up machinesprovide a large amount of memory size (i.e., 505GB inthe experiments), which is an advantage of the scale-upmachines. Even though we set the heap size to 8GB, thereis much memory space left. To fully take advantage of theunused memory in the scale-up machines, Palmetto enablesto use half of the total memory size as tmpfs, which servesthe same functions as RAMdisk. On the other hand, sincethe memory size is limited on the scale-out machines (i.e.,16GB), we do not use memory as RAMdisk.Shuffle data placement Although the Clemson PalmettoHPC cluster allows us to configure Hadoop with remote filesystem OFS, we only can place input and output data toOFS, but cannot place shuffle data to OFS, which requiresthe modification of Hadoop MapReduce code. Then, we stillneed to utilize the local file system to store the shuffle data.For the scale-up machines in our experiments (either withHDFS or OFS), we place the shuffle data on RAMdisks,which improves the shuffle data I/O performance greatly.For scale-out machines, we store the shuffle data in the localdisks (i.e., HDD).

III. PERFORMANCE MEASUREMENT OF APPLICATIONS

In this section, we compare the performance of shuffle-intensive and map-intensive jobs with different input datasizes on the four architectures in Table I. Shuffle-intensiveapplications have large shuffle data size, while map-intensiveapplications generally do not contain large shuffle data size.We expect to provide a thorough analysis on how differentapplications benefit from scale-up and scale-out clusters, andon remote storage and local storage respectively.

A. Types of Applications

The applications we use include Wordcount, Grep, andthe write test of TestDFSIO. Among them, Wordcount andGrep are typical shuffle-intensive applications. Specifically,Wordcount and Grep have only relatively large input andshuffle size but small output size. We generated the inputdata by BigDataBench [21] based on the Wikipedia datasetsfor Wordcount and Grep. The write test of TestDFSIO is typ-ical map-intensive applications. We measure the followingmetrics of each job:• Execution time, which is the job running time and calcu-lated by the job ending time minus job starting time.

4

Page 5: Designing A Hybrid Scale-Up/Out Hadoop Architecture Based ...hs6ms/publishedPaper/Conference/2015/Scal… · with many small jobs suffer from poor performance because the existing

0.8

1

1.2

1.4

1.6

1.8

0.5 1 2 4 8

16

32

64

128

256

448

Norm

alized execution 

time

Input data size (GB)

out‐OFS up‐OFS

out‐HDFS up‐HDFS

(a) Execution time.

0.8

1

1.2

1.4

0.5 1 2 4 8163264

128

256

448

Norm

ailized m

ap 

phase duration

Input data size (GB)

out‐OFS up‐OFS

out‐HDFS up‐HDFS

(b) Map phase duration.

0

20

40

60

80

100

0.5 1 2 4 8

16

32

64

128

256

448

Shuffle phase 

duration (s) 

Input data size (GB)

out‐OFS up‐OFS

out‐HDFS up‐HDFS

(c) Shuffle phase duration.

0

5

10

15

20

0.5 1 2 4 8

16

32

64

128

256

448

Reduce phase 

duration (s)

Input data size (GB)

out‐OFS up‐OFSout‐HDFS up‐HDFS

(d) Reduce phase duration.

Figure 5: Measurement results of shuffle-intensive Wordcount.

0.6

0.8

1

1.2

1.4

1.6

0.5 1 2 4 8

16

32

64

128

256

448

Norm

alized execution 

time

Input data size (GB)

out‐OFS up‐OFS

out‐HDFS up‐HDFS

(a) Execution time.

0.6

1

1.4

1.80.5 1 2 4 816

32

64

128

256

448

Norm

alized m

ap 

phase duration

Input data size (GB)

out‐OFS up‐OFSout‐HDFS up‐HDFS

(b) Map phase duration.

0

10

20

30

40

50

60

0.5 1 2 4 8

16

32

64

128

256

448

Shuffle phase 

duration (s) 

Input data size (GB)

out‐OFS up‐OFSout‐HDFS up‐HDFS

(c) Shuffle phase duration.

0

4

8

12

0.5 1 2 4 8

16

32

64

128

256

448

Reduce phase 

duration (s)

Input data size (GB)

out‐OFS up‐OFSout‐HDFS up‐HDFS

(d) Reduce phase duration.

Figure 6: Measurement results of shuffle-intensive Grep.

• Map phase duration calculated by the last map task’sending time minus the first map task’s starting time.• Shuffle phase duration calculated by the last shuffle task’sending time minus the last map task’s ending time.• Reduce phase duration, which is the time elapsed fromthe ending time of the last shuffle task to the end of the job.

Note that due to the limitation of local disk size, up-HDFScannot process the jobs with input data size greater than80GB.

Since the execution time and map phase duration of jobswith different input data sizes differs greatly, it is difficultto see the experimental results of small data sizes in thefigures. Therefore, we normalize execution time and mapphase duration results by the results of up-OFS, since weonly focus on the performance comparison among up-OFS,up-HDFS, out-OFS, and out-HDFS, rather than the exactexecution time or map phase duration. For example, if a jobrunning on up-OFS and up-HDFS has an execution time of10 and 20 seconds, respectively, then up-OFS on the figureis shown as 1, while up-HDFS on the figure is shown as 2.And we only need to know from the figure that up-OFS hasbetter performance than up-HDFS.

B. Performance of Shuffle-Intensive Applications

Figures 5(a) and 6(a) show the execution time of Word-count and Grep versus different input data sizes, respec-tively. We see that when the input data size is small (0.5-8GB), the performance of Wordcount and Grep all follows:up-HDFS>up-OFS>out-HDFS>out-OFS. Recall that thenumber of required map slots equals d input data size

block size e. Thescale-up machines have better performance when the input

data size is small because of three reasons. First, the twoscale-up machines can provide the majority of required mapslots of the small jobs (defined as jobs with small input datasize), which means that the jobs can be completed in only afew task waves. The number of map (reduce) waves of a jobis calculated by the number of distinct start times from allmappers (reducers) of the job. Thus, small jobs can benefitmore from more powerful CPU resources of the scale-upmachines than from scale-out machines. Second, these jobsare all shuffle-intensive and their performance is very relatedto the memory resource. The map outputs are copied to thereduce nodes’ memory, which is limited by the heap size. Alarger heap size makes it less likely to spill the map outputsto the local disks. The more memory resource of scale-upmachines provides larger heap size and hence enhances theperformance of these shuffle-intensive applications. Third,for the shuffle data placement, the RAMdisks in the scale-upmachines are much faster than the local disks in the scale-outmachines.

When the input data size is small, the performance of out-HDFS is around 20% (calculated by OFS−HDFS

HDFS ) betterthan out-OFS, and up-HDFS is around 10% better thanup-OFS. Although a remote file system has better I/Operformance than HDFS [1], its advantage cannot be shownfor small jobs. This is caused by the network latency inthe communication with the remote file storage, which isindependent on the data size. When the data size is small,the execution time is also small and the network latencyoccupies a relatively high portion of the total execution time.Then, the performance of the remote file system becomes

5

Page 6: Designing A Hybrid Scale-Up/Out Hadoop Architecture Based ...hs6ms/publishedPaper/Conference/2015/Scal… · with many small jobs suffer from poor performance because the existing

slightly worse than the local file system. However, we seethat up-OFS performs around 10-25% better than out-HDFS,which means that scale-up Hadoop with remote file systemoutperforms the traditional scale-out Hadoop with HDFS.

We also see from the figures that when the input data sizeis large (>16GB), the performance of Wordcount and Grepfollows out-OFS>out-HDFS>up-OFS>up-HDFS. It meansthat scale-out machines are better for the shuffle-intensivejobs with large input data size (i.e., large jobs) than scale-upmachines. The reason is that a large input data size usuallyrequires a large number of map slots, which however is theprimary bottleneck of scale-up machines though they havemore powerful CPU resources. The requirements of moremap slots and less task waves of large jobs make them ben-efit more from the scale-out machines. OFS performs betterthan HDFS because the more powerful dedicated remoteservers in OFS and the high speed HPC interconnections(i.e., 10Gbps Myrinet) can provide a higher I/O performancethan HDFS.

Furthermore, we see from the figures that as the inputdata size increases, the performance on scale-up machinesdecreases while the performance on scale-out machinesincreases. The two applications have different performancedegrading speed on scale-up machines as the input data sizeincreases though they are all shuffle-intensive applications.The cross points of input data size of Wordcount andGrep are close to 32GB and 16GB, respectively. That is,when the input data size of a Wordcount (or Grep) issmaller than 32GB (or 16GB), then it performs better inscale-up machines, otherwise, it performs better in scale-out machines. This cross point difference between the jobsis caused by the different shuffle/input ratio calculated byshuffle data sizeinput data size . Given the same input data size, if a job’s

shuffle data size is large, it can benefit more from the largememory and fast RAMdisk of the scale-up machines in theshuffle phrase, thus reduces the shuffle phase duration. Inour experiments, regardless of the input data size of thejobs, the shuffle/input ratio of Wordcount and Grep arealways around 1.6 and 0.4, respectively. Therefore, the largershuffle data size of Wordcount leads to slower applicationperformance degradation on the scale-up machines when theinput data size increases and a larger cross point than otherapplications.

To illustrate the cross points of Wordcount and Grep, wedraw Figure 7, which shows the normalized execution timeof each job on the scale-out cluster by its execution time onthe scale-up cluster (e.g., execution time on scale−out(Grep)

execution time on scale−up(Grep) ),denoted by out-OFS-Wordcount and out-OFS-Grep, respec-tively. Wordcount with a larger shuffle/input ratio has ahigher cross point (i.e., near 32GB) than the cross point(i.e., near 16GB) of Grep with smaller shuffle/input ratios.A higher shuffle/input ratio leads to a higher cross point, andvice versa. Near the cross point, the benefit from scale-outcluster due to large input data size equals the benefit from

0.8

1

1.2

1.4

0 10 20 30 40 50 60 70 80 90 100

Norm

ailized 

execution tim

e

Input data size (GB)

Normalizedout‐OFS‐Wordcountout‐OFS‐Grep

3216

Figure 7: Cross points ofWordcount and Grep.

0.8

0.91

1.1

1.21.3

0 10 20 30

Norm

ailized 

execution tim

e

Input data size (GB)

Normalized

out‐OFS‐Write

10

Figure 8: Cross point ofwrite test of TestDFSIO.

scale-up cluster due to large shuffle data size. When the inputdata size is smaller than the cross point, scale-up cluster is abetter choice, otherwise, scale-out cluster is a better choice.

Since the execution time is determined by the durationsin the map, shuffle and reduce phases, we then study thesebroken-down durations. Figures 5(b) and 6(b) show the mapphase duration of Wordcount and Grep, respectively. Wesee that the map phase duration of these jobs has similarperformance trends and order as the job execution time.When the input data size is small (0.5-8GB), the map phaseduration is shorter on scale-up than on scale-out; when theinput data size is large (>16GB), the map phase durationis shorter on scale-out than on scale-up. This is mainlybecause the map phase duration consists of more waves ofmap tasks on scale-up machines than on scale-out machines.Comparing OFS and HDFS in either scale-up or scale-outmachines, we see that when the input data size is between0.5 and 8GB, the map phase duration of these jobs are 10-50% shorter on HDFS. However, up-OFS still outperformsout-HDFS by 10-25% because of the higher benefits fromscale-up machines for small jobs. When the input data size islarger than 16GB, the map phase duration is 10-40% shorteron OFS than on HDFS, no matter on the scale-up or scale-out cluster.

Figures 5(c) and 6(c) show the shuffle phase duration ofWordcount and Grep, respectively. We see that the shufflephase duration is always shorter on scale-up machines thanon scale-out machines. This is because the shuffle phasebenefits from the larger memory resource and the RAMdiskof scale-up machines. We then can conclude from the mapphase and shuffle phase figures: the cross point appears whenthe benefit of shuffle phase from scale-up machines is notable to compensate the drawback of scale-up machines dueto fewer map and reduce slots.

Figures 5(d) and 6(d) show the reduce phase durationof Wordcount and Grep, respectively. The reduce phase ofWordcount and Grep just aggregates the map outputs, whichhave small size. Therefore, Wordcount and Grep use only afew seconds during reduce phase after the shuffle phase. Wesee neither OFS nor HDFS affects the reduce phase durationof Wordcount and Grep, since the reduce phase duration issmall.

6

Page 7: Designing A Hybrid Scale-Up/Out Hadoop Architecture Based ...hs6ms/publishedPaper/Conference/2015/Scal… · with many small jobs suffer from poor performance because the existing

0

1

2

3

4

1 3 5

10

30

50

80

100

300

500

800

1000

Norm

alized 

execution tim

e

Input data size (GB)

out‐OFSup‐OFSout‐HDFSup‐HDFS

(a) Execution time.

0

1

2

3

4

1 3 510

30

50

80

100

300

500

800

1000

Norm

alized m

ap 

phase duration

Input data size (GB)

out‐OFSup‐OFSout‐HDFSup‐HDFS

(b) Map phase duration.

0

4

8

12

16

1 3 510305080

100

300

500

800

1000

Shuffle phase 

duration (s)

Input data size (GB)

out‐OFS up‐OFSout‐HDFS up‐HDFS

(c) Shuffle phase duration.

02468

10

1 3 510

30

50

80

100

300

500

800

1000

Reduce phase 

duration (s)

Input data size (GB)

out‐OFS up‐OFSout‐HDFS up‐HDFS

(d) Reduce phase duration.

Figure 9: Measurement results of map-intensive write test of TestDFSIO.

C. Performance of Map-Intensive Applications

In this section, we show the performance evaluation ofthe write test of TestDFSIO. In the write test, each map taskis responsible for writing a file. Therefore, the number ofmappers is equal to the number of files. There is only onereduce task, which collects and aggregates the statistics ofthe map tasks, such as completion time of write and filesize.

Figure 9(a) shows the normalized execution time ofTestDFSIO write test versus input data size, respectively.Again, scale-up machines are the best for small jobs (1-5GB)because small jobs do not require many mappers and scale-up machines can provide the required map slots and betterCPU than scale-out machines. However, the execution timedifference of TestDFSIO between scale-up and scale-out isnot as significant as the shuffle-intensive applications. Thisis because TestDFSIO is map-intensive application, whichdo not have large shuffle data. Therefore, the large memorybenefit of scale-up machines for improving shuffle phaseduration is not exhibited in map-intensive applications.

On the other hand, for large input data size (≥10GB) (i.e.,a large number of mappers), the performance follows out-OFS>up-OFS>out-HDFS. For large jobs, running on scale-out machines with remote storage is better than scale-upmachines with remote storage because scale-out machineshave more map slots and large jobs can be completed infewer task waves. Running on scale-out machines with localstorage results in the worst performance because the localdisks are slower than the remote storage and the remote filesystem OFS can provide higher I/O performance than HDFS.

Figures 9(b), 9(c) and 9(d) show the map, shuffle andreduce phase durations of the write test, respectively. Sincethe map phase of TestDFSIO completes the majority work inthe jobs, while the shuffle phase only collects the statisticsand the reduce phase simply aggregates the results, we seethat in the write tests, the map phase duration exhibits asimilar performance trends as the execution time. The shuffleand reduce phase durations of both tests are quite small(<8s), and they exhibit no specific relationships and are notaffected by either OFS or HDFS. Comparing OFS and HDFSin either the scale-up or scale-out cluster, when the inputdata size is small (1-5GB), HDFS leads to 10-20% shorter

map phase duration. However, up-OFS still generates 5-15%shorter map phase duration than out-HDFS. When the inputdata size is large (≥10GB), OFS leads to 50− 80% shortermap phase duration, a significant improvement.

We conclude that for map-intensive jobs in our experimentenvironment, if the input data size is small (1-5GB), thescale-up machines are the better choice because of betterCPU. On the other hand, if the input data size is large(≥10GB), scale-out machines can achieve better perfor-mance because of more map and reduce slots and betterI/O performance of OFS over HDFS.

Figure 8 shows the normalized execution time of the write(denoted by out-OFS-Write) of TestDFSIO on the scale-out cluster by its execution time on the scale-up cluster,respectively. We see that the cross point is around 10GB forboth tests. Since the shuffle size (in KB) is negligible (whichmakes the shuffle/input ratio close to 0) in both tests, thesemap-intensive jobs benefit little from the scale-up machinesduring the shuffle phase. We conclude that the cross point formap-intensive applications is smaller than shuffle-intensiveapplications.

Conclusions• Input data size and shuffle/input ratio affect the benefitsgained from scale-up and scale-out clusters. When the inputdata size is small, the scale-up cluster outperforms the scale-out cluster, and when the input data size is large, the scale-out cluster outperforms scale-up machines. The cross pointof the input data size depends on the shuffle data size; alarger shuffle size leads to more benefits from the scale-upmachines and vice versa.• Hadoop with a remote file system improves the perfor-mance of Hadoop with HDFS when jobs are scheduled torun on the scale-up or scale-out cluster to gain more benefits.

IV. A HYBRID SCALE-UP/OUT HADOOP ARCHITECTURE

A traditional Hadoop cluster only has scale-out machinesin general. However, we have demonstrated in Section IIIthat different jobs perform better on scale-up machines or onscale-out machines. In current real-world workloads, the jobsare increasingly diverse mix of computations and data sizelevels. Recall that in Section I improving the performance

7

Page 8: Designing A Hybrid Scale-Up/Out Hadoop Architecture Based ...hs6ms/publishedPaper/Conference/2015/Scal… · with many small jobs suffer from poor performance because the existing

of small jobs is important for production clusters. Therefore,we propose a new Hadoop architecture including both scale-up and scale-out machines to achieve better performance forreal-world workloads.

As indicated in Section I, there exist two main chal-lenges for building such a new architecture: data storageand scale-up or scale-out selection. For the data storagechallenge, HDFS and storing all data blocks needed byscale-up machines in themselves are not efficient methods.Besides, this latter solution requires the modification ofthe function of the namenode to decide where to store thedata blocks based on the jobs handling them. Since usuallydata is distributed before jobs are launched, this solutionintroduces not only extra overhead and but also complexityto the namenode’s function. We then use a remote filesystem (e.g., OFS) for the hybrid Hadoop architecture, thefeasibility and advantage of which are shown in SectionIII. Since both scale-up and scale-out machines can bemounted with the same remote file system on HPC, jobscan read/write data no matter they are scheduled to the scale-up or scale-out clusters without data transmission betweenmachines. Moreover, using a remote file system allows usto implement the hybrid architecture without modifying thenamenode code for data distribution. Intuitively, it seems thatthis hybrid architecture improves the performance of smalljobs at the cost of the performance of large jobs becausethe traditional Hadoop cluster has more map and reduceslots than the hybrid architecture. However, we demonstratein Section V that even with the hybrid architecture, theperformance of large jobs is improved due to better I/Operformance of OFS over HDFS and less slot competitionfor large jobs.

To handle the second challenge, we leverage our obser-vations in Section III to make the decisions based on jobcharacteristics. Our experiments show that when a job hasshuffle/input ratio between 0.4 and 1, if the input data sizeis smaller than 16GB, scale-up is a better choice, otherwise,scale-out is a better choice. When a job has shuffle/inputratio equals 1.6, if the input data size is smaller than 32GB,scale-up is a better choice, otherwise, scale-out is a betterchoice. We generalize 1.6 to ratios greater 1. We considerjobs with shuffle/input ratios less than 0.4 as map-intensivejobs, for which when the input data size is smaller than10GB, scale-up is a better choice, otherwise, scale-out isa better choice. Based on these observations, we design analgorithm to decide whether scale-up or scale-out is a betterchoice for a given job based on its shuffle/input ratio andinput data size.

We assume that the shuffle/input ratio is input by the users,which means that either the users once ran the jobs beforeor the jobs are well-known as map-intensive. If the usersdo not know the shuffle/input ratio of the jobs anyway, wetreat the jobs as map-intensive (i.e., shuffle/input ratio lessthan 0.4) and hence the cross points of the jobs are smaller

(i.e., 10GB). This is because we need to avoid schedulingany large jobs to the scale-up machines. Otherwise, itwould result in performance degradation of small jobs. Thepseudo-code of this algorithm is shown in Algorithm 1. Weimplemented this scheduler in Linux bash script.

Note the cross points in our algorithm are from themeasurement results from our architecture configurations.A fine-grained ratio partition can be conducted from moreexperiments with other different jobs to make the algorithmmore accurate. Also, different configurations of scale-upand scale-out machines will lead to different cross pointresults. In this paper, we only attempt to show the factorsaffecting the scale-up and scale-out selection and how theyaffect the selection decision, and provide a method to designthe selection algorithm for the hybrid architecture. Otherdesigners can follow the same method to measure the crosspoints in their systems and develop the hybrid architecture.

Algorithm 1 Selecting scale-up or scale-out for a given job.Inputs: NextJob: next job in the queue

Input: input data size of the jobS/I: shuffle/input ratio

1: while NextJob exists in the job queue do2: if shuffle/input ratio > 1 then3: if InputDataSize < 32GB then4: Scale-up ← NextJob5: else6: Scale-out ← NextJob7: end if8: else if 0.4 ≤ shuffle/input ratio ≤ 1 then9: if InputDataSize < 16GB then

10: Scale-up ← NextJob11: else12: Scale-out ← NextJob13: end if14: else15: if InputDataSize < 10GB then16: Scale-up ← NextJob17: else18: Scale-out ← NextJob19: end if20: end if21: end while

V. PERFORMANCE EVALUATION

In this section, we use the Facebook synthesized workloadFB-2009 [10] to evaluate the performance of our hybridscale-up/out Hadoop architecture compared with traditionalHadoop architecture. The CDF of input data size of thisworkload is shown in Figure 3. We see that more than 80%of jobs have an input data size less than 10GB. Due to thelimitation of space, please refer the other characteristics ofthis workload to [10]. We used 2 scale-up machines and12 scale-out machines to deploy the hybrid scale-up/outarchitecture with the OFS remote file system (Hybrid inshort), and the hardware configurations of these machines

8

Page 9: Designing A Hybrid Scale-Up/Out Hadoop Architecture Based ...hs6ms/publishedPaper/Conference/2015/Scal… · with many small jobs suffer from poor performance because the existing

0

0.2

0.4

0.6

0.8

1

10 20 30 40 50 60 70 80 90

CDF

Execution time (s)

Hybrid

THadoop

RHadoop

(a) Execution time of scale-up jobs.

0

0.2

0.4

0.6

0.8

1

0 50 100 150 200 250 300

CDF

Execution time (s)

HybridTHadoopRHadoop

0.8

0.9

1

200 2200 4200

(b) Execution time of scale-out jobs.

Figure 10: Measurement results of the Facebook workloadexperiment.

are the same as explained in Section III. As a baseline, wedeployed a traditional Hadoop cluster (THadoop in short)with HDFS and a Hadoop cluster with remote file systemOFS (RHadoop in short) using 24 scale-out machines (whichhave comparably the same total cost as the machines in thehybrid architecture) and one additional namenode. Since thetrace workload is synthesized from a 600-machine clusterand we did our experiments on 24 machines, we shrank theinput/shuffle/output data size of the workload by a factor of 5to avoid disk insufficiency. We ran the Facebook workloadconsecutively on these two architectures based on the jobarrival time in the traces. We refer to the jobs that arescheduled to scale-up cluster and scale-out cluster by ourscheduler as scale-up jobs and scale-out jobs, respectively.

Figure 10(a) shows the CDF of the execution time of thescale-up jobs in the workload. We see that the executiontime distribution of Hybrid is much broader than THadoopand RHadoop. Their maximum execution time for scale-upjobs is 48.53s, 83.37s and 68.17s, respectively. This resultdemonstrates the effectiveness of the hybrid architecture inimproving the performance of small jobs. RHadoop has theworst performance because OFS performs worse than HDFSfor small input data sizes on the scale-out Hadoop.

Figure 10(b) shows the CDF of the execution time ofthe scale-out jobs in the workload. In order to illustratethe figure clearly, we only show the scale-out jobs withexecution time less than 200s in the main figure, and use theembedded small figure to show those with execution timegreater than 200s. For scale-out jobs, the maximum execu-tion time is 1207s, 3087s and 2734s on Hybrid, THadoopand RHadoop, respectively. The percent of jobs completedafter 1207s on THadoop and RHadoop are 4.4% and 1.4%,respectively. Benefitting from the higher I/O performance ofOFS, RHadoop outperforms THadoop for large input sizes.

Intuitively, it seems that we improve the performance ofscale-up jobs at the cost of the performance of scale-out jobsand the scale-out jobs should have better performance onTHadoop because THadoop has more map and reduce slotsthan Hybrid. However, Figure 10(b) shows that Hybrid stilloutperforms THadoop and RHadoop even for scale-out jobs,indicating that Hybrid improves not only the performance

of scale-up jobs but also the scale-out jobs. There aretwo main reasons. The first reason is because Hybrid isconfigured with the remote file system, which provides betterperformance for jobs with large input sizes than HDFS, asshown in Section III. The second reason is that althoughthere are more map and reduce slots in THadoop, a largeamount of scale-up jobs in the workload occupy the slotsand have poor performance due to less powerful CPU, thusresulting in a long time before releasing the occupied slots toscale-out jobs. On the contrary, in Hybrid, all the scale-upjobs are run on the scale-up cluster, while scale-out jobsrun on the scale-out cluster. Therefore, scale-out jobs inHybrid do not need to compete with scale-up jobs for slotsor with other scale-out jobs because only 15% of the jobsin the workload are scale-out jobs. Similarly, this is also thereason that Hybrid outperforms RHadoop for scale-out jobs.Therefore, scale-out jobs in Hybrid can always be providedwith more map and reduce slots than THadoop or RHadoop,resulting in the best performance in Hybrid.

VI. RELATED WORK

MapReduce [13] has been a popular framework thatperforms parallel computations on big data. Cluster provi-sioning, configuring and managing for the Hadoop clustersis essential, which requires thorough understanding of theworkloads. Recently, there are many efforts devoted tocharacterizing the workloads in real-world cluster. Chen etal. [10] analyzed two production MapReduce traces fromYahoo! and Facebook in order to establish a vocabulary fordescribing MapReduce workloads. Ren et al. [19] character-ized the workload of Taobao production Hadoop cluster toprovide an understanding of the performance and the jobcharacteristics of Hadoop in the production environment.Kavulya et al. [17] analyzed MapReduce logs from the M45supercomputing cluster. Appuswamy et al. [8] conductedan evaluation of representative Hadoop jobs on scale-upand scale-out machines, respectively. They found that scale-up machines achieve better performance for jobs with datasize at the range of MB and GB. Our work is differentfrom the above workload characterization works is thatour work is the first that compare the performance of theHadoop workloads in the four architectures shown in TableI. Many works focus on improving the performance ofthe MapReduce clusters from different aspects such as jobscheduling [2], [4], [15], [16], intermediate data shuffling[6], [11], [12], [22] and improving small job performance[14]. Unlike these previous works that focus on improvingthe performance of traditional Hadoop, our work focuseson designing a new hybrid scale-up/out Hadoop architecturethat fully utilizes both the advantages of scale-up and scale-out machines for different jobs in a workload to improve itsperformance.

9

Page 10: Designing A Hybrid Scale-Up/Out Hadoop Architecture Based ...hs6ms/publishedPaper/Conference/2015/Scal… · with many small jobs suffer from poor performance because the existing

VII. CONCLUSION

Since a real-world workload usually has many jobs withincreasingly diverse mix of computations and data sizelevels, solely using either scale-up or scale-out cluster to runa workload cannot achieve high performance. Thus, in thispaper, we explore building a hybrid scale-up/out Hadooparchitecture. However, building such an architecture facestwo main challenges. First, how to distribute data blocksof a workload dataset to avoid degrading node performancecaused by limited local disk or data transmission betweennodes. Second, how to decide whether to use scale-up orscale-out cluster for a given job. To handle these challenges,we have conducted performance measurement of differentapplications on four HPC-based Hadoop platforms: scale-upmachines with OFS, scale-out machines with OFS, scale-upmachines with HDFS, and scale-out machines with HDFS.Based on our measurement results, we design a hybridscale-up/out Hadoop architecture, which uses a remote filesystem rather than HDFS and has a scheduler to determineusing scale-up or scale-out for a given job to achieve betterperformance. We further conducted experiments driven bythe Facebook synthesize workload to demonstrate that thisnew architecture outperforms both the traditional Hadoopwith HDFS and with OFS. This is the first work thatproposes the hybrid architecture. We consider our work as astarting point and expect it will stimulate many other workson this topic. In our future work, we will try to optimizethe scheduler such as the load balancing between the scale-up machines and scale-out machines. For example, if manysmall jobs arrive at the same time without any large jobs, allthe jobs will be scheduled to the scale-up machines, resultingin imbalance allocation of resources between the scale-upand scale-out machines.

ACKNOWLEDGEMENTS

This research was supported in part by U.S. NSF grantsNSF-1404981, IIS-1354123, CNS-1254006, CNS-1249603,and Microsoft Research Faculty Fellowship 8300751.

REFERENCES

[1] Accelerate Hadoop MapReduce Performance using DedicatedOrangeFS Servers. http://www.datanami.com/2013/09/09/accelerate hadoop mapreduce performance usingdedicated orangefs servers.html. [Accessed in Dec. 2014].

[2] Capacity Scheduler. http://hadoop.apache.org/docs/r1.2.1/capacity scheduler.html. [Accessed in Dec. 2014].

[3] Clemson Palmetto. http://newsstand.clemson.edu/mediarelations/clemson-supercomputers-ranked-in-top-5-fastest-at-public-universities. [Accessed in Dec. 2014].

[4] Fair Scheduler. http://hadoop.apache.org/docs/r1.2.1/fairscheduler.html. [Accessed in Dec. 2014].

[5] OrangeFS. http://www.orangefs.org. [Accessed in Dec. 2014].

[6] Using Lustre with Apache Hadoop.http://wiki.lustre.org/images/1/1b/Hadoop wp v0.4.2.pdf.[Accessed in Dec. 2014].

[7] S. Agrawal. The Next Generation of Apache Hadoop MapRe-duce. Apache Hadoop Summit India, 2011.

[8] R. Appuswamy, C. Gkantsidis, D. Narayanan, O. Hodson,and A. Rowstron. Scale-up vs scale-out for hadoop: Time torethink? In Proc. of SOCC, 2013.

[9] Y. Chen, S. Alspaugh, and R. Katz. Interactive AnalyticalProcessing in Big Data Systems: A CrossIndustry Study ofMapReduce Workloads. In Proc. of VLDB, 2012.

[10] Y. Chen, A. Ganapathi, R. Griffith, and R. Katz. The Case forEvaluating MapReduce Performance Using Workload Suites.In Proc. of MASCOTS, 2011.

[11] T. Condie, N. Conway, P. Alvaro, J. M. Hellerstein,K. Elmeleegy, and R. Sears. Mapreduce online. In Proc.of NSDI, 2010.

[12] P. Costa, A. Donnelly, A. Rowstron, and G. O’Shea. Cam-doop: Exploiting in-network aggregation for big data appli-cations. In Proc. of NSDI, 2012.

[13] J. Dean and S. Ghemawat. MapReduce: Simplified DataProcessing on Large Clusters. In Proc. of OSDI, 2004.

[14] K. Elmeleegy. Piranha: Optimizing Short Jobs in Hadoop. InProc. of VLDB Endow, 2013.

[15] R. Grandl, G. Ananthanarayanan, S. Kandula, S. Rao, andA. Akella. Multi-resource Packing for Cluster Schedulers. InProc. of SIGCOMM, 2014.

[16] B. Hindman, A. Konwinski, M. Zaharia, A. Ghodsi, A. D.Joseph, R. Katz, S. Shenker, and I. Stoica. Mesos: A platformfor fine-grained resource sharing in the data center. In Proc.of NSDI, 2011.

[17] S. Kavulya, J. Tan, R. Gandhi, and P. Narasimhan. Ananalysis of traces from a production MapReduce cluster. InProc. of CCGRID, 2010.

[18] S. Krishnan, M. Tatineni, and C. Baru. myHadoop-Hadoop-on-Demand on Traditional HPC Resources. Technical report,2004.

[19] Z. Ren, X. Xu, J. Wan, W. Shi, and M. Zhou. Workloadcharacterization on a production Hadoop cluster: A case studyon Taobao. In Proc. of IISWC, 2012.

[20] A. Rowstron, D. Narayanan, A. Donnelly, G. O’Shea, andA. Douglas. Nobody ever got fired for using hadoop on acluster. In Proc. of HotCDP, 2012.

[21] L. Wang, J. Zhan, C. Luo, Y. Zhu, Q. Yang, Y. He, W. Gao,Z. Jia, Y. Shi, S. Zhang, et al. Bigdatabench: A big databenchmark suite from internet services. In Proc. of HPCA,2014.

[22] Y. Wang, C. Xu, X. Li, and W. Yu. Jvm-bypass for efficienthadoop shuffling. In Proc. of IPDPS, 2013.

10