Implementation:Ray project Ray PlacementGroupCreationOptions
| 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);