XManager on Cloud (XMC) serves as a central command platform for both human researchers and autonomous agents building AI. Built on the experiment model of Google DeepMind's battle-tested XManager, XMC is designed to operate at scale to boost research velocity across AI labs and enterprise organizations.
| Capability | What XMC provides |
|---|---|
| Workload execution & agent integration | Reliable workload launching alongside first-class agent interaction capabilities. |
| Persistent experiment storage | High-performance, persistent storage for experiment metadata and research artifacts. |
| Resource visibility & scheduling | Out-of-the-box visibility into TPU and GPU availability and scheduling states, with full compatibility and configurable support for Kueue. |
| Kubernetes-native deployment | Built on standard Kubernetes primitives (Kueue, JobSet). GKE is the supported, documented target; other Kubernetes environments (other clouds, on-premises) are possible with additional configuration. |
| Metrics & profiling (optional) | Training metric streaming with charts and dashboards, and Managed XProf hardware profiles attached to work units. Both are off by default. |
Note
XMC spans two repositories. This repository holds the XMC services, SDKs, and deployment charts. The Python launcher and xmanager CLI that define and submit experiments live in google-deepmind/xmanager (see Getting started for installation).
flowchart LR
Client["Humans & agents<br/>(xmanager CLI, Python, APIs)"] -->|"gRPC / HTTPS"| CP["XMC control plane"]
CP -->|"Submits JobSets"| K8s["Kubernetes + Kueue<br/>(GPU / TPU / CPU)"]
K8s -->|"Status"| CP
CP --> UI["XMC web UI"]
K8s -.->|"Metrics (optional)"| MP["XMC metrics pipeline"]
MP -.-> UI
XMC organizes work around three concepts:
| Concept | What it represents |
|---|---|
Experiment (xid<
9DBD
/code>) |
A group of related runs, such as a sweep, an ablation, or an RL campaign, with shared priority, metadata, and access control. |
WorkUnit (wid) |
One trial or training job inside an experiment. Restarting a work unit creates a new execution and keeps earlier attempts in history. |
Artifact (aid) |
A typed output or link attached to an experiment or work unit: URLs (such as TensorBoard or checkpoint locations), code snapshots, text notes, metric charts, or Managed XProf profiles. |
The Architecture Overview and Execution Model cover the services, the execution lifecycle, and how XMC maps work units to Kueue and JobSet.
You can deploy XMC to GKE or evaluate it locally on KinD in three steps:
- Stand up an XMC environment
- For GKE deployments, provision a stack with Cluster Toolkit v2 or Terraform and Helm using the Installation & Deployment Guide.
- For local evaluation, boot a KinD control plane with
python3 tools/dev_env/dev_env.py up(requires a GCP project for Cloud Spanner,gcloud, andbazel; see Local & Hybrid Development).
- Install the XManager launcher and sign in
The launcher and
xmanagerCLI come from google-deepmind/xmanager, published on PyPI:When working from a clone of this repository with local protobuf changes orpip install 'xmanager>=0.8.5.post1' export XMC_DOMAIN=<your-xmc-domain> xmanager login
xdash, runpython3 deploy/cli/install_xmanager.pyinstead (see CLI Setup). - Run an example workload
Launch a multi-WorkUnit job from one of the ready-to-run templates in
examples/:examples/simple_job: multi-WorkUnit CPU/GPU sweep on a KueueLocalQueue.examples/multipod_jobandexamples/pathways_job: distributed multi-node and Pathways workloads.examples/metrics_dashboard_jobandexamples/xdash_dashboard: live metric streaming and programmatic dashboards.examples/managed_xprof_artifact_job: Managed XProf hardware profiling attached to a work unit.examples/xmc_lite_job: standalonexm_local.Kuberneteslaunch without the XMC server.
Metrics streaming and Managed XProf are optional and off by default. Enable metrics with enable_metrics and the Redpanda and ClickHouse add-ons in deploy/addons/metrics, and Managed XProf with managed_xprof_gcs_bucket (see the Cluster Toolkit v2 README; Helm installs use metrics.enabled and managedXprofGcsBucket).
- XManager launcher (
google-deepmind/xmanager): Python launch API andxmanagerCLI that define and submit experiments to XMC. - Installation & Deployment Guide: Cluster Toolkit v2 blueprints, Terraform and Helm setup, DNS and TLS configuration, and upgrades.
- Authentication & Experiment Access: interactive
xmanager login, CI service accounts, and experiment ACL sharing. - Python Metrics SDK (
xmc) and Dashboard SDK (xdash): in-job metric logging and dashboard definitions.
- Architecture Overview: control, execution, telemetry, and component planes, followed by Component Reference, Execution Model, and Use Cases.
- Main Flows: sequence walkthroughs for experiment lifecycle, work unit actuation, reconciliation, and metrics & observability.
- Deployment Topologies and Gateway Routing Design: Cluster Toolkit Blueprint v1 vs v2 layouts, Kubernetes Gateway API routing, OAuth2 session handling, and identity mappings.
- Contributing Guide: Google CLA requirements, issue templates, and pull request workflow.
- Local & Hybrid Development: KinD inner loop (
dev_env up,dev_env reload) and hybrid--remote-k8sexecution. - Developer Guide, E2E & UI Testing, and Agent Workflows.
- Automation scripts under
./toolsand./deployrequire Python 3.13.14 or newer:python3 ./tools/common/setup_venv.py --venv-dir ./tools/venv --requirements ./tools/common/requirements.txt
- For questions about XMC, deployment guidance, or Google Cloud Managed Training Clusters, email xmanager_cloud@google.com or reach out to your Google Cloud account team.
- File bug reports and feature requests in GitHub Issues. Self-hosted deployments receive best-effort support without contractual SLAs; for a managed offering with contractual SLAs, see Google Cloud Managed Training Clusters.
- Report security vulnerabilities privately through g.co/vulnz rather than in public issues.
- Released under the Apache 2.0 License.