Skip to content

New async & distributed ML backend (aka "PSv2") #515

Description

@mihow

Status update (2026-06-27): PSv2 is now the platform default. #1353 merged & deployed — async_pipeline_workers defaults to True and all existing projects were migrated to the async/distributed backend. The async path (JobDispatchMode.ASYNC_API — NATS queue, worker pull, result ingestion, cancellation, monitoring) is the common path. Remaining PSv2 items are non-blocking hardening, performance, and feature-completeness follow-ups — see the open PSv2 issues and PSv2 PRs.

@kaviecos and @mihow have designed & written the specifications for a new ML backend that orchestrates multiple types of models by different research teams, across multiple stages of processing, and is horizontally scalable. This expands on the current ML backend API defined here https://ml.dev.insectai.org/ by adding asynchronous processing, a controller & queue system, auth and many other production features.

The initial spec and notes are here, but are being re-written in the Aarhus GitLab wiki as the backend is developed.
https://docs.google.com/document/d/1caKxxfZhWhRi9Jfv9fy5fVeoM9bvhYPJ/

Docs in progress:
https://gitlab.au.dk/ecos/hoyelab/ami/ami-pipeline-controller/-/wikis/Getting-Started
https://gitlab.au.dk/ecos/hoyelab/ami/ami-pipeline-controller/-/wikis/Pipeline-Stages
https://gitlab.au.dk/ecos/hoyelab/ami/ami-pipeline-controller/-/wikis/Architecture-Overview

pipeline_controller_flow drawio

Known remaining tasks:

Metadata

Metadata

Labels

PSv2Async & distributed ML backend (PSv2): job state, NATS dispatch, result handling. Umbrella #515.Pipeline APIUpdates to the requests & responses to/from processing service workers for ML pipelines

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions