arXiv · 2409.01580
Foreactor: Exploiting Storage I/O Parallelism with Explicit Speculation
Abstract
We introduce explicit speculation, a variant of I/O speculation technique where I/O system calls can be parallelized under the guidance of explicit application code knowledge. We propose a formal abstraction -- the foreaction graph -- which describes the exact pattern of I/O system calls in an application function as well as any necessary computation associated to produce their argument values. I/O system calls can be issued ahead of time if the graph says it is safe and beneficial to do so. With explicit speculation, serial applications can exploit storage I/O parallelism without involving expensive prediction or checkpointing mechanisms. Based on explicit speculation, we implement Foreactor, a library framework that allows application developers to concretize foreaction graphs and enable concurrent I/O with little or no modification to application source code. Experimental results show that Foreactor is able to improve the performance of both synthetic benchmarks and real applications by significant amounts (29%-50%).
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Guanzhou Hu, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau. 2024-09-03. Foreactor: Exploiting Storage I/O Parallelism with Explicit Speculation. https://arxiv.org/abs/2409.01580
Cite the original work for its findings. Save a collection to share your selection of sources.