Do Impacto das Syscalls Linux em Tarefas de Tempo Real
Resumo
Apesar do uso crescente do Linux como o sistema operacional utilizado em aplicações embarcadas de tempo real, muitos serviços do kernel possuem características diferenciadas de funcionamento em relação a outros sistemas operacionais padrão POSIX e que podem influenciar sobremaneira o desempenho das aplicações de tempo-real. Neste artigo, descrevemos os resultados obtidos utilizando a ferramenta Perf para algumas situações típicas que ocorrem em aplicações de tempo real. Nosso estudo mostra que a solução ou mitigação de gargalos identificados exige do projetista, em boa parte dos casos, um conhecimento mais profundo do funcionamento do kernel do Linux.
Referências
Drepper, U. (2008). Futex are Tricky. Disponível emhttp://www.ic.unicamp.br/̃islene/2s2013-mo806/futex/futex-are-tricky.pdf. Acessoem 15/06/2020.
Eranian, S., Gouriou, E., Moseley, T., and de Bruijn, W. (2015). Linux kernel profiling with perf. Disponível em https://perf.wiki.kernel.org/index.php/Tutorial. Acesso em 14/06/2020.
Kadar, M., Tverdyshev, S., and Fohler, G. (2019). System calls instrumentation for intrusion detection in embedded mixed-criticality systems. In Asplund, M. and Paulitsch, M., editors, 4th International Workshop on Security and Dependability of Critical Embedded Real-Time Systems, CERTS@ECRTS 2019, July 9, 2019, Stuttgart, Germany,volume 73 of OASICS, pages 2:1–2:13. Schloss Dagstuhl - Leibniz-Zentrum für Informatik.
Levon, J. (2004). OProfile manual. Disponível em http://oprofile.sourceforge.net/doc/index.html. Acesso em 14/06/2020.
Nabil, L. and Ben Saoud, S. (2011). Impact of the linux real-time enhancements on the system performances for multi-core intel architectures. International Journal of Computer Applications, 17.
Puaut, I. (2002). Real-time performance of dynamic memory allocation algorithms. In Proceedings 14th Euromicro Conference on Real-Time Systems. Euromicro RTS 2002,pages 41–49.
Reghenzani, F., Massari, G., and Fornaciari, W. (2017). Mixed time-criticality processinterferences characterization on a multicore linux system. In 2017 Euromicro Confe-rence on Digital System Design (DSD), pages 427–434.
Reghenzani, F., Massari, G., and Fornaciari, W. (2019). The real-time linux kernel: A survey on preempt rt. ACM Comput. Surv., 52(1).
Terpstra, D., Jagode, H., You, H., and Dongarra, J. (2010). Collecting performance data with papi-c. In Müller, M. S., Resch, M. M., Schulz, A., and Nagel, W. E., editors,Tools for High Performance Computing 2009, pages 157–173, Berlin, Heidelberg. Sprin-ger.
Weaver, V. M. (2013). Linux perfevent Features and Overhead. In Fast Path Workshop, Austin, TX.