Foreactor: Exploiting Storage I/O Parallelism with Explicit Speculation
Guanzhou Hu, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau

TL;DR
Foreactor introduces explicit speculation to parallelize storage I/O calls based on application knowledge, significantly improving performance without complex prediction or checkpointing.
Contribution
It proposes a formal abstraction called the foreaction graph and implements Foreactor, enabling parallel I/O with minimal code modifications.
Findings
Achieves 29%-50% performance improvements.
Enables serial applications to exploit I/O parallelism.
Requires minimal changes to existing applications.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Data Storage Technologies · Distributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques
