Overview#

Architecture#

Below is a diagram of the relationship between multiple Clients, the Scheduler, Worker Managers, and Workers.

Scaler architecture diagram
  • Multiple clients can submit tasks to the same scheduler concurrently.

  • The client is responsible for serializing tasks and arguments.

  • Multiple worker managers can connect to the same scheduler and provision capacity in parallel.

  • Worker managers spawn workers, and workers connect directly to the scheduler.

  • The scheduler dispatches tasks to connected workers, and workers execute tasks and return results.

Key Features#

  • Cross-cloud computing with a unified single-client API

  • Easily spawn clusters on a local machine or in the cloud

  • Python multiprocessing-style client API, for example client.map(), client.starmap(), and client.submit().

  • Graph tasks for DAG-based execution with explicit dependencies use client.get().

  • Both CLI and WebUI monitoring dashboards for real-time worker and task visibility.

  • Task profiling for runtime and resource diagnostics.

For code API examples and client patterns, see Scaler Client.

Start Services#

Scaler supports multiple service startup patterns. Choose the one that matches your deployment style:

  • Local bundled services in Python (fixed workers): use SchedulerClusterCombo to start object storage, scheduler, and a fixed-size local worker pool in one Python flow. See Baremetal Native Worker Manager.

  • Local elastic workers managed by a worker manager: run scheduler + baremetal_native worker manager in dynamic mode and let scheduler policies scale workers up/down. See Quickstart, Worker Managers, and Policy Engine.

  • Remote elastic workers managed by cloud worker managers: keep the scheduler on one machine and attach one or more remote managers (for example, aws_raw_ecs, aws_hpc, orb_aws_ec2, symphony). See Worker Managers.

  • Fully separated services: start object storage server, scheduler, and one or more worker managers as independent processes (possibly on different machines). See scaler_object_storage_server, scaler_scheduler, and scaler_worker_manager.

  • Single TOML launcher: use scaler to start scheduler and one or more worker managers from one configuration file.