Overview¶
Architecture¶
Below is a diagram of the relationship between multiple Clients, the Scheduler, Worker Managers, and Workers.
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 support with unified and single client api
Easy spawn clusters on either local machine or clouds
Python
multiprocessing-style client API, for exampleclient.map()client.starmap()andclient.submit().Graph tasks for DAG-based execution with explicit dependencies use
client.get().Both CLI and WebUI Monitoring dashboard 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
SchedulerClusterComboto 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_nativeworker manager in dynamic mode and let scheduler policies scale workers up/down. See Quickstart, Worker Managers, and Scaling Policies.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.