Skip to main content

Trimaran: An Infrastructure for Research in Instruction-Level Parallelism

  • Conference paper
Languages and Compilers for High Performance Computing (LCPC 2004)

Abstract

Trimaran is an integrated compilation and performance monitoring infrastructure. The architecture space that Trimaran covers is characterized by HPL-PD, a parameterized processor architecture supporting novel features such as predication, control and data speculation and compiler controlled management of the memory hierarchy. Trimaran also consists of a full suite of analysis and optimization modules, as well as a graph-based intermediate language. Optimizations and analysis modules can be easily added, deleted or bypassed, thus facilitating compiler optimization research. Similarly, computer architecture research can be conducted by varying the HPL-PD machine via the machine description language HMDES. Trimaran also provides a detailed simulation environment and a flexible performance monitoring environment that automatically tracks the machine as it is varied.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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.

Similar content being viewed by others

References

  1. Abraham, S., Kathail, V., Deitrich, B.: Meld scheduling: A technique for relaxing scheduling constraints. Technical Report HPL-1997-39, Hewlett Packard Laboratories (February 1997)

    Google Scholar 

  2. Altemose, G., Norris, C.: Register pressure responsive software pipelining. In: Proceedings of the 2001 ACM symposium on Applied computing (2001)

    Google Scholar 

  3. Arnold, M., Hsiao, M., Kremer, U., Ryder, B.G.: Instruction scheduling in the presence of java’s runtime exceptions. In: Proceedings of the 12th International Workshop on Languages and Compilers for Parallel Computing (2000)

    Google Scholar 

  4. Carter, L., Simon, B., Calder, B., Carter, L., Ferrante, J.: Predicated static single assignment. In: Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (1999)

    Google Scholar 

  5. Clark, N., Tang, W., Mahlke, S.: Automatically generating custom instruction set extensions. In: Proceedings of the 1st Annual Workshop on Application-Specific Processors (November 2002)

    Google Scholar 

  6. Furber, S.: ARM System Architecture. Addison Wesley, Reading (1996)

    Google Scholar 

  7. Gallagher, D., Chen, W., Mahlke, S., Gyllenhaal, J., Hwu, W.: Dynamic memory disambiguation using the memory conflict buffer. In: Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 183–195 (1994)

    Google Scholar 

  8. Gyllenhaal, J., Hwu, W., Rau, B.R.: Hmdes version 2.0 specification. Technical Report IMPACT-96-3, University of Illinois, Urbana (1996)

    Google Scholar 

  9. Hwu, W., Mahlke, S., Chen, W., Chang, P., Warter, N., Bringmann, R., Ouellette, R., Hank, R., Kiyohara, T., Haab, G., Holm, J., Lavery, D.: The superblock: An effective technique for VLIW and superscalar compilation. Journal of Supercomputing (January 1993)

    Google Scholar 

  10. Intel Itanium Processors, http://www.intel.com/itanium/

  11. Kathail, V., Schlansker, M., Rau, B.R.: HPL-PD architecture specification: Version 1.1. Technical Report HPL-9380 (R.1), Hewlett Packard Laboratories (February 2000)

    Google Scholar 

  12. Lam, M.: Software Pipelining: An Effective Scheduling Technique for VLIW Machines. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, Atlanta, GA, pp. 318–328 (June 1988)

    Google Scholar 

  13. Lee, C., Potkonjak, M., Mangione-Smith, W.H.: MediaBench: A Tool for Evaluating and Synthesizing Multimedia and Communications Systems. In: Proceedings of the 30th Annual International Symposium on Microarchitecture (MICRO-30), Research Triangle Park, NC, December 1997. IEEE Computer Society Press, Los Alamitos (1997)

    Google Scholar 

  14. Mahlke, S., Chen, W., Bringmann, R., Hank, R., Hwu, W., Rau, B.R., Schlansker, M.: Sentinel scheduling: a model for compiler-controlled speculative execution. ACM Transactions on Computer Systems 11(4) (November 1993)

    Google Scholar 

  15. Mahlke, S., Lin, D., Chen, W., Hank, R., Bringmann, R.: Effective compiler support for predicated execution using the hyperblock. In: Proceedings of the 25th Annual International Symposium on Microarchitecture, pp. 45–54 (December 1992)

    Google Scholar 

  16. Olden benchmark suite, http://www.cs.princeton.edu/~mcc/olden.html

  17. Palem, K., Chakrapani, L., Yalamanchili, S.: A framework for compiler driven design space exploration for embedded system customization. In: Proceedings of the 9th Asian Computing Science Conference (December 2004)

    Google Scholar 

  18. Rabbah, R., Palem, K.: Data remapping for design space optimization of embedded memory systems. To appear in a Special Issue of the ACM Transactions in Embedded Computing Systems (2003)

    Google Scholar 

  19. Rabbah, R., Sandanagobalane, H., Ekpanyapong, M., Wong, W.-F.: Compiler orchestrated prefetching via speculation and predication. In: Proceedings of the 11th International Conference on Architectural Support for Programming Languages and Operating Systems (October 2004)

    Google Scholar 

  20. Rau, B.R.: Iterative Modulo Scheduling. Technical Report HPL-94-115, Hewlett Packard Company (November 1995)

    Google Scholar 

  21. Rau, B.R.: Iterative modulo scheduling. Technical Report Technical Report HPL-94-115, Hewlett-Packard Laboratories (November 1995)

    Google Scholar 

  22. Rau, B.R., Lee, M., Tirumalai, P., Schlansker, M.: Register allocation for modulo scheduled loops: Strategies, algorithms and heuristics. Technical Report HPL-1992-48, Hewlett Packard Laboratories (May 1992)

    Google Scholar 

  23. Rogers, A., Li, K.: Software support for speculative loads. In: Proceedings of the 5th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 38–50 (1992)

    Google Scholar 

  24. Schlansker, M., Rau, B.: EPIC: Explicitly Parallel Instruction Computing. IEEE Computer 33(2), 37–45 (2000)

    Google Scholar 

  25. Schreiber, R., Aditya, S., Mahlke, S., Kathail, V., Rau, B.R., Cronquist, D., Sivaraman, M.: PICO-NPA: High-level synthesis of nonprogrammable hardware accelerators. Journal of VLSI Signal Processing 31(2) (June 2002)

    Google Scholar 

  26. Sias, J.W., zee Ueng, S., Kent, G.A., Steiner, I.M., Nystrom, E.M., Mei, W., Hwu, W.: Field-testing impact epic research results in itanium 2. In: Proceedings of the 31st annual international symposium on Computer architecture (June 2004)

    Google Scholar 

  27. Smelyanskiy, M., Mahlke, S., Davidson, E., Lee, H.-H.: Predicate-aware scheduling: A technique for reducing resource constraints. In: Proceedings of the 1st International Symposium on Code Generation and Optimization (March 2003)

    Google Scholar 

  28. Standard Performance Evaluation Corporation benchmark suite, http://www.spec.org

  29. Talla, S.: Adaptive explicitly parallel instruction computing. PhD thesis, New York University (2000)

    Google Scholar 

  30. TRICEPS: A TRIMARAN-based ARM code generator, http://www.trimaran.org/triceps.shtml

  31. Tritanium: A trimaran-based Itanium code generator, http://hydrogen.cs.gwu.edu/tritanium

  32. Wireless integrated microsystems, http://www.wimserc.org

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chakrapani, L.N., Gyllenhaal, J., Hwu, Wm.W., Mahlke, S.A., Palem, K.V., Rabbah, R.M. (2005). Trimaran: An Infrastructure for Research in Instruction-Level Parallelism. In: Eigenmann, R., Li, Z., Midkiff, S.P. (eds) Languages and Compilers for High Performance Computing. LCPC 2004. Lecture Notes in Computer Science, vol 3602. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11532378_4

Download citation

  • DOI: https://doi.org/10.1007/11532378_4

  • Publisher Name: Springer, Berlin, Heidelberg

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

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics