[ 
https://issues.apache.org/jira/browse/MAPREDUCE-2911?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13251919#comment-13251919
 ] 

Steve Loughran commented on MAPREDUCE-2911:
-------------------------------------------

Classic HPC systems contain some expections that aren't present in normal 
Hadoop clusters

# low-latency IPC & APIs to access it for messaging
# shared location-independent filesystem (e.g. SAN, GPFS, ...) 
# highly calibrated C++ compiler and library systems to guarantee consistent 
output of FPU- and GPU- intensive code.
# C/C++ code with lots of MPI code scattered through out for synchronization.
# either checkpointing of long-lived work or timespan limits for jobs.

There are some other features that aren't necessarily design goals but have 
arisen
# lots of smaller per-facility sites with different architectures rather than 
one or two large-scale datacentres.
# limited local storage (due to cost of storage solution)
# a reliance on zero-costed internet-2/SuperJanet/... interconnect to pull data 
from shared repositories (for CERN, the national tier-1 sites such as 
Rutherford Appleton Laboratories)
# high operations cost relative to storage and compute capacity (due to small, 
heterogenous, multi-site clusters, selected storage solutions)


If you look at the UK university grid 
[http://pprc.qmul.ac.uk/~lloyd/gridpp/ukgrid.html] you can see that although 
there are lots of clusters, they are of limited storage capacity -that storage 
also forces you to choose where to run the work or rely on job preheating to 
pull it in from RAL or elsewhere. (latency to do this is lower than pulling off 
tape). You can also see that there are lot of jobs in the queues, including 
short-lived health tests that verify work reaches the expected answers. I don't 
know about the duration/needs of the actual work jobs.

When you consider job startup delays you have to look at time to fetch data 
over long-haul connections, maybe compile code for target cluster, and 
recognise that without a SAN you can't expect uniform access times to all data.

What you would get from MPI over hadoop is the ability to run MPI work on the 
cluster -a cluster which, if it also had infiniband on, would have low-latency 
interconnections. (yes, there is a cost for that, but you may want it for a 
shared cluster). 

What about an MPI mechanism that has a Grid Scheduler that block-rents a set of 
machines that an then be used for multiple jobs off the MPI queue, and which 
aren't released after each job? Once the capacity on the hosts is allocated, 
health checks can verify the machines work properly, then it can await work. 
The scheduler can look at the pending queue and flex its set of machines based 
on expected load?

Job startup would be reduce to the time to push out work to the pre-allocated 
hosts, which doesn't need to rely on heartbeats and could use Zookeeper or 
other co-ordination services.

This wouldn't be a drop in replacement for one of the big supercomputing 
clusters, but it would let people run MPI jobs within a Hadoop cluster. 

                
> Hamster: Hadoop And Mpi on the same cluSTER
> -------------------------------------------
>
>                 Key: MAPREDUCE-2911
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2911
>             Project: Hadoop Map/Reduce
>          Issue Type: New Feature
>          Components: mrv2
>    Affects Versions: 0.23.0
>         Environment: All Unix-Environments
>            Reporter: Milind Bhandarkar
>            Assignee: Ralph H Castain
>             Fix For: 0.24.0
>
>   Original Estimate: 336h
>  Remaining Estimate: 336h
>
> MPI is commonly used for many machine-learning applications. OpenMPI 
> (http://www.open-mpi.org/) is a popular BSD-licensed version of MPI. In the 
> past, running MPI application on a Hadoop cluster was achieved using Hadoop 
> Streaming (http://videolectures.net/nipsworkshops2010_ye_gbd/), but it was 
> kludgy. After the resource-manager separation from JobTracker in Hadoop, we 
> have all the tools needed to make MPI a first-class citizen on a Hadoop 
> cluster. I am currently working on the patch to make MPI an 
> application-master. Initial version of this patch will be available soon 
> (hopefully before September 10.) This jira will track the development of 
> Hamster: The application master for MPI.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to