• iSYSTEM stellt „Sampling-based Profiling“ im winIDEA Software Analyzer vor
  • Statistische Analyse der CPU-Auslastung, OS-Task- und ISR-Lastverteilung und Überwachung von Datensignalen im zeitlichen Verlauf über einen Debug-Port

Schwabhausen, 14. September 2021 – iSYSTEM stellt eine neue Funktion seines IDE-, Debug- und Software-Trace-Tools winIDEA Analyzer vor: Das „Sampling-based Profiling“ ermöglicht es Entwicklern, auch bei Mikrocontrollern und Prozessoren mit begrenzten Trace-Möglichkeiten oder Hardware-Trace-Ressourcen Timing-Analysen über die Debug-Schnittstelle durchzuführen. Per Program Counter (PC) und Data Sampling können Entwickler zum Test ihrer Anwendung die CPU-Auslastung, die Lastverteilung und die Datensignale über die Zeit statistisch messen und überwachen. Die neue Funktion lässt sich ganz leicht für jede Art von Mikrocontroller oder Prozessor verwenden und vereinfacht die Softwareentwicklung und den Test speziell für Sicherheitsanwendungen in verschiedenen Bereichen wie Automotive, Medizintechnik und Industrieautomation.

Das Sampling-based Profiling ist eine Funktion des winIDEA Software Analyzers. Damit erhält der Entwickler Daten, indem er über die Debug-Schnittstelle bestimmte Stellen im Speicher oder den CPU-Programmzähler abtastet – und das vollkommen ohne Trace-Hardware. Darüber hinaus analysiert der Profiler die abgerufenen Daten und visualisiert die Ergebnisse.

iSYSTEM hat eine Unterstützung für zwei Hauptanwendungsfälle implementiert: PC-Sampling und Data-Sampling. Der iSYSTEM Profiler sammelt Daten zur Programmausführung und berechnet die CPU-Auslastung in Prozent für jede Funktion, um deren Last darzustellen. OS Running Task und ISR Load Profiling geben Einblicke in die OS-Task- und ISR-Lastverteilung. In beiden Fällen wiederholt der Entwickler den Samplingvorgang so lange, bis sich die Statistiken stabilisieren. Daraus ergibt sich ein sehr guter Hinweis auf die Lastsituation im System, und der Entwickler kann beurteilen, ob die Anwendung wie erwartet abläuft oder nicht. Die dritte Anwendung des Sampling-based Profilings – die in Wirklichkeit nicht mit der Timing-Analyse zusammenhängt und weniger praktikabel ist – besteht darin, eine Art Oszilloskop zur Überwachung von Datensignalen über die Zeit „zu bauen“.

Das Sampling-based Profiling ist kein Ersatz für echtes Hardware-Trace, da es nicht garantieren kann, dass alle relevanten Ereignisse erfasst werden. Es ist jedoch das perfekte Tool für statistische Analysen oder für das Sampling sich langsam ändernder Variablen in einem System und hilft Entwicklern dabei, ihren Testaufwand weiter zu optimieren.

„Manche nennen es ‚Poor Man's Profiler‘, aber nichtsdestotrotz ist Sampling-based Profiling eine äußerst hilfreiche statistische, auf Sampling basierende Analysemethode – und eine wertvolle Erweiterung des iSYSTEM Software Analyzers“, sagte Erol Simsek, CEO von iSYSTEM. „Selbst wenn der Prozessor keine Trace-Schnittstelle für die reine Timing- und Lastanalyse hat, ermöglicht diese neue Funktion unseren Kunden, sich schnell ein Bild vom Laufzeitverhalten ihrer Software zu machen.“

In einem Live-Webinar am 23. September 2021 gibt iSYSTEM eine umfassende Einführung in das Sampling-based Profiling mit dem iSYSTEM Software Analyzer. Eine Registrierung für das Webinar ist bereits möglich unter https://www.isystem.com/support/meet-us/cpu-load-measurement.html .

Weiterführende Links

Hintergrundinformationen der Redaktion

Die statistische Analyse mit Sampling-based Profiling ist eine von drei grundlegenden Methoden zur Timing-Analyse. Die zweite Option ist die Durchführung von Messungen jenseits des Chips durch Toggeln eines Pins und Messen des Timings mit einem Oszilloskop oder auf dem Chip durch den Einsatz von Hardware wie einem Core Performance Counter. Die dritte Methode ist die Trace-basierte Timing-Analyse, die dem Entwickler einen vollständigen Einblick in die Software-Ausführung gibt, einschließlich Timing-Metriken, CPU-Last über die Zeit, Ereigniskette und Funktionsaufrufsequenzen.

Vorheriger Beitrag Nächster Beitrag