Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Ray project Ray PlacementGroupCreationOptions

From Leeroopedia
Knowledge Sources
Domains Distributed_Computing, Java_API
Last Updated 2026-02-13 16:00 GMT

Overview

Options class for configuring Ray placement group creation provided by the Ray Java API.

Description

PlacementGroupCreationOptions specifies the configuration for creating a placement group, including a name, a list of resource bundle maps, and a PlacementStrategy. It uses a Builder pattern and includes validation ensuring that bundles are non-empty with positive resource values and that a strategy is specified. The bundles list is stored as an unmodifiable list of unmodifiable maps to enforce immutability.

Usage

Use this class when creating a placement group via PlacementGroups.createPlacementGroup() or Ray.internal().createPlacementGroup(). It configures how resource bundles are placed across cluster nodes, enabling co-location strategies for actors and tasks that need to share resources.

Code Reference

Source Location

  • Repository: Ray
  • File: java/api/src/main/java/io/ray/api/options/PlacementGroupCreationOptions.java

Signature

public class PlacementGroupCreationOptions {
    public PlacementGroupCreationOptions(
        String name, List<Map<String, Double>> bundles, PlacementStrategy strategy);
    public String getName();
    public List<Map<String, Double>> getBundles();
    public PlacementStrategy getStrategy();

    public static class Builder {
        public Builder setName(String name);
        public Builder setBundles(List<Map<String, Double>> bundles);
        public Builder setStrategy(PlacementStrategy strategy);
        public PlacementGroupCreationOptions build();
    }
}

Import

import io.ray.api.options.PlacementGroupCreationOptions;

I/O Contract

Inputs

Name Type Required Description
name String No Name for the placement group (enables retrieval by name)
bundles List<Map<String, Double>> Yes Resource bundle specifications (must be non-empty with positive values)
strategy PlacementStrategy Yes Placement strategy (PACK, SPREAD, STRICT_PACK, STRICT_SPREAD)

Outputs

Name Type Description
options PlacementGroupCreationOptions Immutable configuration for placement group creation

Usage Examples

// Create options for a placement group with two CPU bundles using PACK strategy
PlacementGroupCreationOptions options = new PlacementGroupCreationOptions.Builder()
    .setName("training-group")
    .setBundles(Arrays.asList(
        ImmutableMap.of("CPU", 4.0, "GPU", 1.0),
        ImmutableMap.of("CPU", 4.0, "GPU", 1.0)))
    .setStrategy(PlacementStrategy.PACK)
    .build();

// Use the options to create the placement group
PlacementGroup pg = PlacementGroups.createPlacementGroup(options);
pg.wait(60);

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment