[
https://issues.apache.org/jira/browse/MAPREDUCE-2911?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13251937#comment-13251937
]
Ralph H Castain commented on MAPREDUCE-2911:
--------------------------------------------
Hi Steve
{quote}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.
{quote}
A grid is very different from an HPC cluster, which are far more common (grids
have been dying out over the last few years). We never see data pulled over
long-haul connections - frankly, you don't see people doing it any more on
grids either due to the unreliability and delays in delivery. HPC clusters are
almost always homogeneous (I think I've seen two heterogeneous HPC clusters
outside of a lab so far), and generally are backed by a parallel file system
that actually does provide pretty uniform access times. Remember: MPI jobs use
MPI-IO to fetch/write data, and they write a lot more data than they read (as
per my prior note).
Thus, once an allocation is given, there is no startup delay like you describe.
There is some time required to load binaries and libs onto each node, but that
scales well and goes very fast. As per my other note, we figured out how to
solve that a while back. :-)
{quote}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).
{quote}
Agreed - so long as the MPI job is small enough, it should work.
{quote}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.
{quote}
I'm not sure how that would work - I guess you would have to interface
something like OGE/SGE to Yarn so that it could "rent" machines from Yarn? As
Milind noted, that interface is non-trivial today. I've talked to the GE folks
about it (as well as to the other major HPC RM orgs), but they don't have much
interest in providing such a capability - they are far more interested in the
reverse approach (i.e., running MR on an HPC cluster).
Situation could change as time passes and the interface stabilizes/becomes
easier.
HTH
Ralph
> 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