Ray: 0.5 Release
We are pleased to announce the 0.5 release of Ray. To upgrade to the latest version, run
pip install -U ray
Refactoring
One primary development is a substantial refactoring of the backend, which is
currently off by default, but can be turned on by starting Ray with the
environment variable RAY_USE_XRAY=1
. This will be turned on soon after more
testing and development and will be on by default in the next release. Some
highlights of the refactor include the following:
- Merging the “local scheduler” and the “plasma manager” into a single “raylet” process (consisting of a “node manager” and an “object manager”).
- Faster object transfers by using multiple threads to send objects in chunks.
- The introduction of a “lineage cache” to improve latency by removing the global control store from the scheduling critical path.
- The removal of the global scheduler (which is replaced by direct node-manager to node-manager communication)
- Providing a standardized table-based interface to the Redis-backed global control store.
- A preliminary approach for automatically flushing global control store metadata to avoid out-of-memory errors for long-running jobs.
Note that the refactoring is currently under development and does not yet support fault tolerance.
RLlib Improvements
A number of improvements have been made to RLlib:
- Added DDPG [1877].
- Added a policy server example [2232].
- Multi-agent support [2286].
- Modular policy graphs [2294].
- RNN support [2299].
- Vectorized environments [2170].
- Many bug fixes.
Tune
A number of improvements have been made to Tune:
- HyperOpt integration [1763].
- Many bug fixes and improvements.
Pandas on Ray
Pandas on Ray has moved to the Modin project and will continue to be developed there.
Autoscaler
The autoscaler has grown more mature and now supports Google Cloud Platform:
- Support for GCP [2061].
- Many bug fixes and additional features.
Java
Ray now supports Java thanks to contributions from Ant Financial: