Abstract
Monitoring the performance of multicore embedded systems is crucial to properly ensure their timing requirements. Collecting performance data is also very relevant for optimization and validation efforts. However, the strategies used to monitor and capture data in such systems are complex to design and implement since they must not interfere with the running system beyond the point at which the system’s timing and performance characteristics start to get affected by the monitoring strategies. In this paper, we extend a monitoring framework developed in previous work to encompass three monitoring strategies, namely Active and Passive Periodic monitoring and Job-based monitoring. Periodic monitoring follows a given sampling rate. Active Periodic relies on periodic timer interrupts to guarantee deterministic sampling, while Passive Periodic trades determinism for a less invasive strategy, sampling data only when ordinary system events are handled. Job-based follows an event-driven monitoring that samples data whenever a job leaves the CPU, thus building isolated traces for each job. We evaluate them according to overhead, latency, and jitter, where none of them presented an average impact on the system execution time higher than \(0.3\%\). Moreover, a qualitative analysis is conducted in terms of data quality. On one hand, while Periodic monitoring allows for configurable sampling rates, it does not account for the rescheduling of jobs and may capture mixed traces. On the other hand, Job-based monitoring provides data samples tied to the execution of each job while disregarding sampling rate configuration and may lose track of instant measures.
Similar content being viewed by others
Data availability
The data collected during the experiments described in Sect. 6 are available online at https://gitlab.lisha.ufsc.br/horstmann/monitoring-the-performance-of-multicore-embedded-systems/-/tree/data-availability.
References
Chen W, Izhbirdeev I, Hoornaert D, et al (2023) Low-overhead online assessment of timely progress as a system commodity. In: Papadopoulos AV (ed) 35th Euromicro conference on real-time systems (ECRTS 2023), Leibniz international proceedings in informatics (LIPIcs), vol 262. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany, pp 13:1–13:26, https://doi.org/10.4230/LIPIcs.ECRTS.2023.13, https://drops.dagstuhl.de/opus/volltexte/2023/18042
Conradi Hoffmann JL, Frohlich AA (2021) Online machine learning for energy-aware multicore real-time embedded systems. IEEE Trans Comput. https://doi.org/10.1109/TC.2021.3056070
Das A, Al-Hashimi BM, Merrett GV (2016) Adaptive and hierarchical runtime manager for energy-aware thermal management of embedded systems. ACM Trans Embed Comput Syst. https://doi.org/10.1145/2834120
Donyanavard B, Mück T, Sarma S, et al (2016) Sparta: Runtime task allocation for energy efficient heterogeneous many-cores. In: Proceedings of the eleventh IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis. Association for computing machinery, New York, NY, USA, CODES ’16, https://doi.org/10.1145/2968456.2968459, https://doi.org/10.1145/2968456.2968459
Dutt N, Jantsch A, Sarma S (2016) Toward smart embedded systems: a self-aware system-on-chip (soc) perspective. ACM Trans Embed Comput Syst. https://doi.org/10.1145/2872936
Fischmeister S, Ba Y (2010) Sampling-based program execution monitoring. In: Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on languages, compilers, and tools for embedded systems. Association for computing machinery, New York, NY, USA, LCTES ’10, pp 133-142, https://doi.org/10.1145/1755888.1755908
Gracioli G, Fröhlich A (2013) Towards a Shared-data-aware Multicore Real-time Scheduler. In: Real-time scheduling open problems seminar (RTSOPS), Paris, France, http://www.lisha.ufsc.br/pub/Gracioli_RTSOPS_2013.pdf
Gracioli G, Tabish R, Mancuso R, et al (2019) Designing mixed criticality applications on modern heterogeneous MPSoC platforms. In: Quinton S (ed) 31st Euromicro conference on real-time systems (ECRTS 2019), Dagstuhl, Germany, pp 27:1–27:25, https://doi.org/10.4230/LIPIcs.ECRTS.2019.27
Heechul Yun (2019) Misc micro-benchmarks & tools. https://github.com/heechul/misc/
Hoffmann JLC, Horstmann LP, Fröhlich AA (2019) Anomaly detection in multicore embedded systems. In: 2019 IX Brazilian symposium on computing systems engineering (SBESC), pp 1–8, https://doi.org/10.1109/SBESC49506.2019.9046093
Horstmann LP, Fröhlich AA (2022) Intrusion detection in multicore embedded systems based on artificial immune systems. In: 2022 IEEE 27th international conference on emerging technologies and factory automation (ETFA), pp 1–8, https://doi.org/10.1109/ETFA52439.2022.9921463
Horstmann LP, Hoffmann JLC, Fröhlich AA (2019) A framework to design and implement real-time multicore schedulers using machine learning. In: 2019 24th IEEE international conference on emerging technologies and factory automation (ETFA), pp 251–258
Horstmann LP, Hoffmann JLC, Fröhlich AA (2021) Performance monitoring features in epos. In: 2021 XI Brazilian symposium on computing systems engineering (SBESC), pp 1–8, https://doi.org/10.1109/SBESC53686.2021.9628370
Leng EWL, Zwolinski M, Halak B (2017) Hardware performance counters for system reliability monitoring. In: 2017 IEEE 2nd international verification and security workshop (IVSW), pp 76–81, https://doi.org/10.1109/IVSW.2017.8031548
Mück T, Fröhlich AA, Gracioli G, et al (2018) Chips-ahoy: a predictable holistic cyber-physical hypervisor for mpsocs. In: Proceedings of the 18th International Conference on Embedded computer systems: architectures, modeling, and simulation. Association for computing machinery, New York, NY, USA, SAMOS ’18, pp 73–80, https://doi.org/10.1145/3229631.3229642
Mück T, Sarma S, Dutt N (2015) Run-dmc: runtime dynamic heterogeneous multicore performance and power estimation for energy efficiency. In: Proceedings of the 10th international conference on hardware/software codesign and system synthesis. IEEE Press, CODES ’15, pp 173-182
Pan Z, Sheldon J, Mishra P (2022) Hardware-assisted malware detection and localization using explainable machine learning. IEEE Trans Comput 71(12):3308–3321. https://doi.org/10.1109/TC.2022.3150573
Raiyat Aliabadi M, Seltzer M, Vahidi Asl M et al (2021) Artinali#: an efficient intrusion detection technique for resource-constrained cyber-physical systems. Int J Crit Infr Prot 33:100430. https://doi.org/10.1016/j.ijcip.2021.100430
Sarma S, Dutt N, Gupta P, et al (2015) Cyberphysical-system-on-chip (cpsoc): a self-aware mpsoc paradigm with cross-layer virtual sensing and actuation. In: Proceedings of the 2015 design, automation and test in Europe conference and exhibition. EDA Consortium, San Jose, CA, USA, DATE ’15, pp 625–628
Venkata SK, Ahn I, Jeon D, et al (2009) SD-VBS: the San Diego vision benchmark suite. In: 2009 IEEE international symposium on workload characterization (IISWC) pp 55–64
Weaver VM (2015) Self-monitoring overhead of the linux perf_ event performance counter interface. In: 2015 IEEE international symposium on performance analysis of systems and software (ISPASS), pp 102–111, https://doi.org/10.1109/ISPASS.2015.7095789
Woralert C, Bruska J, Liu C, et al (2020) High frequency performance monitoring via architectural event measurement. In: 2020 IEEE international symposium on workload characterization (IISWC), pp 114–122, https://doi.org/10.1109/IISWC50251.2020.00020
Wu CWW, Kumar D, Bonakdarpour B et al (2013) Reducing monitoring overhead by integrating event- and time-triggered techniques. In: Legay A, Bensalem S (eds) Runtime Verification. Springer, Berlin Heidelberg, Berlin, Heidelberg, pp 304–321
Zhou B, Gupta A, Jahanshahi R et al (2021) A cautionary tale about detecting malware using hardware performance counters and machine learning. IEEE Design Test 38(3):39–50. https://doi.org/10.1109/MDAT.2021.3063338
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors have declared no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This study was financed in part by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brasil (CAPES) - Finance Code 001. This manuscript is an extended version of the conference paper that appeared in https://doi.org/10.1109/SBESC53686.2021.9628370.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Passig Horstmann, L., Conradi Hoffmann, J.L. & Fröhlich, A.A. Monitoring the performance of multicore embedded systems without disrupting its timing requirements. Des Autom Embed Syst 27, 217–239 (2023). https://doi.org/10.1007/s10617-023-09278-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10617-023-09278-4