[
https://issues.apache.org/jira/browse/MAPREDUCE-2911?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13093502#comment-13093502
]
Milind Bhandarkar commented on MAPREDUCE-2911:
----------------------------------------------
The design is deliberately kept simple.
One script, "start-mpi -np <numnodes> -out hdfs://user/milind/nodes.lst" starts
the application master, which requests <numnodes> containers from resource
manager, and waits till all those containers become available. The "job client"
polls for application master to write a file called nodes.lst in specified
location on HDFS.
As containers become available, the application master spawns openmpi runtime
environment daemon (orted) in each of those containers.
When job client notices that nodes.lst is available on HDFS, it downloads it to
local directory, and exits.
MPI jobs are launched with regular:
mpirun -np <numnodes> -nodes <nodes.lst> executable
Multiple MPI jobs can be launched in the same virtual MPI cluster created by
start-mpi script.
After all MPI jobs are done, the cluster is dismantled with
stop-mpi <nodes.lst>
(first line of nodes.lst contains application master location and port.)
Currently, there is no authentication for MPI job submission on the cluster
started by the user. Thus, anyone can submit MPI jobs to any virtual MPI
cluster. (I promise to do it in the next version.)
Also, if any of the container (running orte), exits abnormally, entire virtual
MPI cluster is terminated. (This limitation will be removed in the next
version.)
There is one issue I am currently facing. I need at most one MPI container per
physical node (until I figure out how to avoid port conflicts etc). Any input
regarding how to achieve that, is welcome. My code walkthrough of resource
manager did not suggest anything obvious.
> 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: Milind Bhandarkar
> Fix For: 0.23.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.
For more information on JIRA, see: http://www.atlassian.com/software/jira