Konzept von Sampling-based Profiling

Das Konzept und die Funktionsweise von „Sampling-based Profiling“ in winIDEA über eine Debug-Schnittstelle. (Bild: iSYSTEM)

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 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 ohne Trace-Hardware. Darüber hinaus analysiert der Profiler die abgerufenen Daten und visualisiert die Ergebnisse.

PC-Sampling und Data-Sampling

Implementiert wurde eine Unterstützung für zwei Hauptanwendungsfälle: PC-Sampling und Data-Sampling. Der 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 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“.

Drei Anwendungsfälle von Sampling-based Profiling
Die drei Anwendungsfälle von Sampling-based Profiling. (Bild: iSYSTEM)

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 ein geeignetes Tool für statistische Analysen oder für das Sampling sich langsam ändernder Variablen in einem System.

Auf Sampling basierende Analysemethode

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 Software Analyzers. Selbst wenn der Prozessor keine Trace-Schnittstelle für die reine Timing- und Lastanalyse hat, ermöglicht diese neue Funktion sich schnell ein Bild vom Laufzeitverhalten ihrer Software zu machen.

Statistische Analyse mit Sampling-based Profiling

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.

Sie möchten gerne weiterlesen?

Unternehmen

iSYSTEM AG

Carl-Zeiss-Straße 1
85247 Schwabhausen
Germany