skip to main content
research-article

Program performance spectrum

Published:20 June 2013Publication History
Skip Abstract Section

Abstract

Real-time and embedded applications often need to satisfy several non-functional properties such as timing. Consequently, performance validation is a crucial stage before the deployment of real-time and embedded software. Cache memories are often used to bridge the performance gap between a processor and memory subsystems. As a result, the analysis of caches plays a key role in the performance validation of real-time, embedded software. In this paper, we propose a novel approach to compute the cache performance signature of an entire program. Our technique is based on exploring the input domain through different path programs. Two paths belong to the same path program if they follow the same set of control flow edges but may vary in the iterations of loops encountered. Our experiments with several subject programs show that the different paths grouped into a path program have very similar and often exactly same cache performance.

Our path program exploration can be viewed as partitioning the input domain of the program. Each partition is associated with its cache performance and a symbolic formula capturing the set of program inputs which constitutes the partition. We show that such a partitioning technique has wide spread usages in performance prediction, testing, debugging and design space exploration.

References

  1. KLEE Symbolic Virtual Machine. http://klee.llvm.org/.Google ScholarGoogle Scholar
  2. LLVM compiler infrastructure. http://llvm.org/.Google ScholarGoogle Scholar
  3. MINISAT solver. http://minisat.se/Main.html.Google ScholarGoogle Scholar
  4. STP Constraint Solver. http://sites.google.com/site/stpfastprover/.Google ScholarGoogle Scholar
  5. WCET benchmarks. http://www.mrtc.mdh.se/projects/wcet/benchmarks.html.Google ScholarGoogle Scholar
  6. G. Balakrishnan and T. W. Reps. Analyzing memory accesses in x86 executables. In CC, 2004.Google ScholarGoogle Scholar
  7. T. Ball and J. R. Larus. Efficient path profiling. In MICRO, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. Burnim, S. Juvekar, and K. Sen. WISE: Automated test generation for worst-case complexity. In ICSE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Chattopadhyay and A. Roychoudhury. Scalable and precise refinement of cache timing analysis via model checking. In RTSS, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. E. Coppa, C. Demetrescu, and I. Finocchi. Input-sensitive profiling. In PLDI, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Cousot and N. Halbwachs. Automatic discovery of linear restraints among variables of a program. In POPL, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. C. Ding and Y. Zhong. Predicting whole-program locality through reuse distance analysis. In PLDI, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Killian et al. Finding latent performance bugs in systems implementations. In FSE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. F. Nemer et al. Papabench: a free real-time benchmark. In WCET Workshop, 2006.Google ScholarGoogle Scholar
  15. M. R. Guthaus et al. Mibench: A free, commercially representative embedded benchmark suite. In WWC-4. 2001 IEEE International Workshop, 2001. Google ScholarGoogle ScholarCross RefCross Ref
  16. W. R. Harris et al. Program analysis via satisfiability modulo path programs. In POPL, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. P. Godefroid, N. Klarlund, and K. Sen. DART: directed automated random testing. In PLDI, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. Gulwani, K. K. Mehra, and T. M. Chilimbi. SPEED: precise and efficient static estimation of program computational complexity. In POPL, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. R. Larus. Whole program paths. In PLDI, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. P. Puschner and R. Nossal. Testing the results of static worst-case execution-time analysis. In RTSS, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Y. Qadri, D. Matichard, and K. D. McDonald-Maier. JetBench: An open source real-time multiprocessor benchmark. In ARCS, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. Qi, H. D. T. Nguyen, and A. Roychoudhury. Path exploration based on symbolic output. In FSE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. H. Theiling, C. Ferdinand, and R. Wilhelm. Fast and precise WCET prediction by separated cache and path analyses. Real-Time Systems, 18(2/3), 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. D. Zaparanuks and M. Hauswirth. Algorithmic profiling. In PLDI, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Program performance spectrum

      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

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 48, Issue 5
        LCTES '13
        May 2013
        165 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2499369
        Issue’s Table of Contents
        • cover image ACM Conferences
          LCTES '13: Proceedings of the 14th ACM SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
          June 2013
          184 pages
          ISBN:9781450320856
          DOI:10.1145/2491899

        Copyright © 2013 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 20 June 2013

        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!