Simplify HPC and Batch workloads on Azure
Перейти к файлу
Fred Park 80212e6593 Fix Batch Shipyard site extension upgrade (#113) 2017-08-16 08:26:18 -07:00
cascade Use multi-stage build for cascade 2017-08-15 19:14:37 -07:00
config_templates Misc doc updates 2017-08-10 08:40:07 -07:00
contrib Add deep learning notebooks to contrib (#111) 2017-08-14 08:54:01 -07:00
convoy Fix issues in RemoteFS 2017-08-16 08:14:08 -07:00
docs Update docs for notebooks 2017-08-15 14:15:40 -07:00
recipes Add Caffe2 recipes 2017-08-14 10:39:15 -07:00
resources Azure file dvd support for all supported hosts 2016-08-29 12:12:50 -07:00
rjm Add monitor_task_completion for recurring jobs 2017-08-09 07:57:56 -07:00
scripts Fix issues in RemoteFS 2017-08-16 08:14:08 -07:00
site-extension Fix Batch Shipyard site extension upgrade (#113) 2017-08-16 08:26:18 -07:00
tfm Change autogen task id property to complex 2017-08-08 08:45:15 -07:00
.gitattributes Add AppVeyor build 2017-08-10 10:29:22 -07:00
.gitignore Allow CentOS 7.3 on NC/NV 2017-07-06 11:12:05 -07:00
.travis.yml Misc doc updates 2017-08-10 08:40:07 -07:00
CHANGELOG.md Tag for 2.9.0 release 2017-08-15 13:28:55 -07:00
CONTRIBUTING.md Add a contributing recipes guide 2016-10-27 12:53:12 -07:00
Dockerfile Update Dockerfiles to Alpine 3.6 2017-06-26 11:12:11 -07:00
Dockerfile.develop Update Dockerfiles to Alpine 3.6 2017-06-26 11:12:11 -07:00
LICENSE Add dummy README 2016-07-18 08:15:56 -07:00
README.md Add AppVeyor build 2017-08-10 10:29:22 -07:00
appveyor.yml Install with intended tag for site extension 2017-08-15 13:55:36 -07:00
install.cmd Add conda-forge detection to windows script 2017-06-26 07:58:28 -07:00
install.sh Update docs add WSL support 2017-06-29 08:58:41 -07:00
requirements.txt Perform client checks 2017-08-15 13:26:59 -07:00
shipyard.py Add job schedule support to commands 2017-08-08 15:02:53 -07:00

README.md

Build Status 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.

Batch Shipyard is now 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.

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 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 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:
  • Support for job schedules and recurrences for automatic execution of tasks at set intervals
  • Support for live job and job schedule migration between pools
  • 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

Azure Cloud Shell

Batch Shipyard is now integrated into Azure Cloud Shell with no installation required. Simply request a Cloud Shell session and type shipyard to invoke the CLI.

Local 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 compatible with supported Marketplace Linux VMs and Linux custom images supported by Azure Batch.

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.