skip to main content
10.1145/2656045.2656062acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
research-article

On the existence of probe effect in multi-threaded embedded programs

Published: 12 October 2014 Publication History

Abstract

Software instrumentation has been a convenient and portable approach for dynamic analysis, debugging, or profiling of program execution. Unfortunately, instrumentation may change the temporal behavior of multi-threaded program execution and result in different ordering of thread operations, which is called probe effect. While the approaches to reduce instrumentation overhead, to enable reproducible execution, and to enforce deterministic threading have been studied, no research has yet answered if an instrumented execution has the same behavior as the program execution without any instrumentation and how the execution gets changed if there were any. In this paper, we propose a simulation-based analysis to detect the changes of execution event ordering that are induced by instrumentation operations. The execution model of a program is constructed from the trace of instrumented program execution and is used in a simulation analysis where instrumentation overhead is removed. As a consequence, we can infer the ordering of events in the original program execution and verify the existence of probe effect resulted from instrumentation.

References

[1]
J. Gait, "A probe effect in concurrent programs," Software Practice and Experience, 16(3), pp: 225--233, 1986.
[2]
D. Kranzlmüller, R. Reussner, and C. Schaubschläger, "Monitor Overhead Measurement of MPI Applications with SKaMPI," Proceedings of the 6th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface, pp: 43--50, 1999.
[3]
L. Lamport, "Time, clocks, and the ordering of events in a distributed system," Communications of the ACM, 21(7), pp: 558--565, 1978.
[4]
A. D. Malony, D. A. Reed, and H. A. G. Wijshoff, "Performance Measurement Intrusion and Perturbation Analysis," IEEE Transactions on Parallel and Distributed Systems, 3(4), pp: 433--450, 1992.
[5]
F. Wolf, A. D. Malony, S. Shende, and A. Morris, "Trace-Based Parallel Performance Overhead Compensation," Proceedings of the International Conference on High Performance Computing and Communications, pp: 617--628, 2005.
[6]
T. J. LeBlanc and J. M. Mellor-Crummey, "Debugging parallel programs with instant replay," IEEE Transactions on Computers, 36(4), pp: 471--482, 1987.
[7]
K. D. Bosschere, M. Ronsse, and M. Christiaens, "Debugging shared memory parallel programs using record/replay," ACM Future Generation Computer Systems, 19(5), pp: 679--687, 2003.
[8]
M. Ronsse, M. Christiaens, and K. D. Bosschere, "Cyclic debugging using execution replay," Proceedings of the International Conference on Computational Science, pp: 851--860, 2001.
[9]
S. V. Adve, "Data races are evil with no exceptions: technical perspective," Communication of the ACM, 53(11), pp: 84, 2010.
[10]
S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, and T. E. Anderson, "Eraser: A dynamic data race detector for multi-threaded programs," ACM Transactions on Computer Systems, 15(4), pp: 391--411, 1997.
[11]
C. Flanagan and S. N. Freund, "FastTrack: efficient and precise dynamic race detection," Proceedings of the ACM SIGPLAN conference on Programming language design and implementation, pp: 121--133, 2009.
[12]
DRD, Valgrind-3.8.1. http://valgrind.org/.
[13]
Intel Inspector XE 2013. http://software.intel.com/en-us/intel-inspector-xe.
[14]
T. Bergan, J. Devietti, N. Hunt, and L. Ceze, "The deterministic execution hammer: How well does it actually pound nails?," The Second Workshop on Determinism and Correctness in Parallel Programming, 2011.
[15]
M. Olszewski, J. Ansel, and S. Amarasinghe, "Kendo: Efficient Deterministic Multithreading in Software," Proceedings of the 14th international conference on Architectural support for programming languages and operating systems, pp: 97--108, 2009.
[16]
T. Liu, C. Curtsinger, and E. D. Berger, "DTHREADS: Efficient Deterministic Multithreading," The 22nd ACM Symposium on Operating Systems Principles, pp: 327--336, 2011.
[17]
Kai Lu, Xu Zhou, Tom Bergan, and Xiaoping Wang, "Efficient Deterministic Multithreading Without Global Barriers," The 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp: 287--300, 2014.
[18]
Y. Lee, Y. Song, R. Girme, S. Zaveri, and Y. Chen, "Replay Debugging for Multi-threaded Embedded Software," Proceedings of IEEE/IFIP 8th International Conference on Embedded and Ubiquitous Computing, pp: 15--22, 2010.
[19]
D. Lee, B. Wester, K. Veeraraghavan, S. Narayanasamy, Satish, P. Chen, et al., "Respec: efficient online multiprocessor replay via speculation and external determinism," Proceedings of the international conference on Architectural support for programming languages and operating systems, pp: 77--90, 2010.
[20]
N. Froyd, J. Mellor-Crummey, and R. Fowler, "Low-overhead call path profiling of unmodified, optimized code," Proceedings of the 19th annual international conference on Supercomputing, pp: 81--90, 2005.
[21]
X. Zhuang, M. Serrano, H. Cain, and J. Choi, "Accurate, efficient, and adaptive calling context profiling," Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation, pp: 263--271, 2006.
[22]
T. Moseley, A. Shye, V. Reddi, D. Grunwald, and R. Peri, "Shadow Profiling: Hiding Instrumentation Costs with Parallelism," Proceedings of the International Symposium on Code Generation and Optimization, pp: 198--208, 2007.
[23]
Q. Zhao, I Cutcutache, and W. Wong, "PiPA: Pipelined profiling and analysis on multicore systems," ACM Transactions on Architecture and Code Optimization, 7(3), pp: 13:1--13:29, 2010.
[24]
M. Kim, H. Kim, and C. Luk, "SD3: A Scalable Approach to Dynamic Data-Dependence Profiling," Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture, pp: 535--546, 2010.
[25]
VxWorks Kernel Programmer's Guide 6.8.
[26]
Linux Test Project, http://ltp.sourceforge.net/.
[27]
P. Arafa, H. Kashif, and S. Fischmeister, "DIME: time-aware dynamic binary instrumentation using rate-based resource allocation," Proceedings of the Eleventh ACM International Conference on Embedded Software, Article No. 25, 2013.
[28]
S. Fischmeister and P. Lam, "Time-Aware Instrumentation of Embedded Software," IEEE Transactions on Industrial Informatics, 6(4), 2010.

