research-article

Software data-triggered threads

Published:19 October 2012Publication History

Abstract

The data-triggered threads (DTT) programming and execution model can increase parallelism and eliminate redundant computation. However, the initial proposal requires significant architecture support, which impedes existing applications and architectures from taking advantage of this model. This work proposes a pure software solution that supports the DTT model without any hardware support. This research uses a prototype compiler and runtime libraries running on top of existing machines. Several enhancements to the initial software implementation are presented, which further improve the performance.

The software runtime system improves the performance of serial C SPEC benchmarks by 15% on a Nehalem processor, but by over 7X over the full suite of single-thread applications. It is shown that the DTT model can work in conjunction with traditional parallelism. The DTT model provides up to 64X speedup over parallel applications exploiting traditional parallelism.

References

  1. Arvind and R. S. Nikhil. Executing a program on the MIT tagged-token dataflow architecture. IEEE Transactions on Computers, 39:300?--318, March 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Balakrishnan and G. S. Sohi. Program demultiplexing: Data-flow based speculative parallelization of methods in sequential programs. In 33rd Annual International Symposium on Computer Architecture, volume 0, pages 302--?313, June 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. C. Bienia and K. Li. P ARSEC 2.0: A New Benchmark Suite for Chip-Multiprocessors. In Proceedings of the 5th Annual Workshop on Modeling, Benchmarking and Simulation, June 2009.Google ScholarGoogle Scholar
  4. J. Brown, L. Porter, and D. Tullsen. Fast thread migration via cache working set prediction. In Proceedings of 17th International Symposium on High P erformance Computer Architecture, pages 193--204, February 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. C. Cann, J. T . Feo, A. D. W. Bohoem, and O. Oldehoeft. SISAL Reference Manual: Language Version 2.0, 1992.Google ScholarGoogle Scholar
  6. D. Citron, D. Feitelson, and L. Rudolph. Accelerating multimedia processing by implementing memoing in multiplication and division units. In Eighth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 252--?261, October 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. E. Culler, A. Sah, K. E. Schauser, T . von Eicken, and J. Wawrzynek. Fine-grain parallelism with minimal hardware support: a compiler-controlled threaded abstract machine. In Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 164?--175, April 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Frigo, C. E. Leiserson, and K. H. Randall. The implemen-tation of the Cilk-5 multithreaded language. In Proceedings of the ACM SIGPLAN 1998 conference on Programming lan-guage design and implementation, pages 212--?223, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. A. Hammer, U. A. Acar, and Y . Chen. CEAL: a C-based language for self-adjusting computation. In Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation, pages 25?--37, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P . Marcuello, A. Gonzalez, and J. Tubella. Speculative multi-threaded processors. In Proceedings of the 12th international conference on Supercomputing, pages 77--84, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Michie. Memo functions and machine learning. Nature, 218:19?--22, 1968.Google ScholarGoogle ScholarCross RefCross Ref
  12. R. S. Nikhil. Can dataflow subsume von Neumann computing? In 16th Annual International Symposium on Computer Architecture, pages 262--?272, May 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. S. Nikhil. ID reference manual, version 90.1. CSG Memo 284-2, September 1990.Google ScholarGoogle Scholar
  14. G. Papadopoulos and D. Culler. Monsoon: an explicit token-store architecture. 17th Annual International Symposium on Computer Architecture, pages 82?--91, May 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. H. Patil, R. Cohn, M. Charney , R. Kapoor, A. Sun, and A. Karunanidhi. Pinpointing representative portions of large Intel Itanium programs with dynamic instrumentation. In 34th International Symposium on Microarchitecture, pages 81--92, Dec. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. H.-W . Tseng and D. M. Tullsen. Data-triggered threads: Elim-inating redundant computation. In Proceedings of 17th International Symposium on High Performance Computer Architecture, pages 181--?192, Feb. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. H.-W . Tseng and D. M. Tullsen. Eliminating redundant computation and exposing parallelism through data-triggered threads. IEEE Micro, 32(3):38--?47, May 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. Tullsen, S. Eggers, and H. Levy . Simultaneous multithreading: Maximizing on-chip parallelism. In 22nd Annual International Symposium on Computer Architecture, pages 392?--403, June 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Software data-triggered threads

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 47, Issue 10
      OOPSLA '12
      October 2012
      1011 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2398857
      Issue’s Table of Contents
      • cover image ACM Conferences
        OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applications
        October 2012
        1052 pages
        ISBN:9781450315616
        DOI:10.1145/2384616

      Copyright © 2012 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 19 October 2012

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!