Overview
The chip multiprocessor (CMP) is an attractive substrate for future high-performance microprocessors. With multiple processors on the same chip, a CMP provides high throughput for multiprogrammed and parallel workloads. Also, each constituent processor delivers high performance for individual programs with a balanced design that achieves moderate instruction-level parallelism and a high clock rate. IBM recently integrated two processors on the same chip (below) to exploit these advantages. However, a major limitation is that a single program can use only a single constituent processor, even if the second processor is idle.
Slipstream execution provides a simple means to use a second processor in a CMP to accelerate a single program. Slipstream execution involves running two redundant copies of the program. Predicted-ineffectual computation is speculatively removed from one of the programs, speeding it up. The second program verifies the forward progress of the first and is also sped up in the process. We have demonstrated that slipstream execution on two processors of a CMP outperforms conventional execution on only one of the processors. Moreover, the redundant program arrangement also provides fault tolerance transparently and with no additional support. Slipstream execution can be implemented on a CMP substrate (below), significantly extending its capabilities.
The Name...
From the Oxford Dictionary:
slip-stream. Also slip stream, slipstream.
1.a. The current of air or water driven backward by a propeller or downward by a rotor.
1.b. Any localized current associated with an object, esp. a moving one.
2. An assisting force considered to draw something along with or in the
wake of the principal.
Hence as v. trans., to follow closely behind (another vehicle)
so that the resistance of the air to one's progress is less...
The way the two redundant programs collaborate resembles how NASCAR drivers collaborate.
(Being in North Carolina, the analogy is especially poignant.)
The slipstream is the current of air that rushes around the body of a racecar.
Following is an
excerpt
from an interesting paper on the dynamics of stock-car racing
(
Social Science at 190 MPH on NASCAR's Biggest Superspeedways,
David Ronfeldt, First Monday Journal, Vol. 5 No. 2, Feb. 7, 2000).
"As a Winston Cup racecar rushes through the air, the design of its body -
with all wheels enclosed, a cab around the driver, and a spoiler across the
rear deck - creates an air pressure bubble in front and a minor vacuum
behind it. And this poses a drag on how many extra miles per hour it can
speed at full throttle. ...
Drafting, which looks like tailgating or slipstreaming, occurs when a
second car tucks closely behind the first, filling part of the vacuum.
The car in front loses some of the drag at its rear. The second car still
has a vacuum at its rear, but now has less air resistance in front. As a
result, both cars quicken a bit - the two combined speed a few miles per
hour faster than either can alone."
Special thanks to Jim Smith for suggesting the name slipstream,
and pointing out the useful analogy between Cooperative Redundant Threads
and slipstreaming in NASCAR.
Publications
Conference and Journal Papers
V. K. Reddy, S. Parthasarathy, and E. Rotenberg.
Understanding Prediction-Based Partial Redundant Threading for
Low-Overhead, High-Coverage Fault Tolerance.
Proceedings of the
12th ACM International Conference on
Architectural Support for Programming Languages and Operating Systems
(ASPLOS-XII),
pp. 83-94,
October 2006.
[pdf]
J. J. Koppanalil and E. Rotenberg.
A Simple Mechanism for Detecting Ineffectual Instructions in
Slipstream Processors.
IEEE Transactions on Computers, 53(4):399-413, April 2004.
Z. Purser, K. Sundaramoorthy, and E. Rotenberg.
A Study of Slipstream Processors.
Proceedings of the
33rd IEEE/ACM International Symposium on Microarchitecture (MICRO-33), pp. 269-280, December 2000.
[pdf]
K. Sundaramoorthy, Z. Purser, and E. Rotenberg.
Slipstream Processors: Improving both Performance and Fault Tolerance.
Proceedings of the
9th ACM International Conference on Architectural Support for
Programming Languages and Operating Systems (ASPLOS-9), pp. 257-268, November 2000.
[pdf]
Eric Rotenberg.
AR-SMT: A Microarchitectural Approach to Fault Tolerance in Microprocessors.
Proceedings of the
29th IEEE International Symposium on Fault-Tolerant Computing (FTCS-29), pp. 84-91, June 1999.
[pdf]
Technical Reports
Z. Purser, K. Sundaramoorthy, and E. Rotenberg.
Slipstream Memory Hierarchies.
Technical Report CESR-TR-02-3,
Center for Embedded Systems Research,
Department of Electrical and Computer Engineering,
North Carolina State University,
February 2002.
[pdf]
K. Sundaramoorthy, Z. Purser, and E. Rotenberg.
Multipath Execution on Chip Multiprocessors Enabled by Redundant Threads.
Technical Report CESR-TR-01-2,
Center for Embedded Systems Research,
Department of Electrical and Computer Engineering,
North Carolina State University,
October 2001.
[pdf]
Eric Rotenberg.
Exploiting Large Ineffectual Instruction Sequences.
Technical Report,
North Carolina State University,
November 1999.
[pdf]
Student Theses
S. Parthasarathy.
Improving Transient Fault Tolerance of Slipstream Processors.
M.S. Thesis,
Department of Electrical and Computer Engineering,
North Carolina State University,
December 2005.
[NCSU library: on-line thesis]
Z. R. Purser.
Slipstream Processors.
Ph.D. Thesis,
Department of Electrical and Computer Engineering,
North Carolina State University,
July 2003.
[NCSU library: on-line dissertation]
N. Gupta.
Slipstream-Based Steering for Clustered Microarchitectures.
M.S. Thesis,
Department of Electrical and Computer Engineering,
North Carolina State University,
May 2003.
[pdf]
J. J. Koppanalil.
A Simple Mechanism for Detecting Ineffectual Instructions in Slipstream Processors.
M.S. Thesis,
Department of Electrical and Computer Engineering,
North Carolina State University,
May 2002.
[pdf]
Publications from Related Projects
K. Z. Ibrahim, G. T. Byrd, and E. Rotenberg.
Slipstream Execution Mode for CMP-Based Multiprocessors.
Proceedings of the
9th IEEE International Symposium on High-Performance Computer Architecture (HPCA-9), pp. 179-190, February 2003.
[pdf]
Talks
Conference Talks
A Study of Slipstream Processors.
Presented at MICRO-33 by Z. Purser.
[pdf]
Slipstream Processors: Improving both Performance and Fault Tolerance.
Presented at ASPLOS-9 by E. Rotenberg.
[pdf]
AR-SMT: A Microarchitectural Approach to Fault Tolerance in Microprocessors.
Presented at FTCS-29 by E. Rotenberg.
[pdf]
Industry Talks
Cooperative Redundant Threads (CRT).
Presented at IBM-T.J.Watson (July 28, 2000),
Compaq-Shrewsbury (July 31, 2000), and
Compaq-Marlborough (August 1, 2000).
[pdf]
Exploiting Multiple On-Chip Contexts in New Ways.
Presented at Intel-MRL (January 2000).
[pdf]
Funding
This project is supported by NSF CAREER grant No. CCR-0092832 (CAREER: Cooperative Redundant Threads), and
generous funding and equipment donations from Intel.
A related project, which explores slipstream execution mode for parallel systems,
is supported by NSF grants CCR-0105628 (New Prediction Paradigms for Parallel and Distributed Systems) and
CCR-0310847 (Multiprocessor Performance Optimization using Slipstream Execution Mode).
Any opinions, findings, and conclusions or recommendations
expressed in this website and publications herein are those of the author(s) and
do not necessarily reflect the views of the National Science Foundation.
|