> ## Documentation Index
> Fetch the complete documentation index at: https://site.aspect.build/llms.txt
> Use this file to discover all available pages before exploring further.

# Remote execution

> Aspect Workflows remote execution, implementing the Bazel REv2 protocol to parallelize actions across remote workers.

A local Bazel build is limited by the CPU cores on the machine running it. Remote execution (RBE) removes that limit: Bazel sends individual actions to a pool of remote workers with `--remote_executor`, so hundreds of compile and test actions run in parallel whatever the local hardware.

Every action with no unmet dependencies runs as soon as a worker is free, instead of queuing behind other actions on one machine. The fleet implements the [Bazel Remote Execution API v2](https://github.com/bazelbuild/remote-apis), so any REv2 client works with it.

## What the fleet offers

* **Several platforms side by side.** Each executor runs its own container image, with worker pools of its own instance type, `amd64` or `arm64`, and GPU pools. One build can mix images, OS versions and toolchains without splitting into separate jobs.
* **Native cross-platform builds.** Multi-arch container publishing and other cross-platform work run on the right architecture rather than through emulation.
* **Auto-scaling to zero.** Pools scale on queue depth and scale down to zero when the queue is empty. They can also pre-scale on a schedule ahead of expected load.
* **Docker-based tests** on the workers.
* **Workers on your own hardware.** Machines you run yourself can join the fleet as remote execution workers, for any worker type.

## Where it's available

Remote execution is available on Aspect Enterprise today and is coming soon to Aspect Cloud. On [Aspect Enterprise](/docs/aspect-workflows/enterprise/overview) it runs [hosted by Aspect](/docs/aspect-workflows/enterprise/hosted/overview) or [self-hosted](/docs/aspect-workflows/enterprise/self-hosted), with Linux workers, [macOS workers](/docs/aspect-workflows/enterprise/guides/macos-remote-execution), and GPU workers. Until it reaches [Aspect Cloud](/docs/aspect-workflows/cloud/overview), an Aspect Cloud build runs its actions on your own machines, with the shared [remote cache](/docs/aspect-workflows/platform/features/remote-cache) in front of them.

<Tip>
  Interested in early access to Aspect Cloud CI runners and remote execution, coming in early 2027? [Join the early access list](/contact?topic=early-access).
</Tip>

You can start with [CI runners](/docs/aspect-workflows/platform/features/ci-runners) and [remote cache](/docs/aspect-workflows/platform/features/remote-cache), and turn remote execution on later as a configuration change on the same deployment.

## Configuring your repository

Remote execution is never on by default: it changes where every action runs.

| Where the build runs                     | How it asks for remote execution                                                                                               |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| An Aspect CLI task on a Workflows runner | `--workflows:remote-exec`, or `ctx.features[Workflows].args.remote_exec = True` in `config.axl`                                |
| Vanilla `bazel` on a Workflows runner    | `--config=aspect-exec`, from the rc the [setup step](/docs/aspect-workflows/enterprise/connect/ci-setup#the-setup-step) writes |
| An Aspect CLI task anywhere else         | `--remote=exec`; see [local setup](/docs/aspect-workflows/enterprise/connect/local-setup)                                      |

Each action also needs an exec platform whose `exec_properties` match a worker pool exactly, and a toolchain that runs on that pool's image. [RBE platforms](/docs/aspect-workflows/platform/guides/remote-execution-worker-pools) covers the matching rule, and [Parallelize remote execution](/docs/aspect-workflows/platform/guides/parallelization) covers getting more actions in flight.

## Benchmark

The [AOSP build benchmark](/docs/aspect-workflows/platform/benchmarks/aosp-remote-execution) measures a full Android Open Source Project build on remote execution, with the infrastructure configuration and the public CI runs. AOSP builds with Soong and ninja rather than Bazel; its actions reach the fleet over the same Remote Execution API Bazel uses.

{user.loggedIn && user.tenantMetadata?.docsGroups?.includes('workflows-subscriber') ? (
<Info>
See also:
<ul>
<li><a href="/docs/aspect-workflows/enterprise/self-hosted/configuration/remote-cache">Remote cache configuration</a></li>
<li><a href="/docs/aspect-workflows/enterprise/self-hosted/configuration/remote-execution">Remote execution configuration</a></li>
<li><a href="/docs/aspect-workflows/enterprise/self-hosted/configuration/external-cache-exec">External remote cache and execution configuration</a></li>
</ul>
</Info>
) : !user.loggedIn ? (
<Info>
The Terraform and infrastructure reference for self-hosted Aspect Enterprise deployments is available to customers. <a href="/login?redirect=%2Fdocs%2Faspect-workflows%2Fplatform%2Ffeatures%2Fremote-execution">Log in</a> to read it, or ask an admin in your organization to invite you in <a href="https://app.aspect.build/settings/org/users">Aspect settings</a>.
<br /><br />
<a href="https://signup.aspect.build/">Sign up free</a> for Aspect Cloud, or <a href="/contact">talk to us</a> about a <a href="/trial">30-day trial of Aspect Enterprise</a>.
</Info>
) : (
<Info>
The Terraform and infrastructure reference for self-hosted Aspect Enterprise deployments is available to customers. If your organization is one, contact Aspect support for access.
<br /><br />
Not a customer yet? <a href="/contact">Talk to us</a> about a <a href="/trial">30-day trial of Aspect Enterprise</a>.
</Info>
)}
