skip to main content
10.1145/3203217.3203271acmconferencesArticle/Chapter ViewAbstractPublication PagescfConference Proceedingsconference-collections
short-paper

Make software harder

Authors Info & Claims
Published:08 May 2018Publication History

ABSTRACT

Programming models should ideally let programmers express their ideas directly and explicitly. No such models are available for expert programmers, authors of machine-specific code optimizations, whose ideas often exploit architectural details invisible even at the assembly language level. In this paper we call for filling this void, and define performance transparency to evaluate the extent to which a programming model accommodates the expert programmer use case. We propose a specific approach to attaining performance transparency: make software harder by exposing the key components of the target architecture. The opportunities and challenges this approach brings are discussed.

References

  1. P. Axer, C. Rochange, M. Sebastian, R. Von Hanxleden, R. Wilhelm, W. Yi, R. Ernst, H. Falk, A. Girault, D. Grund, N. Guan, B. Jonsson, P. Marwedel, and J. Reineke. 2014. Building timing predictable embedded systems. ACM Trans. on Embedded Computing Systems 13, 4 (2014), 1--37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. Bachrach, H. Vo, B. Richards, Y. Lee, A. Waterman, R. Avižienis, J. Wawrzynek, and K. Asanović. 2012. Chisel: Constructing Hardware in a Scala Embedded Language. In Proc. of the 49th Design Automation Conference (DAC'12). 1212--1221. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. B. A. Bjørnseth, J. C. Meyer, and L. Natvig. 2018. Proof-of-Concept Examples of Performance-Transparent Programming Models. Technical Report. arXiv:1803.11179Google ScholarGoogle Scholar
  4. W. Gropp and M. Snir. 2013. Programming for exascale computers. Computing in Science and Engineering 15, 6 (2013), 27--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. H. Guan, X. Shen, and H. Krim. 2017. Egeria: A Framework for Automatic Synthesis of HPC Advising Tools through Multi-Layered Natural Language Processing. In Proc. of the Int'l Conf. for High Performance Computing, Networking, Storage and Analysis (SC'17). 10:1--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C. A. R. Hoare. 1973. Hints on Programming Language Design. Technical Report. 29 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Karpiński and J. McDonald. 2017. An Embedded Domain Specific Language for General Purpose Vectorization. In ICS High Performance Workshops 2017, LNCS, J.M. Kunkel (Ed.). Vol. 10524. Springer International Publishing, 515--537.Google ScholarGoogle Scholar
  8. K. Kennedy, C. Koelbel, and H. Zima. 2011. The rise and fall of high performance Fortran. Commun. ACM 54 (2011), 74. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Donald E. Knuth. 1968. Semantics of context-free languages. Mathematical Systems Theory 2, 2 (1968), 127--145.Google ScholarGoogle ScholarCross RefCross Ref
  10. Peter Kogge and John Shalf. 2013. Exascale computing trends: Adjusting to the "new normal" for computer architecture. Computing in Science and Engineering 15, 6 (2013), 16--26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. W. R. Mark, R. S. Glanville, K. Akeley, and M. J. Kilgard. 2003. Cg: a system for programming graphics hardware in a C-like language. ACM Trans. on Graphics 22, 3 (2003), 896--907. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. D. McCool. 2008. Scalable programming models for massively multicore processors. Proc. IEEE 96, 5 (2008), 816--831.Google ScholarGoogle ScholarCross RefCross Ref
  13. John Nickolls, Ian Buck, Michael Garland, and Kevin Skadron. 2008. Scalable parallel programming with CUDA. ACM Queue 6, April (2008), 40--53. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. K. Sujeeth, K. J. Brown, H. Lee, T. Rompf, H. Chafi, M. Odersky, and K. Olukotun. 2014. Delite: A Compiler Architecture for Performance-Oriented Embedded Domain-Specific Languages. ACM Trans. on Embedded Computing Sys. 13, 4s (2014), 1--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Yuan Tang, Rezaul Chowdhury, Bradley C. Kuszmaul, Chi-keung Luk, and Charles E. Leiserson. 2011. The Pochoir Stencil Compiler. In Proceedings of the twenty-third annual ACM Symposium on Parallelism in Algorithms and Architectures. 117--128. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. D. Unat, A. Dubey, T. Hoefler, J. Shalf, M. Abraham, M. Bianco, B. L. Chamberlain, R. Cledat, H. C. Edwards, H. Finkel, K. Fuerlinger, F. Hannig, E. Jeannot, A. Kamil, J. Keasler, P. H J Kelly, V. Leung, H. Ltaief, N. Maruyama, C. J. Newburn, and M. Pericas. 2017. Trends in Data Locality Abstractions for HPC Systems. IEEE TPDS 9219, c (2017), 1--14.Google ScholarGoogle Scholar

Index Terms

  1. Make software harder

      Recommendations

      Comments

      Login options

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

      Sign in
      • Published in

        cover image ACM Conferences
        CF '18: Proceedings of the 15th ACM International Conference on Computing Frontiers
        May 2018
        401 pages
        ISBN:9781450357616
        DOI:10.1145/3203217

        Copyright © 2018 ACM

        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 the author(s) 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].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 8 May 2018

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • short-paper

        Acceptance Rates

        Overall Acceptance Rate240of680submissions,35%
      • Article Metrics

        • Downloads (Last 12 months)2
        • Downloads (Last 6 weeks)0

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader