Skip to content

palindromed/batch-shipyard

 
 

Repository files navigation

Build Status Docker Pulls Image Layers

Batch Shipyard

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

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

  • Automated Docker Host Engine installation tuned for Azure Batch 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 VMs via private peer-to-peer distribution of Docker images among the compute nodes
  • Comprehensive data movement support: move data easily between locally accessible storage systems, remote filesystems, Azure Blob or File Storage, and compute nodes
  • Docker Private Registry support
  • Standalone Remote Filesystem Provisioning with integration to auto-link these filesystems to compute nodes with support for
  • Automatic shared data volume support
  • 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 Low Priority Compute Nodes
  • Support for Azure Batch task dependencies allowing complex processing pipelines and DAGs with Docker containers
  • Transparent support for GPU-accelerated Docker applications on Azure N-Series VM instances
  • Support for multi-instance tasks to accommodate Dockerized MPI and multi-node cluster applications on compute pools with automatic job completion and Docker task termination
  • Transparent assist for running Docker containers utilizing Infiniband/RDMA for MPI on HPC low-latency Azure VM instances:
    • A-Series: STANDARD_A8, STANDARD_A9
    • H-Series: STANDARD_H16R, STANDARD_H16MR
    • N-Series: STANDARD_NC24R (not yet ready with Linux hosts)
  • Automatic setup of SSH users to all nodes in the compute pool and optional tunneling to Docker Hosts on compute nodes
  • Support for credential management through Azure KeyVault
  • Support for execution on an Azure Function App environment
  • Support for custom host images

Installation

Installation is typically an easy two-step process. The CLI is also available as a Docker image: alfpark/batch-shipyard:cli-latest. Please see the installation guide for more information regarding installation and requirements.

Documentation

Please refer to the Batch Shipyard Guide for a complete primer on concepts, usage and a quickstart guide.

Please visit the Batch Shipyard Recipes for various sample Docker workloads using Azure Batch and Batch Shipyard after you have completed the introductory sections of the Batch Shipyard Guide.

Batch Shipyard Compute Node OS Support

Batch Shipyard is currently only compatible with Azure Batch supported Marketplace Linux VMs.

Change Log

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.

About

Execute batch and HPC Dockerized workloads on Azure Batch with shared file system provisioning and linking support

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 54.7%
  • Python 38.3%
  • Shell 6.8%
  • Batchfile 0.2%