Jump to content

Slipstream (computer science)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 134.7.248.137 (talk) at 03:59, 21 June 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

A Slipstream processor is an architecture designed to reduce the length of a running program by removing the non-essential instructions. It is a form of speculative computing.

Non-essential instructions include such thing as results that are not written to memory, or compare operations that will always return true. Also as statistically most branch instructions will be taken it makes sense to assume this will always be the case. This is a form of lazy evaluation.

Because of the speculation involved slipstream processors are gennerally described as having two parallel executing streams. One is an optimized faster A-stream executing the reduced, the other is the slower R-stream which runs behind the A-stream and executes the full code. The R-stream runs faster then if it were a single stream due to data being prefetching by the A-stream effectively hiding all memory latency. The two streams both complete faster then what a single stream would. As at 2005 theoretical studies have shown that this configuration can lead to a speedup of around 20%.

The main problem with this approach is accuracy, as the A-stream becomes more accurate and less speculative the overall system runs slower. Also a large enough distance is needed between the A-stream and the R-stream so that cache misses generated by the A-stream do not slow down the R-stream.