| | |
Summary: Speculative Execution in a Distributed File System
Edmund B. Nightingale, Peter M. Chen, and Jason Flinn
Department of Electrical Engineering and Computer Science
University of Michigan
ABSTRACT
Speculator provides Linux kernel support for speculative exe-
cution. It allows multiple processes to share speculative state
by tracking causal dependencies propagated through inter-
process communication. It guarantees correct execution by
preventing speculative processes from externalizing output,
e.g., sending a network message or writing to the screen,
until the speculations on which that output depends have
proven to be correct. Speculator improves the performance of
distributed file systems by masking I/O latency and increas-
ing I/O throughput. Rather than block during a remote oper-
ation, a file system predicts the operation's result, then uses
Speculator to checkpoint the state of the calling process and
speculatively continue its execution based on the predicted re-
sult. If the prediction is correct, the checkpoint is discarded;
if it is incorrect, the calling process is restored to the check-
|