Code Monkey home page Code Monkey logo

multinode_sshwrapper's Introduction

multinode_sshwrapper

Description

This is a singularity container demonstrating multi node MPI via SSH wrapper. The specialty is that the MPI installation is inside the container, and that no MPI on the host system is being used. This is accomplished by packaging OpenMPI and the Infiniband/IPath drivers inside the container.

To demonstrate how it works you will run a short gromacs job using

  • 4 local MPI threads on localhost
  • 2x2 MPI threads on two host specified by you

Both tasks should take approximately the same time.

Limitations

  • I have tested this using QDR InfiniBand HCA (Intel TrueScale) on our bwForCluster JUSTUS. I did not try to perform this via standard ethernet although it should be doable. I guess some parameters or environment variables would be needed to try this out. If you have other hardware you might need to install additional driver packages inside the container.
  • The container ignores your RM and/or queueing system. Further changes would be needed to integrate that well into whatever it is you are using.

Prerequisites

  • This container is tested with Singularity Version 2.3 and above.

  • In order to properly submit a multi node job the nodes must be accessible via SSH keys (password-less)

  • The container needs to reside on a shared location which is accessible from each node.

  • Furthermore, each node needs to have the same singularity installation / configuration as the host you are invoking the multi node MPI job on. The default config should just do fine.

Usage

Pull this image onto the login node of a multi host HPC system and run it in single node mode

singularity pull shub://katakombi/multinode_sshwrapper
./katakombi-multinode_sshwrapper-master.img

Use top to ensure that there are four local cores being occupied.

In order to submit it multi node (here n0720 and n0726, you need to use the hostnames or IPs of your nodes, respectively) execute:

export SINGULARITYENV_SINGULARITY_IMAGE="$PWD/katakombi-multinode_sshwrapper-master.img"
singularity exec "$SINGULARITYENV_SINGULARITY_IMAGE" /.singularity.d/runscript n0726,n0720

During the short run, use top on the compute nodes to ensure that on each of them two cores are being occupied.

Credits

Credit to whom it is due: https://github.com/ambu50/docker-ib-mpi https://github.com/ambu50/wrapper-sq/blob/master/papers/docker_paper_IEEE.pdf

multinode_sshwrapper's People

Contributors

serious-steve avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

citarulm

multinode_sshwrapper's Issues

Containers-ftw

heya @katakombi ! I can't access my cluster with ssh without a password - would you be able to record an asciinema of the container doing it's magic? Thank you!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.