Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/378993.379247acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
Article
Free access

Slipstream processors: improving both performance and fault tolerance

Published: 12 November 2000 Publication History

Abstract

Processors execute the full dynamic instruction stream to arrive at the final output of a program, yet there exist shorter instruction streams that produce the same overall effect. We propose creating a shorter but otherwise equivalent version of the original program by removing ineffectual computation and computation related to highly-predictable control flow. The shortened program is run concurrently with the full program on a chip multiprocessor simultaneous multithreaded processor, with two key advantages:1) Improved single-program performance. The shorter program speculatively runs ahead of the full program and supplies the full program with control and data flow outcomes. The full program executes efficiently due to the communicated outcomes, at the same time validating the speculative, shorter program. The two programs combined run faster than the original program alone. Detailed simulations of an example implementation show an average improvement of 7% for the SPEC95 integer benchmarks.2) Fault tolerance. The shorter program is a subset of the full program and this partial-redundancy is transparently leveraged for detecting and recovering from transient hardware faults.

References

[1]
H. Akkary and M. Driscoll. A Dynamic Multithreading Processor. 31st Int'l Symp. on Microarchitecture, Dec. 1998.
[2]
T. Austin. DIVA: A Reliable Substrate for Deep Submicron Microarchitecture Design. 32nd Int'l Symp. on Microarchitecture, Nov. 1999.
[3]
D. Burger, T. Austin, and S. Bennett. Evaluating Future Microprocessors: The Simplescalar Toolset. Technical Report CS-TR-96-1308, Computer Sciences Department, University of Wisconsin - Madison, July 1996.
[4]
D. Burger, S. Kaxiras, and J. Goodman. DataScalar Architectures. 24th Int'l Symp. on Computer Architecture, June 1997.
[5]
R. Chappell, J. Stark, S. Kim, S. Reinhardt, and Y. Patt. Simultaneous Subordinate Microthreading (SSMT). 26th Int'l Symp. on Computer Architecture, May 1999.
[6]
D. Connors and W.-M. Hwu. Compiler-Directed Dynamic Computation Reuse: Rationale and Initial Results. 32nd Int'l Symp. on Microarchitecture,Nov. 1999.
[7]
P. Dubey, K. O'Brien, K. M. O'Brien, and C. Barton. Single-Program Speculative Multithreading (SPSM) Architecture: Compiler-Assisted Fine-Grained Multithreading. Parallel Architectures and Compiler Techniques, June 1995
[8]
A. Farcy, O. Temam, R. Espasa, and T. Juan. Dataflow Analysis of Branch Mispredictions and its Application to Early Resolution of Branch Outcomes. 31st Int'l Symp. on Microarchitecture, Dec. 1998.
[9]
A. Gonzalez, J. Tubella, and C. Molina. Trace-Level Reuse. Int'l Conf. on Parallel Processing, Sep. 1999.
[10]
J. Huang and D. Lilja. Exploiting Basic Block Value Locality with Block Reuse. 5th Int'l Symp. on High-Performance Computer Architecture, Jan. 1999.
[11]
R. Iyer, A. Avizienis, D. Barron, D. Powell, H. Levendel, and J. Samson. Panel: Using COTS to Design Dependable Networked Systems. 29th Int'l Symp. on Fault-Tolerant Computing, June 1999.
[12]
E. Jacobsen, E. Rotenberg, and J. Smith. Assigning Confidence to Conditional Branch Predictions. 29th Int'l Symp. on Microarchitecture, Dec. 1996.
[13]
Q. Jacobson, E. Rotenberg, and J. Smith. Path- Based Next Trace Prediction. 30th Int'l Symp. on Microarchitecture, Dec. 1997.
[14]
S. Jourdan, R. Ronen, M. Bekerman, B. Shomar, and A. Yoaz. A Novel Renaming Scheme to Exploit Value Temporal Locality through Physical Register Reuse and Unification. 31st Int'l Symp. on Microarchitecture, Nov. 1998.
[15]
K. Lepak and M. Lipasti. On the Value Locality of Store Instructions. 27th Int'l Symp. on Computer Architecture, June 2000.
[16]
M. Lipasti, C. Wilkerson, and J. Shen. Value Locality and Load Value Prediction. 7th Int'l Conf. on Architectural Support for Programming Languages and Operating Systems, Oct. 1996.
[17]
M. Lipasti. Value Locality and Speculative Execution. Ph.D. Thesis, Carnegie Mellon University, April 1997.
[18]
M. Martin, A. Roth, and C. Fischer. Exploiting Dead Value Information. 30th Int'l Symp. on Microarchitecture, Dec. 1997.
[19]
C. Molina, A. Gonzalez, and J. Tubella. Reducing Memory Traffic via Redundant Store Instructions. HPCN Europe, 1999.
[20]
K. Olukotun, B. Nayfeh, L. Hammond, K. Wilson, and K.-Y. Chang. The Case for a Single-Chip Multiprocessor. 7th Int'l Conf. on Architectural Support for Programming Languages and Operating Systems, Oct. 1996.
[21]
J. Oplinger, D. Heine, S.-W. Liao, B. Nayfeh, M. Lam, and K. Olukotun. Software and Hardware for Exploiting Speculative Parallelism in Multiprocessors. CSL-TR-97-715, Stanford University, Feb. 1997.
[22]
S. Reinhardt and S. Mukherjee. Transient Fault Detection via Simultaneous Multithreading. 27th Int'l Symp. on Computer Architecture, June 2000.
[23]
D. Ronfeldt. Social Science at 190 MPH on NASCAR's Biggest Superspeedways. First Monday Journal (on-line), Vol. 5 No. 2, Feb. 7, 2000.
[24]
E. Rotenberg. AR-SMT: A Microarchitectural Approach to Fault Tolerance in Microprocessors. 29th Int'l Symp. on Fault-Tolerant Computing, June 1999.
[25]
E. Rotenberg. Exploiting Large Ineffectual Instruction Sequences. Technical Report, Department of Electrical and Computer Engineering, North Carolina State University, Nov. 1999.
[26]
A. Roth, A. Moshovos, and G. Sohi. Dependence Based Prefetching for Linked Data Structures. 8th Int'l Conf. on Architectural Support for Programming Languages and Operating Systems, Oct. 1998.
[27]
A. Roth and G. Sohi. Speculative Data Driven Sequencing for Imperative Programs. Technical Report CS-TR-2000-1411, Computer Sciences Department, University of Wisconsin - Madison, Feb. 2000.
[28]
A. Roth and G. Sohi. Speculative Data-Driven Multithreading. Technical Report CS-TR-2000-1414, Computer Sciences Department, University of Wisconsin - Madison, April 2000.
[29]
P. Rubinfeld. Virtual Roundtable on the Challenges and Trends in Processor Design: Managing Problems at High Speeds. Computer, 31(1):47-48, Jan. 1998.
[30]
Y. Sazeides and J. E. Smith. Modeling Program Predictability. 25th Int'l Symp. on Computer Architecture, June 1998.
[31]
A. Sodani and G. S. Sohi. Dynamic Instruction Reuse. 24th Int'l Symp. on Computer Architecture, June 1997.
[32]
A. Sodani and G. S. Sohi. An Empirical Analysis of Instruction Repetition. 8th Int'l Conf. on Architectural Support for Programming Languages and Operating Systems, Oct. 1998.
[33]
G. Sohi, S. Breach, and T. N. Vijaykumar. Multiscalar Processors. 22nd Int'l Symp. on Computer Architecture, June 1995.
[34]
J. Steffan and T. Mowry. The Potential for Using Thread-Level Data Speculation to Facilitate Automatic Parallelization. 4th Int'l Symp. on High-Performance Computer Architecture, Feb. 1998.
[35]
J.-Y. Tsai and P.-C. Yew. The Superthreaded Architecture: Thread Pipelining with Run-time Data Dependence Checking and Control Speculation. Parallel Architectures and Compiler Techniques, 1996.
[36]
D. Tullsen, S. Eggers, and H. Levy. Simultaneous Multithreading: Maximizing On-Chip Parallelism. 22nd Int'l Symp. on Computer Architecture, June 1995.
[37]
D. Tullsen, S. Eggers, J. Emer, H. Levy, J. Lo, and R. Stamm. Exploiting Choice: Instruction Fetch and Issue on an Implementable Simultaneous Multithreading Processor. 23rd Int'l Symp. on Computer Architecture, May 1996.
[38]
D. Tullsen and J. Seng. Storageless Value Prediction Using Prior Register Values. 26th Int'l Symp. on Computer Architecture, May 1999.
[39]
W. Yamamoto and M. Nemirovsky. Increasing Superscalar Performance through Multistreaming. Parallel Architectures and Compilation Techniques, June 1995.
[40]
C. Zilles, J. Emer, and G. Sohi. The Use of Multithreading for Exception Handling. 32nd Int'l Symp. on Microarchitecture, Nov. 1999.
[41]
C. Zilles and G. Sohi. Understanding the Backward Slices of Performance Degrading Instructions. 27th Int'l Symp. on Computer Architecture, June 2000.

