Methoden & Werkzeuge

HighPerTimer

HighPerTimer – Zeitmessung und kontrolliertes Warten

Ein Netzexperiment braucht mehr als eine schnelle Verbindung. Es muss auch wissen, wann ein Paket gesendet wurde, wie lange ein Vorgang dauerte und wann die nächste Aktion beginnen soll. Verursacht das Messprogramm zu viel Aufwand oder wacht es zu spät auf, wird dieses Zeitverhalten Teil des Ergebnisses.

HighPerTimer ist eine Linux-Bibliothek für solche lokalen Zeitoperationen. Sie bietet eine gemeinsame Schnittstelle für Zeitstempel, Intervallberechnungen und kontrolliertes Warten. Anwendungen können damit geeignete Zeitquellen des Rechners auf einheitliche Weise nutzen.

Zeitstempel verbinden Ereignisse mit ihrem Zeitpunkt. Damit lassen sich Abläufe und Zeitabstände in einem Experiment untersuchen.

Die Bibliothek verbindet die Wahl der Zeitquelle mit einer einheitlichen Darstellung der Zeitwerte. Die grundlegende Veröffentlichung beschreibt den Zugriff auf Hardware-Zähler und eine Zeitquelle des Betriebssystems als Alternative. Welche Quelle geeignet ist, hängt von der Plattform ab.

Die C++-Schnittstelle stellt Zeitwerte als Objekte bereit, auf denen Rechen- und Vergleichsoperationen ausgeführt werden können. Bei der Initialisierung wird eine geeignete Zeitquelle ausgewählt. Das verbindet hardwareabhängige Zähler mit einer gemeinsamen Anwendungsschnittstelle und erlaubt, Zeitpunkte und Intervalle im selben Programm konsistent zu behandeln.

Bei einem Wartevorgang ist entscheidend, wann das Programm tatsächlich weiterläuft. Deshalb werden die Abweichung vom gewünschten Zeitpunkt, der Aufwand des Aufrufs und die CPU-Auslastung gemeinsam betrachtet. Unter Last oder in einer virtuellen Maschine kann sich derselbe Vorgang anders verhalten.

Eine hohe Zeitauflösung ist hilfreich, unterscheidet sich aber von Genauigkeit und von der Synchronisation zwischen Rechnern. HighPerTimer behandelt lokale Zeitoperationen; LTest verbindet solche Vorgänge mit verteilter Netzmessung. Zusammen helfen sie, die zeitlichen Annahmen eines Transportexperiments nachvollziehbar zu machen.

Wenn Sie HighPerTimer für einen eigenen Versuch einsetzen möchten, besprechen Sie mit dem FILA-Team die passende Implementierung und Dokumentation. Nennen Sie die Zielplattform, den Mess- oder Übertragungsfall und die benötigten Vergleichsdaten.

Ausgewählte Publikationen

Methoden & Werkzeuge · Team und Kontakt

Ansprechpartner
Porträtfoto von Eduard Siemens

Verwandte Forschung