This preview shows page 1. Sign up to view the full content.
Unformatted text preview: eculatively. Encouraged by these observations,
and by the many prior successful applications of sp eculation
in processor design, we have added supp ort for sp eculative
execution, which we call Sp eculator, to the Linux kernel.
In our work, the distributed ﬁle system controls when
sp eculations start, succeed, and fail. Sp eculator provides a
mechanism for correct execution of sp eculative code. It does
not allow a process that is executing sp eculatively to externalize output, e.g., make network transmissions or display
output to the screen, until the sp eculations on which that
output dep ends prove to b e correct. If a sp eculative process
tries to execute a p otentially unrecoverable op eration, e.g.,
it calls the reboot system call, it is blocked until its sp eculations are resolved. Sp eculator tracks causal dep endencies
b etween kernel ob jects in order to share sp eculative state
among multiple processes. For instance, if a sp eculative process sends a signal to its non-sp eculative parent, Sp eculator
checkp oints the parent and marks it as sp eculative b efore it
delivers the signal. If a sp eculation on which the child dep ends fails, b oth the child and parent are restored to their
checkp oints (since the parent might not receive the signal
on the correct execution path). Sp eculator tracks dep endencies passed through...
View Full Document
This note was uploaded on 05/30/2013 for the course COMP SCI 15-812 taught by Professor Smith during the Spring '12 term at Carnegie Mellon.
- Spring '12