Cited By

View all
  • (2023)Speculative Register Reclamation2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA56546.2023.10071122(1182-1194)Online publication date: Feb-2023
  • (2023)A Survey on the Proposed Architectures for Efficient Execution of Irregular Applications Using Pipeline Parallelism2023 Congress in Computer Science, Computer Engineering, & Applied Computing (CSCE)10.1109/CSCE60160.2023.00342(2080-2087)Online publication date: 24-Jul-2023
  • (2022)Reliability-Aware Runahead2022 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA53966.2022.00062(772-785)Online publication date: Apr-2022
  • Show More Cited By

Index Terms

  1. Slipstream processors: improving both performance and fault tolerance

                            Recommendations

                            Comments

                            Please enable JavaScript to view thecomments powered by Disqus.

                            Information & Contributors

                            Information

                            Published In

                            cover image ACM Conferences
                            ASPLOS IX: Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
                            November 2000
                            271 pages
                            ISBN:1581133170
                            DOI:10.1145/378993
                            • cover image ACM SIGOPS Operating Systems Review
                              ACM SIGOPS Operating Systems Review  Volume 34, Issue 5
                              Dec. 2000
                              269 pages
                              ISSN:0163-5980
                              DOI:10.1145/384264
                              Issue’s Table of Contents
                            • cover image ACM SIGARCH Computer Architecture News
                              ACM SIGARCH Computer Architecture News  Volume 28, Issue 5
                              Special Issue: Proceedings of the ninth international conference on Architectural support for programming languages and operating systems (ASPLOS '00)
                              Dec. 2000
                              269 pages
                              ISSN:0163-5964
                              DOI:10.1145/378995
                              Issue’s Table of Contents
                            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                            Sponsors

                            Publisher

                            Association for Computing Machinery

                            New York, NY, United States

                            Publication History

                            Published: 12 November 2000

                            Permissions

                            Request permissions for this article.

                            Check for updates

                            Qualifiers

                            • Article

                            Conference

                            ASPLOS00
                            ASPLOS00: ASPLOS 2000 Conference
                            Massachusetts, Cambridge, USA

                            Acceptance Rates

                            ASPLOS IX Paper Acceptance Rate 24 of 114 submissions, 21%;
                            Overall Acceptance Rate 535 of 2,713 submissions, 20%

                            Upcoming Conference

                            Contributors

                            Other Metrics

                            Bibliometrics & Citations

                            Bibliometrics

                            Article Metrics

                            • Downloads (Last 12 months)130
                            • Downloads (Last 6 weeks)21
                            Reflects downloads up to 21 Sep 2024

                            Other Metrics

                            Citations

                            Cited By

                            View all
                            • (2023)Speculative Register Reclamation2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA56546.2023.10071122(1182-1194)Online publication date: Feb-2023
                            • (2023)A Survey on the Proposed Architectures for Efficient Execution of Irregular Applications Using Pipeline Parallelism2023 Congress in Computer Science, Computer Engineering, & Applied Computing (CSCE)10.1109/CSCE60160.2023.00342(2080-2087)Online publication date: 24-Jul-2023
                            • (2022)Reliability-Aware Runahead2022 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA53966.2022.00062(772-785)Online publication date: Apr-2022
                            • (2021)Software-Defined Vector Processing on Manycore FabricsMICRO-54: 54th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3466752.3480099(392-406)Online publication date: 18-Oct-2021
                            • (2021)Highly Concurrent Latency-tolerant Register Files for GPUsACM Transactions on Computer Systems10.1145/341997337:1-4(1-36)Online publication date: 4-Jan-2021
                            • (2021)A Cost-Effective Entangling Prefetcher for Instructions2021 ACM/IEEE 48th Annual International Symposium on Computer Architecture (ISCA)10.1109/ISCA52012.2021.00017(99-111)Online publication date: Jun-2021
                            • (2021)Efficient selective replication of critical code regions for SDC mitigation leveraging redundant multithreadingThe Journal of Supercomputing10.1007/s11227-021-03804-6Online publication date: 10-May-2021
                            • (2020)Pipette: Improving Core Utilization on Irregular Applications through Intra-Core Pipeline Parallelism2020 53rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)10.1109/MICRO50266.2020.00056(596-608)Online publication date: Oct-2020
                            • (2020)Slipstream Processors Revisited: Exploiting Branch Sets2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA)10.1109/ISCA45697.2020.00020(105-117)Online publication date: May-2020
                            • (2020)Precise Runahead Execution2020 IEEE International Symposium on High Performance Computer Architecture (HPCA)10.1109/HPCA47549.2020.00040(397-410)Online publication date: Feb-2020
                            • Show More Cited By

                            View Options

                            View options

                            PDF

                            View or Download as a PDF file.

                            PDF

                            eReader

                            View online with eReader.

                            eReader

                            Get Access

                            Login options

                            Media

                            Figures

                            Other

                            Tables

                            Share

                            Share

                            Share this Publication link

                            Share on social media