AI for Science Job Queue - A distributed job queue system for large scale embarassingly parallel workloads
Project description
AI for Science JobQ
The main documentation is hosted at microsoft.github.io/ai4s-jobq.
Installation
To install, run
pip install ai4s-jobq
# or, if you log data to app insights and want to use a local dashboard:
pip install ai4s-jobq[track]
The ai4s.jobq package enables multiple users to push work items to an Azure Queue or an Azure Servicebus, while one or more workers pull and process tasks asynchronously. This approach is useful in scenarios where:
- Tasks are too small to justify the overhead of launching an Azure ML job for each one.
- Workloads need to be distributed across diverse environments (for example, Azure ML clusters in different regions).
- Throughput control is desired, scaling workers up or down as needed.
By decoupling job creation from execution, ai4s.jobq allows users to queue up tasks in advance and process them at a controlled rate based on resource availability.
Key Features
-
Native Azure Queues: Uses Azure Storage queues or Servicebus, no additional infrastructure.
-
Robustness: Jobs automatically reappear in the queue if a worker fails to complete them (for example, after pre-emptions or crashes).
-
Simple CLI Usage:
# Azure Storage Queue export QUEUE=my_storage_account_name/my_queue_name # ...or Azure Servicebus (pick one!) export QUEUE=sb://my_service_bus/my_queue_name ai4s-jobq $QUEUE push -c "echo hello" ai4s-jobq $QUEUE worker
(Requires Storage Queue Data Contributor role on the selected storage account for Azure Storage Queues or Azure Service Bus Data Owner role for Servicebus.)
-
Advanced Python API: Efficient handling of I/O-bound tasks, minimizing overhead in blob storage interactions and reducing the need for manual multi-threading/multi-processing.
-
Scalability & Efficiency: Enables large-scale distributed batch processing while being able to rely on cheap and available pre-emptible compute.
-
Observability: Workers can transmit telemetry which powers a Grafana/local dashboard to monitor queue progress.
AI for Science: Powering Large-Scale Research
ai4s.jobq is a critical tool in Microsoft Research -- AI for Science, enabling researchers to handle massive computational workloads with ease. It plays a key role in:
🔹 Generating large-scale synthetic datasets for AI-driven simulations. 🔹 Efficiently pre- and post-processing vast amounts of scientific data. 🔹 Scaling model evaluation by managing high-throughput inference workloads.
Why AI for Science relies on ai4s.jobq
🚀 Maximizing Compute Efficiency
By seamlessly leveraging preemptible compute across diverse environments, ai4s.jobq significantly boosts scalability while reducing costs—accelerating scientific discovery without wasted resources.
🛠 Focusing on Science, Not Infrastructure
Researchers can stay focused on their work instead of dealing with unreliable infrastructure. ai4s.jobq abstracts away system failures and optimizes task execution, freeing up valuable time for breakthroughs in AI and science.
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft’s Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party’s policies.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai4s_jobq-3.9.1.tar.gz.
File metadata
- Download URL: ai4s_jobq-3.9.1.tar.gz
- Upload date:
- Size: 1.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9e370598b950d10e481cf7a36339f66087d18ca1ab96068a642ecccba90ea03
|
|
| MD5 |
130bdec16c65a1f8c48b6fd6fca60710
|
|
| BLAKE2b-256 |
56ef87dd89f791f0da303ca505a32c14c923b7bdaf4c32cc934cf0fa56cf7c92
|
Provenance
The following attestation bundles were made for ai4s_jobq-3.9.1.tar.gz:
Publisher:
pypi-deployment.yml on microsoft/ai4s-jobq
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai4s_jobq-3.9.1.tar.gz -
Subject digest:
d9e370598b950d10e481cf7a36339f66087d18ca1ab96068a642ecccba90ea03 - Sigstore transparency entry: 1369346062
- Sigstore integration time:
-
Permalink:
microsoft/ai4s-jobq@34761af5977f0804bf9af9217141c2d302092b4e -
Branch / Tag:
refs/tags/v3.9.1 - Owner: https://github.com/microsoft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-deployment.yml@34761af5977f0804bf9af9217141c2d302092b4e -
Trigger Event:
push
-
Statement type:
File details
Details for the file ai4s_jobq-3.9.1-py2.py3-none-any.whl.
File metadata
- Download URL: ai4s_jobq-3.9.1-py2.py3-none-any.whl
- Upload date:
- Size: 136.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba2ce7148d76269eca4b96dc02fea66d7209fb442adac7e2e3361118d9e3203b
|
|
| MD5 |
2826ce16488449249c0abfe8e41cf121
|
|
| BLAKE2b-256 |
9f4cc8f286c871d97f6f78df9ce0f0e7f6986213979ef557ac4a971b6191a0bc
|
Provenance
The following attestation bundles were made for ai4s_jobq-3.9.1-py2.py3-none-any.whl:
Publisher:
pypi-deployment.yml on microsoft/ai4s-jobq
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai4s_jobq-3.9.1-py2.py3-none-any.whl -
Subject digest:
ba2ce7148d76269eca4b96dc02fea66d7209fb442adac7e2e3361118d9e3203b - Sigstore transparency entry: 1369346153
- Sigstore integration time:
-
Permalink:
microsoft/ai4s-jobq@34761af5977f0804bf9af9217141c2d302092b4e -
Branch / Tag:
refs/tags/v3.9.1 - Owner: https://github.com/microsoft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-deployment.yml@34761af5977f0804bf9af9217141c2d302092b4e -
Trigger Event:
push
-
Statement type: