Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Lowering overhead in sampling-based execution monitoring and tracing

Published: 11 April 2011 Publication 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.
[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.
[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.
[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.
[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.
[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.
[7]
T. Ball and J.R. Larus. Optimally profiling and tracing programs. ACM Trans. Program. Lang. Syst., 16(4):1319--1360, 1994.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[16]
S. Fischmeister and P. Lam. Time-aware Instrumentation of Embedded Software. IEEE Transactions on Industrial Informatics, 2010.
[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.
[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.
[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.
[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.
[21]
J. R. Larus. Abstract execution: a technique for efficiently tracing programs. Softw. Pract. Exper., 20(12):1241--1258, 1990.
[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.
[23]
Ashling Microsystems Ltd. IEEE-ISTO 5001TM-1999, The Nexus 5001 Forum Standard. Nexus 5001 Forum, 2000.
[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.
[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.
[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.
[27]
W. Orme. Debug and Trace for Multicore SoCs. ARM, September 2008.
[28]
A. Srivastava and A. Eustace. ATOM: A System for Building Customized Program Analysis Tools. ACM SIGPLAN Not., 39:528--539, 2004.
[29]
M. Thorup. All structured programs have small tree width and good register allocation. Inf. Comput., 142(2):159--181, 1998.
[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.
[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.
[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.

Cited By

View all
  • (2021)Tigris: A DSL and framework for monitoring software systems at runtimeJournal of Systems and Software10.1016/j.jss.2021.110963177(110963)Online publication date: Jul-2021
  • (2019)On the practical feasibility of software monitoringProceedings of the 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1109/SEAMS.2019.00030(169-180)Online publication date: 25-May-2019
  • (2024)Eliminating eBPF Tracing Overhead on Untraced ProcessesProceedings of the ACM SIGCOMM 2024 Workshop on eBPF and Kernel Extensions10.1145/3672197.3673431(16-22)Online publication date: 4-Aug-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

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
  • 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
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
Published in SIGPLAN Volume 46, Issue 5

Check for updates

Author Tags

  1. embedded systems
  2. monitoring
  3. sampling
  4. tracing

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Tigris: A DSL and framework for monitoring software systems at runtimeJournal of Systems and Software10.1016/j.jss.2021.110963177(110963)Online publication date: Jul-2021
  • (2019)On the practical feasibility of software monitoringProceedings of the 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1109/SEAMS.2019.00030(169-180)Online publication date: 25-May-2019
  • (2024)Eliminating eBPF Tracing Overhead on Untraced ProcessesProceedings of the ACM SIGCOMM 2024 Workshop on eBPF and Kernel Extensions10.1145/3672197.3673431(16-22)Online publication date: 4-Aug-2024
  • (2012)Time-Triggered Program Self-MonitoringProceedings of the 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications10.1109/RTCSA.2012.16(260-269)Online publication date: 19-Aug-2012

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media