Do Impacto das Syscalls Linux em Tarefas de Tempo Real

  • Benhur Tessele UFSC
  • Romulo Silva de Oliveira UFSC
  • Cristian Koliver UFSC

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.

Palavras-chave: syscall, Linux, tempo real, embarcado, Perf

Referências

Bovet, D. P. and Cesati, M. (2005).Understanding the Linux Kernel. Oreilly & Associates Inc.

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.
Publicado
30/06/2020
TESSELE, Benhur; DE OLIVEIRA, Romulo Silva; KOLIVER, Cristian. Do Impacto das Syscalls Linux em Tarefas de Tempo Real. In: WORKSHOP EM DESEMPENHO DE SISTEMAS COMPUTACIONAIS E DE COMUNICAÇÃO (WPERFORMANCE), 19. , 2020, Cuiabá. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 . p. 61-72. ISSN 2595-6167. DOI: https://doi.org/10.5753/wperformance.2020.11106.