skip to main content
10.1145/1967677.1967692acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
research-article

Lowering overhead in sampling-based execution monitoring and tracing

Published:11 April 2011Publication History

ABSTRACT

Debugging is an important phase in the embedded software development cycle because of its high proportion in the overall cost in the product development. Debugging is difficult for real-time applications as such programs are time-sensitive and must meet deadlines in often a resource constrained environment.

A common approach for real-time systems is to monitor the execution instead of stepping through the program, because stepping will usually violate all deadline constraints. We consider a sampling-based approach for monitoring, because of its predictable overhead for the system compared to traditional monitoring. However, the sampling-based approach can easily have high overhead depending on the length of branches and the granularity of the monitoring effort. To reduce this overhead, we instrument the program with markers that will permit us to sample less frequently and thus reduce the overhead.

This leads to the interesting problems of (a) where to place the markers in the code and (b) how to manipulate the markers. While related work investigates the first part, in this work, we investigate the second component of the problem. We investigate different instrumentation schemes and propose two new schemes based on bitvectors that significantly reduce the overhead for sampling-based execution monitoring.

References

  1. RapiTime. web page. http://www.rapitasystems.com/rapitime.Google ScholarGoogle Scholar
  2. J.M. Anderson, L.M. Berc, J. Dean, S. Ghemawat, M.R. Henzinger, S.-T.A. Leung, R.L. Sites, M.T. Vandevoorde, C.A. Waldspurger, and W.E. Weihl. Continuous profiling: Where have all the cycles gone? ACM Trans. Comput. Syst., 15(4):357--390, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Arnold and B.G. Ryder. A framework for reducing the cost of instrumented code. In Proc. of the ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation (PLDI), pages 168--179, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Arnold and P.F. Sweeney. Approximating the calling context tree via sampling. Technical Report RC 21789, IBM T.J. Watson Research Center, July 200.Google ScholarGoogle Scholar
  5. A. Ayers, R. Schooler, C. Metcalf, A. Agarwal, J. Rhee, and E. Witchel. Traceback: First fault diagnosis by reconstruction of distributed control flow. ACM SIGPLAN Not., 40(6):201--212, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: A Transparent Dynamic Optimization System. In Proc. of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation (PLDI), pages 1--12, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. T. Ball and J.R. Larus. Optimally profiling and tracing programs. ACM Trans. Program. Lang. Syst., 16(4):1319--1360, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. T. Ball and J.R. Larus. Efficient path profiling. In Proc. of the 29th Annual ACM/IEEE International Symposium on Microarchitecture, pages 46--57, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Bruening, T. Garnett, and S. Amarasinghe. An Infrastructure for Adaptive Dynamic Optimization. In Proc. of the International Symposium on Code Generation and Optimization (CGO), pages 265--275, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Burrows, U. Erlingsson, S.-T. A. Leung, M. T. Vandevoorde, C. A. Waldspurger, K. Walker, and W. E. Weihl. Efficient and flexible value sampling. ACM SIGPLAN Not., 35(11):160--167, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J.-D. Choi, B.P. Miller, and R.H.B. Netzer. Techniques for debugging parallel programs with flowback analysis. ACM Trans. Program. Lang. Syst., 13(4):491--530, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. I. Chun and C. Lim. Es-debugger: the flexible embedded system debugger based on jtag technology. Proc. of the 7th International Conference on Advanced Communication Technology (ICACT), 2:900--903, 0-0 2005.Google ScholarGoogle Scholar
  13. J. Dean, J.E. Hicks, C.A. Waldspurger, W.E. Weihl, and G. Chrysos. Profileme: Hardware support for instruction-level profiling on out-of-order processors. In Proc. of the 30th Annual ACM/IEEE International Symposium on Microarchitecture (MICRO), 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R.P. Dick, D.L. Rhodes, and W. Wolf. Tgff: Task graphs for free. In Proc. of the Sixth International Workshop on Hardware/Software Codesign (CODES/CASHE), pages 97--101, Mar 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Fischmeister and Y. Ba. Sampling-based Program Execution Monitoring. In Proc. of the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), pages 133--142, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Fischmeister and P. Lam. Time-aware Instrumentation of Embedded Software. IEEE Transactions on Industrial Informatics, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  17. I.R. Forman. On the time overhead of counters and traversal markers. In Proc. of the 5th International Conference on Software Engineering (ICSE), pages 164--169, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M.P. Gallaher and B.M. Kropp. The Economic Impacts of Inadequate Infrastructure for Software Testing. National Institute of Standards & Technologg Planning Report 02--03, May 2002.Google ScholarGoogle Scholar
  19. S.L. Graham, P.B. Kessler, and M.K. Mckusick. Gprof: A call graph execution profiler. ACM SIGPLAN Not., 17(6):120--126, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. N. Kumar, B.R. Childers, and M.L. Soffa. Low overhead program monitoring and profiling. In Proc. of the 6th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE), pages 28--34, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. R. Larus. Abstract execution: a technique for efficiently tracing programs. Softw. Pract. Exper., 20(12):1241--1258, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J.R. Larus and E. Schnarr. EEL: Machine-Independent Executable Editing. In Proc. of the ACM SIGPLAN 1995 Conference on Programming Language Design and Implementation (PLDI), pages 291--300, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Ashling Microsystems Ltd. IEEE-ISTO 5001TM-1999, The Nexus 5001 Forum Standard. Nexus 5001 Forum, 2000.Google ScholarGoogle Scholar
  24. C.-K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V.J. Reddi, and K. Hazelwood. Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation. In Proc. of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 190--200, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. Misurda, J.A. Clause, J.L. Reed, B.R. Childers, and M.L. Soffa. Demand-driven structural testing with dynamic instrumentation. In ICSE '05: Proc. of the 27th International Conference on Software Engineering, pages 156--165, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. R.H.B. Netzer and M.H. Weaver. Optimal tracing and incremental reexecution for debugging long-running programs. In PLDI '94: Proc. of the ACM SIGPLAN 1994 conference on Programming language design and implementation, pages 313--325, New York, NY, USA, 1994. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. W. Orme. Debug and Trace for Multicore SoCs. ARM, September 2008.Google ScholarGoogle Scholar
  28. A. Srivastava and A. Eustace. ATOM: A System for Building Customized Program Analysis Tools. ACM SIGPLAN Not., 39:528--539, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. M. Thorup. All structured programs have small tree width and good register allocation. Inf. Comput., 142(2):159--181, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. B.L. Titzer and J. Palsberg. Nonintrusive precision instrumentation of microcontroller software. In LCTES '05: Proc. of the 2005 ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, pages 59--68, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. J. Whaley. A portable sampling-based profiler for java virtual machines. In Proc. of the ACM 2000 Conference on Java Grande, pages 78--87, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Y. Zhong and W. Chang. Sampling-based program locality approximation. In Proc. of the 7th International Symposium on Memory Management (ISMM), pages 91--100, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Lowering overhead in sampling-based execution monitoring and tracing

    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
      LCTES '11: Proceedings of the 2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
      April 2011
      182 pages
      ISBN:9781450305556
      DOI:10.1145/1967677
      • cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 46, Issue 5
        LCTES '10
        May 2011
        170 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2016603
        Issue’s Table of Contents

      Copyright © 2011 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 ACM 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: 11 April 2011

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate116of438submissions,26%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader