All Title Author
Keywords Abstract

Publish in OALib Journal
ISSN: 2333-9721
APC: Only $99


Relative Articles


Real-Time Linux Analysis Using Low-Impact Tracer

DOI: 10.1155/2014/173976

Full-Text   Cite this paper   Add to My Lib


Debugging real-time software presents an inherent challenge because of the nature of real-time itself. Traditional debuggers use breakpoints to stop the execution of a program and allow the inspection of its status. The interactive nature of a debugger is incompatible with the strict timing constraints of a real-time application. In order to observe the execution of a real-time application, it is therefore necessary to use a low-impact instrumentation solution. Tracing allows the collection of low-level events with minimal impact on the traced application. These low-level events can be difficult to use without appropriate tools. We propose an analysis framework to model real-time tasks from tracing data recovered using the LTTng tracer. We show that this information can be used to populate views and help developers discover interesting patterns and potential problems. 1. Introduction Real-time applications distinguish themselves from their non-real-time counterparts because of their strict timing constraints. The correct operation of a real-time system requires that it responds to stimuli in a bounded time. Real-time systems are often separated in two categories: hard and soft real-time. Hard real-time requires the response time to be bounded and never exceeded. In soft real-time systems, an exceeded response time is undesirable but does not incur the complete failure of the system. The real-time capabilities of the Linux kernel have been improved thanks to the work done by the PREEMPT-RT patch contributors. Many tools have been developed to help demonstrate the real-time capabilities and limits of Linux systems. Previous work has also demonstrated the good real-time behavior of the LTTng tracer [1]. LTTng provides both kernel and user space instrumentation. Because of the demonstrated low impact of LTTng on real-time applications, we have chosen to use it to gather the traces required for the analysis. In Linux, the thread is the basic unit of execution managed by the scheduler. A single real-time task can therefore easily be mapped to a thread. A task can have properties that are unknown to the kernel such as periodicity and maximum tolerated response time. Our goal is to extract these higher level concepts of real-time tasks from information collected at the kernel level. The low overhead needed for the instrumentation means that the events are recorded with as little preprocessing as possible. In order to extract more advanced information from the events, it is possible to apply a postprocessing step on a recovered trace. Using the semantics of the


[1]  R. Beamonte, Tra?age de systèmes linux multi-coeurs en temps réel [Ph.D. thesis], école Polytechnique de Montréal, Montréal, Canda, 2013.
[2]  F. Giraldeau, J. Desfossez, D. Goulet, M. Dagenais, and M. Desnoyers, “Recovering system metrics from kernel trace,” in Proceedings of the Ottawa Linux Symposium (OLS '11), pp. 109–116, 2011.
[3]  O. M. D. Santos and A. Wellings, “Measuring and policing blocking times in real-time systems,” ACM Transactions on Embedded Computing Systems (TECS), vol. 10, no. 1, article 2, 2010.
[4]  A. Terrasa and G. Bernat, “Extracting temporal properties from real-time systems by automatic tracing analysis,” in Real-Time and Embedded Computing Systems and Applications, pp. 466–485, Springer, New York, NY, USA, 2004.
[5]  H. Mannila, H. Toivonen, and A. I. Verkamo, “Discovery of frequent episodes in event sequences,” Data Mining and Knowledge Discovery, vol. 1, no. 3, pp. 259–289, 1997.
[6]  P. L. Cueva, A. Bertaux, A. Termier, J. F. Méhaut, and M. Santana, “Debugging embedded multimedia application traces through periodic pattern mining,” in Proceedings of the 10th ACM International Conference on Embedded Software (EMSOFT '12), pp. 13–22, ACM, New York, NY, USA, 2012.
[7]  S. Ma and J. L. Hellerstein, “Mining partially periodic event patterns with unknown periods,” in Proceedingsof the 17th International Conference on Data Engineering, pp. 205–214, IEEE, Heidelberg, Germany, 2001.
[8]  W. de Pauw and S. Heisig, “Zinsight: a visual and analytic environment for exploring large event traces,” in Proceedings of the 5th International Symposium on Software Visualization (SOFTVIS '10), pp. 143–152, ACM, New York, NY, USA, October 2010.
[9]  D. F. Bacon, P. Cheng, D. Frampton, and D. Grove, “Tuningfork: visualization, analysis and debugging of complex real-time systems,” IBM Research RC24162, 2007.
[10]  B. Sprunt, L. Sha, and J. Lehoczky, “Scheduling sporadic and aperiodic events in a hard real-time system,” Tech. Rep., DTIC Document, 1989.


comments powered by Disqus

Contact Us


WhatsApp +8615387084133

WeChat 1538708413