Skip to main content
Log in

Dual-thread Speculation: A Simple Approach to Uncover Thread-level Parallelism on a Simultaneous Multithreaded Processor

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

As chip multiprocessors with simultaneous multithreaded cores are becoming commonplace, there is a need for simple approaches to exploit thread-level parallelism. In this paper, we consider thread-level speculation as a means to reap thread-level parallelism out of application binaries. We first investigate the tradeoffs between scheduling speculative threads on the same core and on different cores. While threads contend for the same resources using the former approach, the latter approach is plagued by the overhead for inter-core communication. Despite the impact of resource contention, our detailed simulations show that the first approach provides the best performance due to lower inter-thread communication cost. The key contribution of the paper is the proposed design and evaluation of the dual-thread speculation system. This design point has very low complexity and reaps most of the gains of a system.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Kalla, J., Sinharoy, B., Tendler, J.: IBM power5 chip: a dual-core multithreaded processor. IEEE Micro. 24(2), 40–47 (2004)

    Article  Google Scholar 

  2. Kongetira, P., Aingaran, K., Olukotun, K.: Niagara: a 32-way multithreaded sparc processor. IEEE Micro. 25(2), 21–29 (2005)

    Article  Google Scholar 

  3. Tullsen, D., Eggers, S., Levy, H.: Simultaneous multithreading: maximizing on-chip parallelism. In: Proceedings of the 22th Annual International Symposium on Computer Architecture (ISCA ’95), pp. 392–403. ACM Press (1995)

  4. Codrescu, L., Wills, D.S.: Architecture of the atlas chip-multiprocessor: dynamically parallelizing irregular applications. In: Proceedings of the 1999 International Conference on Computer Design (ICCD ’99), pp. 428–435. IEEE Computer Society (October 1999)

  5. Hammond, L., Willey, M., Olukotun, K.: Data speculation support for a chip multiprocessor. In: Proceedings of the Eighth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-VIII ’98), pp. 58–69. ACM Press (October 1998)

  6. Krishnan, V., Torrellas, J.: A chip-multiprocessor architecture with speculative multithreading. IEEE Trans. Comput. 48(9), 866–880 (1999)

    Article  Google Scholar 

  7. Ohsawa,T., Takagi, M., Kawahara, S., Matsushita, S.: Pinot: speculative multi-threading processor architecture exploiting parallelism over a wide range of granularities. In: Proceedings of the 38th annual IEEE/ACM International Symposium on Microarchitecture (MICRO ’05), pp. 81–92, Washington, DC, USA, 2005. IEEE Computer Society

  8. Sohi, G.S., Breach, S.E., Vijaykumar, T.N.: Multiscalar processors. In: Proceedings of the 22nd Annual International Symposium on Computer Architecture (ISCA ’95), pp. 414–425. ACM Press (June 1995)

  9. Steffan, J.G., Mowry, T.C.: The potential for using thread-level data speculation to facilitate automatic parallelization. In: Proceedings of the Fourth International Symposium on High-Performance Computer Architecture (HPCA ’98), pp. 2–13. IEEE Computer Society (February 1998)

  10. Renau, J., Strauss, K., Ceze, L., Liu, W., Sarangi, S., Tuck, J., Torrellas, J.: Thread-level speculation on a cmp can be energy efficient. In: Proceedings of the International Conference on Supercomputing (ICS ’05). ACM (June 2005)

  11. Akkary, H., Driscoll, M.A.: A dynamic multithreading processor. In: Proceedings of the 31st Annual International Symposium on Microarchitecture (MICRO ’98), pp. 226–236. IEEE Computer Society (December 1998)

  12. Park, I., Vijaykumar, T.N.: Implicitly-multithreaded processors. In: Proceedings of the 30th Annual International Symposium on Computer Architecture (ISCA ’03), pp. 39–50. IEEE Computer Society (June 2003)

  13. Marcuello, P., González, A.: Exploiting speculative thread-level parallelism on a SMT processor. In: Proceedings of the International Conference on High Performance Computing and Networking (HPCN ’99), pp. 754–763 (April 1999)

  14. Gopal, S., Vijaykumar,T., Smith, J., Sohi, G.: Speculative versioning cache. In: Proceedings of the Fourth International Symposium on High-Performance Computer Architecture (HPCA ’98), pp. 195–206. IEEE Computer Society (February 1998)

  15. Renau, J., Tuck, J., Liu, W., Ceze, L., Strauss, K., Torrellas, J.: Tasking with out-of-order spawn in tls chip multiprocessors: microarchitecture and compilation. In: Proceedings of the International Conference on Supercomputing (ICS ’05). ACM (June 2005)

  16. Magnusson, P.S., Christensson, M., Eskilson, J., Forsgren, D., Hållberg, G., Högberg, J., Larsson, F., Moestedt, A., Werner, B.: Simics: a full system simulation plattform. IEEE Computer, pp. 50–58 (February 2002)

  17. Warg, F., Stenstrom, P.: Improving speculative thread-level parallelism through module run-length prediction. In: Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS ’03). IEEE Computer Society (April 2003)

  18. Wallace, S., Calder, B., Tullsen D.: Threaded multiple path execution. In Proceedings of the 25th Annual International Symposium on Computer Architecture (ISCA ’98), pp. 238–249. ACM Press (June 1998)

  19. Özer, E., Conte, T.M., Sharma S.: Weld: a multithreading technique towards latency-tolerant VLIW processors. In: Proceedings of the 8th International Conference on High Performance Computing (HiPC ’01), pp. 192–203. Springer (Dec 2001)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fredrik Warg.

Additional information

The work was carried out while Fredrik Warg was a graduate student at Chalmers University of Technology.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Warg, F., Stenstrom, P. Dual-thread Speculation: A Simple Approach to Uncover Thread-level Parallelism on a Simultaneous Multithreaded Processor. Int J Parallel Prog 36, 166–183 (2008). https://doi.org/10.1007/s10766-007-0064-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-007-0064-z

Keywords

Navigation