Principle:Ray project Ray Object Store Retrieval
| Knowledge Sources | |
|---|---|
| Domains | Distributed_Computing, Data_Transfer |
| Last Updated | 2026-02-13 17:00 GMT |
Overview
A mechanism for synchronously or conditionally fetching distributed objects from a shared object store using future references.
Description
Object Store Retrieval is the consumption side of the distributed futures pattern. After a remote task produces a result, that result is stored in a distributed object store (Plasma). The client retrieves it by resolving an ObjectRef — blocking until the object is available, optionally with a timeout. A wait operation allows checking readiness of multiple objects without blocking on all of them, enabling efficient batch processing and pipeline parallelism.
Key retrieval patterns:
- Blocking get: Wait indefinitely for a single result
- Timed get: Wait with a timeout, throwing an exception on expiry
- Batch get: Retrieve multiple results at once
- Selective wait: Return whichever objects are ready first, enabling work-as-available patterns
Usage
Use get when you need the actual value of a remote computation result. Use wait when you want to process results as they become available without blocking on the slowest task. This is essential for building efficient data pipelines and reducing tail latency in distributed computations.
Theoretical Basis
Object retrieval implements Future resolution in a distributed setting:
The wait operation implements select/poll semantics:
Where k is the number of objects to wait for. This enables work-stealing and pipeline parallelism patterns.