Cited By

View all
  • (2022)GLS Tracing: Gem5-based Low-intrusive Software Tracing2022 IEEE Nordic Circuits and Systems Conference (NorCAS)10.1109/NorCAS57515.2022.9934111(1-6)Online publication date: 25-Oct-2022
  • (2020)FERA: A Framework for Critical Assessment of Execution Monitoring Based Approaches for Finding Concurrency BugsIntelligent Computing10.1007/978-3-030-52249-0_5(54-74)Online publication date: 4-Jul-2020
  • (2018)BOSMIProceedings of the 18th International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation10.1145/3229631.3229641(131-138)Online publication date: 15-Jul-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EMSOFT '14: Proceedings of the 14th International Conference on Embedded Software
October 2014
301 pages
ISBN:9781450330527
DOI:10.1145/2656045
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 October 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. event ordering
  2. multi-threaded program
  3. probe effect
  4. profiling
  5. reproducible execution
  6. software instrumentation

Qualifiers

  • Research-article

Funding Sources

Conference

ESWEEK'14
ESWEEK'14: TENTH EMBEDDED SYSTEM WEEK
October 12 - 17, 2014
New Delhi, India

Acceptance Rates

Overall Acceptance Rate 60 of 203 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 28 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)GLS Tracing: Gem5-based Low-intrusive Software Tracing2022 IEEE Nordic Circuits and Systems Conference (NorCAS)10.1109/NorCAS57515.2022.9934111(1-6)Online publication date: 25-Oct-2022
  • (2020)FERA: A Framework for Critical Assessment of Execution Monitoring Based Approaches for Finding Concurrency BugsIntelligent Computing10.1007/978-3-030-52249-0_5(54-74)Online publication date: 4-Jul-2020
  • (2018)BOSMIProceedings of the 18th International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation10.1145/3229631.3229641(131-138)Online publication date: 15-Jul-2018
  • (2018)A Framework for Non-intrusive Trace-driven Simulation of Manycore Architectures with Dynamic Tracing ConfigurationRuntime Verification10.1007/978-3-030-03769-7_28(458-468)Online publication date: 8-Nov-2018
  • (2015)ContechACM Transactions on Architecture and Code Optimization10.1145/277689312:2(1-24)Online publication date: 8-Jul-2015

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media