Unformatted text preview: fork, exit, signals, pip es, ﬁfos, Unix
sockets, and ﬁles in local and distributed ﬁle systems. All
other forms of IPC currently block the sp eculative process
until the sp eculations on which it dep ends are resolved.
Since sp eculation is implemented entirely in the op erating
system, no application modiﬁcation is required. Sp eculative
state is never externally visible. In other words, the semantics of the sp eculative version of a ﬁle system are identical to
the semantics of the non-sp eculative version; however, the
p erformance of the sp eculative version is b etter.
Results from PostMark and Andrew-style b enchmarks
show that Sp eculator improves the p erformance of NFS by
more than a factor of 2 over local-area networks; over networks with 30 ms of round-trip latency, sp eculation makes
NFS more than 14 times faster. We have also created a
version of the Blue File System  that uses Sp eculator
to provide single-copy semantics, in which the ﬁle consistency seen by two processes sharing a ﬁle and running on
two diﬀerent ﬁle clients is identical to the consistency that
they would see if they were running on the same client. In • commit_speculation || fail_speculation
– Create copy-on-write fork of current process,
save it away (don’t run it)
– On commit_speculation: Delete copy
– On fail: Replace or...
View Full Document
- Spring '12
- Trigraph, Database transaction, Client-server, Speculation, Sp eculator, Tj copyback