Skip to main content

Speculative Parallelization – Eliminating the Overhead of Failure

  • Conference paper
High Performance Computing and Communications (HPCC 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4782))

Abstract

Existing runtime parallelization techniques impose severe performance penalties when a speculative parallelization is attempted and fails. Some techniques require a sequential restart of the speculative execution while others only disregard the work after the first point of failure. This paper introduces a new technique that reduces the performance overhead of failure to less than 1% on standard processors through a combination of hoisting the failure path and partitioning work to a Coinspector Thread.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Zhu, C.Q., Yew, P.C.: A scheme to enforce data dependence on large multiprocessor systems. IEEE Transactions on Software Engineering 13(6), 726–739 (1987)

    Article  MATH  Google Scholar 

  2. Midkiff, S.P., Padua, D.A.: Compiler algorithms for synchronization. IEEE Transactions on Computers 36(12), 1485–1495 (1987)

    Article  MATH  Google Scholar 

  3. Rauchwerger, L.: Run-time parallelization: Its time has come. Parallel Computing 24(3-4), 527–556 (1998)

    Article  MATH  Google Scholar 

  4. Rauchwerger, L., Padua, D.A.: The LRPD Test: Speculative run-time parallelization of loops with privatization and reduction parallelization. IEEE Transactions of Parallel and Distributed Systems 10(2), 160–180 (1999)

    Article  Google Scholar 

  5. Garzarán, M.J., Prvulovic, M., Llabería, J.M., Viñals, V., Rauchwerger, L., Torrellas, J.: Tradeoffs in buffering speculative memory state for thread-level speculation in multiprocessors. ACM Transactions on Architecture and Code Optimization 2(3), 247–279 (2005)

    Article  Google Scholar 

  6. Dang, F.H., Yu, H., Rauchwerger, L.: The R-LRPD Test: Speculative parallelization of partially parallel loops. In: IPDPS 2002, pp. 20–29 (2002)

    Google Scholar 

  7. Cintra, M., Llanos, D.R.: Design space exploration of a software speculative parallelization scheme. IEEE Transactions of Parallel and Distributed Systems 16(5), 1–15 (2005)

    Article  Google Scholar 

  8. Rundberg, P., Stenström, P.: An all-software thread-level data dependence speculation system for multiprocessors. Journal of Instruction Level Parallelism 3 (2001)

    Google Scholar 

  9. Gupta, M., Nim, R.: Techniques for speculative run-time parallelization of loops. In: Proceedings of the 1998 ACM/IEEE Conference on Supercomputing – SC 1998 (1998)

    Google Scholar 

  10. Bruening, D., Devabhaktuni, S., Amarasinghe, S.: Softspec: Software-based speculative parallelism. In: Third ACM Workshop on Feedback-Directed and Dynamic Optimization – FDDO-3 (2000)

    Google Scholar 

  11. Sohi, G.S., Breach, S.E., Vijaykumar, T.N.: Multiscalar processors. In: ISCA 1995, pp. 414–425 (1995)

    Google Scholar 

  12. Marcuello, P., González, A.: Clustered speculative multithreaded processors. In: ICS 1999, pp. 365–372 (1999)

    Google Scholar 

  13. Tsai, J.Y., Huang, J., Amlo, C., Lilja, D.J., Yew, P.C.: The Superthreaded processor architecture. IEEE Transactions on Computers 48(9), 881–902 (1999)

    Article  Google Scholar 

  14. Oplinger, J.T., Heine, D.L., Lam, M.S.: In search of speculative thread-level parallelism. PACT 1999, 303–313 (1999)

    Google Scholar 

  15. Prvulovic, M., Garzarán, M.J., Rauchwerger, L., Torrellas, J.: Removing architectural bottlenecks to the scalability of speculative parallelization. In: ISCA 2001, 204–215 (2001)

    Google Scholar 

  16. Chaudhry, S., Tremblay, M.: Space-time dimensional computing for Javatm programs on the MAJC architecture. In: Java Microarchitectures (2002)

    Google Scholar 

  17. Sarangi, S.R., Wei Liu, J.T., Zhou, Y.: Reslice: Selective re-execution of long-retired misspeculated instructions using forward slicing. In: Proceedings of the 38th annual IEEE/ACM International Symposium on Microarchitecture – MICRO 38, pp. 257–270 (2005)

    Google Scholar 

  18. Oliker, L., Canning, A., Carter, J., Shalf, J., Ethier, S.: Scientifc computations on modern parallel vector systems. In: Proceedings of the ACM/IEEE SC2004 Conference on Supercomputing (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ronald Perrott Barbara M. Chapman Jaspal Subhlok Rodrigo Fernandes de Mello Laurence T. Yang

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Luján, M., Gustafson, P., Paleczny, M., Vick, C.A. (2007). Speculative Parallelization – Eliminating the Overhead of Failure. In: Perrott, R., Chapman, B.M., Subhlok, J., de Mello, R.F., Yang, L.T. (eds) High Performance Computing and Communications. HPCC 2007. Lecture Notes in Computer Science, vol 4782. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75444-2_45

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-75444-2_45

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-75443-5

  • Online ISBN: 978-3-540-75444-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics