Tools · SPBoucher
Menu

Ray

In-depth entry

by Ray project (Anyscale and contributors) · Framework · also known as Ray Core, Ray Serve, Ray Data, Ray Train, Ray Tune, RLlib

Open-source Python framework for distributing tasks, actors and ML workloads across a cluster, with libraries for data processing, training, tuning, serving and reinforcement learning

Apache-2.0 licenseOpen sourceFreeLocalSelf-hostedCloudSelf-hostable
Visit official site Compare

Link verified Nov 2, 2026

Overview

Ray is an open-source distributed computing framework for Python, created at UC Berkeley's RISELab and now developed by Anyscale and a large contributor community under the Apache 2.0 license. Ray Core turns ordinary functions and classes into remote tasks and stateful actors with a decorator, schedules them across the cores and machines of a cluster, and passes results through a shared object store. On top of that sit domain libraries: Ray Data for parallel data loading and batch inference, Ray Train for distributed PyTorch or other training, Ray Tune for hyperparameter search, Ray Serve for deploying model endpoints, and RLlib for reinforcement learning.

A cluster is a head node plus workers started with the ray CLI, the built-in cluster launcher for AWS, GCP and Azure, or the KubeRay operator on Kubernetes; Anyscale sells a managed version. Ray runs on Linux (x86_64 and ARM) and on Apple Silicon Macs, with Windows support in beta. Recent releases enable token authentication by default for clusters.

Typical users are ML engineers scaling a training or inference pipeline past one machine, data teams running embarrassingly parallel Python jobs, and platform teams serving many models behind one API. On a cluster of Macs it is one of the few general-purpose options for fanning Python work out across nodes, although Ray documents multi-node Apple Silicon clusters as untested.

Limits: it is Python-centric (Java and C++ APIs are experimental), carries operational overhead compared with a job scheduler for simple batch jobs, and its object store and scheduler add complexity that only pays off beyond a single machine.

Capabilities

  • Remote tasks and actors from plain Python functions and classes
  • Distributed object store for passing results between workers
  • Ray Data for parallel loading and batch inference
  • Ray Train and Ray Tune for distributed training and hyperparameter search
  • Ray Serve for scalable model-serving endpoints
  • Cluster launchers for cloud providers and KubeRay for Kubernetes
  • Dashboard for jobs, actors and resources

Typical workflows

  1. Parallelize a Python simulation across all cores and nodes
  2. Run batch LLM inference over a large dataset
  3. Serve several models behind one HTTP endpoint with autoscaling
  4. Launch a hyperparameter sweep on a cluster

Strengths

  • One API from laptop to cluster
  • Rich ML-specific libraries on a general core
  • Apache 2.0 license and large community
  • Managed option available through Anyscale

Limitations

  • Python-centric; other language APIs are experimental
  • Operational overhead for simple batch workloads
  • Multi-node clusters on Apple Silicon and Windows are untested or beta
  • Memory pressure from the object store needs tuning

Prerequisites

  • Python 3.10 or newer
  • Network access between nodes for a multi-machine cluster

Who it is for

  • ML engineers scaling training and inference
  • Data scientists parallelizing Python jobs
  • Platform teams serving models

Alternatives & comparison

Dask is the closest relative: also Python-native and task-based, but centred on parallel DataFrame and array collections rather than actors and ML serving. Apache Spark is a JVM-based data-processing engine with a SQL/DataFrame focus; Ray targets general Python and ML workloads and the two are often combined. Slurm is a batch scheduler that allocates nodes to jobs without a programming model; Open MPI is a message-passing library for tightly coupled HPC codes. Ray sits between them as a runtime with its own scheduler and higher-level libraries.

  • Apache Spark

    Distributed data processing engine with DataFrame and SQL APIs in Python, Scala, Java and R, plus structured streaming and MLlib

    Open sourceOpen source
  • Dask

    Python library for parallel and distributed computing that scales pandas, NumPy and custom task graphs from a laptop to a cluster

    Open sourceOpen source
  • GNU Parallel

    Shell tool that runs commands in parallel over input lines on one or several machines, as a drop-in alternative to xargs and shell loops

    Open sourceOpen source
  • Open MPI

    Open-source implementation of the MPI message-passing standard used to run tightly coupled parallel programs across the nodes of a cluster

    Open sourceOpen source
  • Slurm Workload Manager

    Open-source cluster resource manager and job scheduler for Linux clusters, allocating nodes, launching jobs and managing queues on many HPC systems

    Open sourceOpen source
Compare Ray with its alternatives →

Sources & verification

Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.

  • License
    https://github.com/ray-project/ray/blob/master/LICENSE

    Supports: license_spdx, source_model

    checked Nov 1, 2026
  • Official documentation
    Ray documentation

    https://docs.ray.io/en/latest

    Supports: capabilities, integrations, description

    checked Nov 1, 2026
  • Official documentation
    Installing Ray

    https://docs.ray.io/en/latest/ray-overview/installation.html

    Supports: operating_systems, prerequisites, limitations

    checked Nov 1, 2026
  • Official site
    Ray

    https://www.ray.io/

    Supports: name, summary

    checked Nov 1, 2026
Confidence
High
Reviewed
Nov 1, 2026
Links
Broken · Nov 2, 2026

Spotted an error?

Broken link, outdated license, wrong category, or a tool that no longer exists? Tell us; reports are reviewed by the editor.

Kubernetes

Cloud Native Computing Foundation · Containers & virtualization

In-depth entry

Open-source system for scheduling, scaling and operating containerized workloads across a cluster of machines

Apache-2.0Open sourceFreeSelf-hostedNov 2, 2026

vLLM

vLLM project (originated at UC Berkeley Sky Computing Lab) · Local LLM inference & serving

In-depth entry

High-throughput LLM inference and serving engine with PagedAttention, continuous batching, quantization and an OpenAI-compatible server for GPU and accelerator clusters

Apache-2.0Open sourceFreeSelf-hostedNov 2, 2026

GNU Parallel

GNU Project (Ole Tange) · Distributed & parallel computing

Shell tool that runs commands in parallel over input lines on one or several machines, as a drop-in alternative to xargs and shell loops

GPL-3.0-or-laterOpen sourceFreeLocalSelf-hostedNov 2, 2026

exo

Exo Labs · Distributed & parallel computing

Open-source software that pools several Apple Silicon Macs (and Linux hosts) into one local inference cluster, sharding large models across devices with MLX

Apache-2.0Open sourceFreeLocalSelf-hostedNov 2, 2026