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 2014Publication 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. Lamport, "Time, clocks, and the ordering of events in a distributed system," Communications of the ACM, 21(7), pp: 558--565, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. V. Adve, "Data races are evil with no exceptions: technical perspective," Communication of the ACM, 53(11), pp: 84, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. DRD, Valgrind-3.8.1. http://valgrind.org/.Google ScholarGoogle Scholar
  13. Intel Inspector XE 2013. http://software.intel.com/en-us/intel-inspector-xe.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. VxWorks Kernel Programmer's Guide 6.8.Google ScholarGoogle Scholar
  26. Linux Test Project, http://ltp.sourceforge.net/.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. S. Fischmeister and P. Lam, "Time-Aware Instrumentation of Embedded Software," IEEE Transactions on Industrial Informatics, 6(4), 2010.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

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

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

            Copyright © 2014 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: 12 October 2014

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate60of203submissions,30%

            Upcoming Conference

            ESWEEK '24
            Twentieth Embedded Systems Week
            September 29 - October 4, 2024
            Raleigh , NC , USA

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader