We would like to use MPI on Docker with arbitrarily configured clusters
(e.g. created with StarCluster or bare metal). What I'm curious about is if
there is a queue manager that understands Docker, file systems, MPI, and
OpenAuth. JupyterHub does a lot of this, but it doesn't interface with MPI.
Ideally, we'd like users to be able to queue up jobs directly from
JupyterHub.

Currently, we can configure and initiate an MPI-compatible Docker cluster
running on a VPC using Salt. What's missing is the ability to manage a
queue of these clusters. Here's a list of requirements:


   - JupyterHub users do not have Unix user ids
   - Containers must be started as a non-root guest user (--user)
   - JupyterHub user's data directory is mounted in container
   - Data is shared via NFS or other cluster file system
   - sshd runs in container for MPI as guest user
   - Results have to be reported back to GitHub user
   - MPI network must be visible (--net=host)
   - Queue manager must be compatible with the above
   - JupyterHub user is not allowed to interact with Docker directly
   - Docker images are user selectable (from an approved list)
   - Jupyter and MPI containers started from same image

Know of a system which supports this?

Our code and config are open source, and your feedback would be greatly
appreciated.

Salt configuration: https://github.com/radiasoft/salt-conf
Container builders:
https://github.com/radiasoft/containers/tree/master/radiasoft
Early phase wiki: https://github.com/radiasoft/devops/wiki/DockerMPI

Thanks,
Rob

Reply via email to