--- layout: post title: "Ray: 0.5 Release" excerpt: "This post announces the release of Ray 0.5." date: 2018-07-06 14:00:00 --- We are pleased to announce the 0.5 release of [Ray][1]. 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][2]: - Added DDPG [[1877]](https://github.com/ray-project/ray/pull/1877). - Added a policy server example [[2232]](https://github.com/ray-project/ray/pull/2232). - Multi-agent support [[2286]](https://github.com/ray-project/ray/pull/2286). - Modular policy graphs [[2294]](https://github.com/ray-project/ray/pull/2294). - RNN support [[2299]](https://github.com/ray-project/ray/pull/2299). - Vectorized environments [[2170]](https://github.com/ray-project/ray/pull/2170). - Many bug fixes. ## Tune A number of improvements have been made to [Tune][3]: - HyperOpt integration [[1763]](https://github.com/ray-project/ray/pull/1763). - Many bug fixes and improvements. ## Pandas on Ray Pandas on Ray has moved to the [Modin][5] project and will continue to be developed there. ## Autoscaler The [autoscaler][6] has grown more mature and now supports Google Cloud Platform: - Support for GCP [[2061]](https://github.com/ray-project/ray/pull/2061). - Many bug fixes and additional features. ## Java Ray now supports Java thanks to contributions from [Ant Financial][4]: - Support for Java (e.g., [[2092]](https://github.com/ray-project/ray/pull/2092) [[2094]](https://github.com/ray-project/ray/pull/2094) [[2151]](https://github.com/ray-project/ray/pull/2151) [[2171]](https://github.com/ray-project/ray/pull/2171) [[2225]](https://github.com/ray-project/ray/pull/2225) [[2245]](https://github.com/ray-project/ray/pull/2245)). ## Other Features - A named actors prototype [[2129]](https://github.com/ray-project/ray/pull/2129). - Usage of airspeed velocity for regression testing [[2113]](https://github.com/ray-project/ray/pull/2113). - More efficient serialization of numpy arrays [[1889]](https://github.com/ray-project/ray/pull/1889). [1]: https://github.com/ray-project/ray [2]: http://ray.readthedocs.io/en/latest/rllib.html [3]: http://ray.readthedocs.io/en/latest/tune.html [4]: https://www.antfin.com/ [5]: https://github.com/modin-project/modin [6]: http://ray.readthedocs.io/en/latest/autoscaling.html