Skip to content
Simplify HPC and Batch workloads on Azure
Python Shell Jupyter Notebook Dockerfile Other
Branch: master
Clone or download

Latest commit

Latest commit d6da749 Dec 13, 2019

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Fix nvidia-docker2 installation Jul 20, 2018
.vsts Update to Python 3.7.5 Nov 15, 2019
cargo Support Singularity image encryption Nov 13, 2019
cascade Update dependencies Nov 15, 2019
config_templates Add ignore GPU warnings option Dec 12, 2019
contrib Add Ubuntu 18.04 Packer Script for SR-IOV IB/RDMA Dec 2, 2019
convoy Tag for 3.9.1 release Dec 13, 2019
docs Tag for 3.9.1 release Dec 13, 2019
federation Update dependencies Nov 15, 2019
heimdall Update dependencies Nov 15, 2019
images Post-release fixes Nov 17, 2019
recipes Post-release fixes Nov 17, 2019
schemas Add ignore GPU warnings option Dec 12, 2019
scripts Update shared file systems installers Dec 13, 2019
site-extension Update Function App guide Oct 1, 2019
slurm Update dependencies Nov 15, 2019
.gitattributes Add AppVeyor build Aug 10, 2017
.gitignore Allow CentOS 7.3 on NC/NV Jul 6, 2017
.travis.yml Minor post-release fixes Aug 14, 2019
CHANGELOG.md Tag for 3.9.1 release Dec 13, 2019
CODE_OF_CONDUCT.md Update docs Aug 29, 2017
CONTRIBUTING.md Update docs Aug 29, 2017
LICENSE Add dummy README Jul 18, 2016
README.md Tag for 3.9.0 release Nov 15, 2019
THIRD_PARTY_NOTICES.txt Minor post-release fixes Aug 14, 2019
appveyor.yml Fix AppVeyor issue Oct 23, 2019
install.cmd Update dependencies Nov 5, 2018
install.sh
mkdocs.yml Add Singularity Encrypted Image guide Nov 13, 2019
req_nodeps.txt Update dependencies Nov 5, 2018
requirements.txt Update dependencies Nov 15, 2019
shipyard.py Add no wait option for pool add command Nov 25, 2019

README.md

Build Status Build Status Build status

Batch Shipyard

dashboard

Batch Shipyard is a tool to help provision, execute, and monitor container-based batch processing and HPC workloads on Azure Batch. Batch Shipyard supports both Docker and Singularity containers. No experience with the Azure Batch SDK is needed; run your containers with easy-to-understand configuration files. All Azure regions are supported, including non-public Azure regions.

Additionally, Batch Shipyard provides the ability to provision and manage entire standalone remote file systems (storage clusters) in Azure, independent of any integrated Azure Batch functionality.

Major Features

Container Runtime and Image Management

Data Management and Shared File Systems

Monitoring

Open Source Scheduler Integration

Azure Ecosystem Integration

Azure Batch Integration and Enhancements

  • Federation support: enables unified, constraint-based scheduling to collections of heterogeneous pools, including across multiple Batch accounts and Azure regions
  • Support for simple, scenario-based pool autoscale and autopool to dynamically scale and control computing resources on-demand
  • Support for Task Factories with the ability to generate tasks based on parametric (parameter) sweeps, randomized input, file enumeration, replication, and custom Python code-based generators
  • Support for multi-instance tasks to accommodate MPI and multi-node cluster applications packaged as Docker or Singularity containers on compute pools with automatic job completion and task termination
  • Seamless, direct high-level configuration support for popular MPI runtimes including OpenMPI, MPICH, MVAPICH, and Intel MPI with automatic configuration for Infiniband, including SR-IOV RDMA VM sizes
  • 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 Azure Batch task dependencies allowing complex processing pipelines and DAGs
  • Support for merge or final task specification that automatically depends on all other tasks within the job
  • Support for job schedules and recurrences for automatic execution of tasks at set intervals
  • Support for live job and job schedule migration between pools
  • Support for Low Priority Compute Nodes
  • Support for deploying Batch compute nodes into a specified Virtual Network and pre-defined public IP addresses
  • Automatic setup of SSH or RDP users to all nodes in the compute pool and optional creation of SSH tunneling scripts to Docker Hosts on compute nodes
  • Support for custom host images including Shared Image Gallery
  • Support for Windows Containers on compliant Windows compute node pools with the ability to activate Azure Hybrid Use Benefit if applicable

Installation

Local Installation

Please see the installation guide for more information regarding the various local installation options and requirements.

Azure Cloud Shell

Batch Shipyard is integrated directly into Azure Cloud Shell and you can execute any Batch Shipyard workload using your web browser or the Microsoft Azure Android and iOS app.

Simply request a Cloud Shell session and type shipyard to invoke the CLI; no installation is required. Try Batch Shipyard now in your browser.

Documentation and Recipes

Please refer to the Batch Shipyard Documentation on Read the Docs.

Visit the Batch Shipyard Recipes section for various sample container workloads using Azure Batch and Batch Shipyard.

Batch Shipyard Compute Node Host OS Support

Batch Shipyard is currently compatible with popular Azure Batch supported Marketplace Linux VMs, compliant Linux custom images, and native Azure Batch Windows Server with Containers VMs. Please see the platform image support documentation for more information specific to Batch Shipyard support of compute node host operating systems.

Change Log

Please see the Change Log for project history.


Please see this project's Code of Conduct and Contributing guidelines.

You can’t perform that action at this time.