Foreactor: Exploiting Storage I/O Parallelism with Explicit Speculation
<|reference_start|>Foreactor: Exploiting Storage I/O Parallelism with Explicit Speculation: 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%).<|reference_end|>
@article{hu2024foreactor:,
    title={Foreactor: Exploiting Storage I/O Parallelism with Explicit Speculation},
    author={Guanzhou Hu, Andrea Arpaci-Dusseau and Remzi Arpaci-Dusseau},
    journal={arXiv preprint arXiv:2409.01580},
    year={2024},
    archivePrefix={arXiv},
    eprint={2409.01580},
    primaryClass={cs.OS}
}