Simplify HPC and Batch workloads on Azure
Перейти к файлу
Fred Park 457ca75e6f Add GitHub link to README 2016-08-31 20:57:10 -07:00
cascade First part of the guide/docs 2016-08-31 15:35:33 -07:00
config_templates First part of the guide/docs 2016-08-31 15:35:33 -07:00
docs Complete guide/docs 2016-08-31 20:44:44 -07:00
resources Azure file dvd support for all supported hosts 2016-08-29 12:12:50 -07:00
scripts Finalize repo for batch shipyard docker image 2016-08-31 09:19:22 -07:00
.gitignore Add dummy README 2016-07-18 08:15:56 -07:00
.travis.yml Reorganize project 2016-08-27 11:35:32 -07:00
CHANGELOG.md Rename sample configs as config templates 2016-08-31 09:38:33 -07:00
CONTRIBUTING.md Fix shipyard container issues 2016-08-26 23:09:10 -07:00
Dockerfile Update README 2016-08-31 10:44:38 -07:00
LICENSE Add dummy README 2016-07-18 08:15:56 -07:00
README.md Add GitHub link to README 2016-08-31 20:57:10 -07:00
requirements.txt Prep for ghpages 2016-08-31 11:16:43 -07:00
shipyard.py Complete guide/docs 2016-08-31 20:44:44 -07:00

README.md

Build Status Docker Pulls Image Layers

Batch Shipyard

Batch Shipyard is a tool to help provision and execute Dockerized workloads on Azure Batch compute pools. No experience with the Azure Batch SDK is needed; run your batch-style Docker tasks through easy-to-understand configuration files!

Major Features

  • Automated Docker Host Engine installation on compute nodes
  • Automated deployment of required Docker images to compute nodes
  • Accelerated Docker image deployment at scale to compute pools consisting of a large number of compute nodes via peer-to-peer distribution of Docker images among the VMs
  • Automated Docker Private Registry instance creation on compute nodes backed to Azure Storage if specified
  • Automated Azure File Docker Volume Driver installation and share setup for SMB/CIFS backed to Azure Storage if specified
  • Seamless integration with Azure Batch job, task and file concepts along with full pass-through of the Azure Batch API to containers executed on compute nodes
  • Support for task dependencies to allow for complex processing pipelines with Docker containers
  • Support for multi-instance tasks to accomodate Dockerized MPI applications on compute pools
  • Transparent assist for creating Docker containers utilizing Infiniband/RDMA for MPI on HPC low-latency Azure VM instances (STANDARD_A8 and STANDARD_A9)
  • Automatic set up of SSH tunneling to Docker Hosts on compute nodes if specified

Installation

Simply clone the repository:

git clone https://github.com/Azure/batch-shipyard.git

or download the latest release.

Requirements

The Batch Shipyard tool is written in Python. The client script is compatible with Python 2.7 or 3.3+. You will also need to install the Azure Batch and Azure Storage python packages. Installation can be performed using the requirements.txt file via the command pip install --user -r requirements.txt (or via pip3 for python3).

Host OS (Compute Node) Support

Batch Shipyard is currently only compatible with Linux Batch Compute Pools configured via VirtualMachineConfiguration. Please see the list of Azure Batch supported Marketplace Linux VMs for use with Batch Shipyard.

Documentation

Please refer to this guide for a complete primer on concepts and usage.

Limitations

  • Oracle Linux is not supported with Batch Shipyard at this time.
  • Task dependencies are incompatible with multi-instance tasks. This is a current limitation of the underlying Azure Batch service.
  • Only Intel MPI can be used in conjunction Infiniband/RDMA on Azure Linux VMs. This is a current limitation of the underlying VM and host drivers.

ChangeLog

See the CHANGELOG.md file.


This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.