You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by Owen O'Malley <ow...@yahoo-inc.com> on 2006/05/31 06:26:21 UTC

benchmark on my 200 node cluster

After observing the speed differential on my 200 node cluster between 
the fast and slow nodes as seen in HADOOP-253, I wanted to try running 
more smaller reduces. So instead of the default 400 reduces, which 
could all start at the beginning of execution, I used 700 instead. This 
means that all of the nodes run at least 2 reduces and the fastest 150 
nodes run an additional 2 reduces each.  Clearly, in a case where all 
of the nodes are well balanced, that will lose because the second round 
of data shuffling doesn't overlap the maps. However, in the presence of 
failures or uneven hardware, it will be a win.

That brought down my run time on sorting my 2010 gigabyte dataset from 
8.5 hours to 6.6 hours. For those of you who are keeping score, that 
means that at the start of the month the sort benchmark was taking 47 
hours and is now taking 6.6 hours on the same hardware.

Note that it would have also made sense to double the block size on the 
inputs, so that the size of data on each of the M*R data paths stays 
constant, but I wanted to try the changes independently. As for my 
other config choices, the only non-default ones are:

dfs.block.size=134217728
io.sort.factor=100
io.file.buffer.size=65536
mapred.reduce.parallel.copies=10

I'm also looking forward to trying out Ben Reed's patches to reduce the 
number of trips to disk in the reduces.

-- Owen