ray/doc/source/ray-core
Kenneth 9b67cb5a6f
Add buffering to object spilling (#22618)
This change is needed for object fusing to see performance increases on HDD. Currently, smaller object writes are slow even with fusing since the writes are not buffered (negating the point of fusing). Benchmarks show that while the default is sufficient for fast SSDs, on a slow HDD, increasing the buffer size reduces write times by several magnitudes.

### Performance Changes
A microbenchmark where 500KB objects were produced (then spilled) and consumed to observe changes in object fusing/spilling.

| Run | Produce (s) | Consume (s) | Total (s) |
| -- | -- | -- | -- |
| Baseline (original) | 347.332281 | 355.611272 | 705.560750 |
| Baseline (w/ fix) | 181.815852 | 347.692850 | 532.847759 |
| No fusing (original) | 453.574554 | 525.047998 | 981.620108 |
| No fusing (w/ fix) | 452.614848| 519.787698 | 975.412639 |

The baseline runs should be notably faster due to object fusing reducing I/O requests. With the fix, Ray's defaults allow this microbenchmark to have a 48% time reduction with negligible impact on runtime when fusing is disabled.

See [this followup](https://github.com/ray-project/ray/pull/22618#issuecomment-1054838715) for information on the differences between SSD and HDD performance with different buffer sizes.

Co-authored-by: Ubuntu <ubuntu@ip-172-31-54-240.us-west-2.compute.internal>
2022-03-01 10:13:10 -08:00
..
_examples [docs] sphinx gallery removal, migrate to ipynb (#22467) 2022-02-19 01:19:07 -08:00
doc_code [runtime env][strong-typed API] Combine ParsedRuntimeEnv and RuntimeEnv into ray.runtime.RuntimeEnv (#22522) 2022-02-28 16:18:10 +08:00
examples [docs] sphinx gallery removal, migrate to ipynb (#22467) 2022-02-19 01:19:07 -08:00
images [docs] new structure (#21776) 2022-01-21 15:42:05 -08:00
actors.rst [doc] Update docs about actor garbage collection (#20763) 2022-02-28 18:45:29 -08:00
advanced.rst [docs] new structure (#21776) 2022-01-21 15:42:05 -08:00
async_api.rst [docs] new structure (#21776) 2022-01-21 15:42:05 -08:00
concurrency_group_api.rst [doc][Java] Add doc page for java concurrency group. (#21600) 2022-02-16 17:57:03 +08:00
configure.rst [GCS-Ray] update doc and error message for GCS-Ray (#22528) 2022-02-22 17:56:30 -08:00
cross-language.rst [docs] integrate algolia docsearch, move to sphinx panels (#21814) 2022-01-24 17:00:41 -08:00
download_zip_url.png [docs] new structure (#21776) 2022-01-21 15:42:05 -08:00
fault-tolerance.rst [Doc] Add actor max restarts default value to fault tolerance doc (#22481) 2022-02-18 17:48:22 -06:00
handling-dependencies.rst [runtime env][strong-typed API] Combine ParsedRuntimeEnv and RuntimeEnv into ray.runtime.RuntimeEnv (#22522) 2022-02-28 16:18:10 +08:00
memory-management.rst Add buffering to object spilling (#22618) 2022-03-01 10:13:10 -08:00
namespaces.rst [docs] integrate algolia docsearch, move to sphinx panels (#21814) 2022-01-24 17:00:41 -08:00
package-ref.rst [runtime env][strong-typed API] Combine ParsedRuntimeEnv and RuntimeEnv into ray.runtime.RuntimeEnv (#22522) 2022-02-28 16:18:10 +08:00
placement-group.rst [docs] integrate algolia docsearch, move to sphinx panels (#21814) 2022-01-24 17:00:41 -08:00
ray-dashboard.rst [docs] new structure (#21776) 2022-01-21 15:42:05 -08:00
ray_repo.png [docs] new structure (#21776) 2022-01-21 15:42:05 -08:00
serialization.rst [docs] new structure (#21776) 2022-01-21 15:42:05 -08:00
starting-ray.rst [Doc] Fix bad doc and recover doc of c++ api (#22213) 2022-02-08 19:04:37 +08:00
troubleshooting.rst [docs] new structure (#21776) 2022-01-21 15:42:05 -08:00
using-ray-with-gpus.rst [docs] new structure (#21776) 2022-01-21 15:42:05 -08:00
using-ray-with-jupyter.rst [docs] new structure (#21776) 2022-01-21 15:42:05 -08:00
using-ray-with-pytorch.rst [docs] sphinx gallery removal, migrate to ipynb (#22467) 2022-02-19 01:19:07 -08:00
using-ray-with-tensorflow.rst [docs] Tune overhaul part II (#22656) 2022-02-26 23:07:34 -08:00
using-ray.rst [docs] new structure (#21776) 2022-01-21 15:42:05 -08:00
walkthrough.rst [Doc] Fix bad doc and recover doc of c++ api (#22213) 2022-02-08 19:04:37 +08:00