{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Sp eculator provides a mechanism for correct

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

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 file 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

{[ snackBarMessage ]}