Intern
Chair of Computer Science II - Software Engineering

(Praktikum) Implementierung eines Monitoring Agents für Performance Counter

30.11.2018

Implementierung eines Linux Services der mit Hilfe von likwid Performance Counter ausließt und an einen zentralen Broker über AMQP versenden kann.

Motivation

Performance Counter sind Zählregister innerhalb eines CPUs um Events zu zählen die einen Einfluss auf die Performance der laufenden Software haben könnten. Der Haupteinsatzzweck ist die Identifikation von Performance Bottlenecks. Häufig werden Performance Counter aber auch als Proxy-Metriken für Stromverbrauchsmodelle verwendet. Um Performance Counter vom CPU zu bekommen, müssen die entsprechenden Special Purpose Register im CPU ausgelesen werden. Hierzu existieren bereits Lösungen wie z.B.perf, IntelPCM und likwid. Ein gemeinsamer Nachteil aller Tools ist, dass die aufgezeichneten Performance Counter Werte nicht zentral für mehrere Systeme gesammelt werden können. Deswegen soll auf Basis von likwid ein Linux Service implementiert werden, der in der Lage ist die Daten an einen zentralen Broker weiterzuleiten.

Ziele

Die Arbeit umfasst die Einarbeitung in likwid, speziell den likwid-agent der die Performance Counter aus dem CPU ausließt. Auf Basis des likwid-agent wird dann ein Linux Service entwickelt, der über das AMQP Protokoll die Messdaten an einen zentralen RabbitMQ Broker verschickt.

Voraussetzungen

Programmierkenntnisse in C oder C++ sind notwendig. Der Umgang mit externen Bibliotheken, um in der Zukunft auch verschiedenen Protokolle / Versionen zu unterstützen, ist von Vorteil, aber nicht zwingend erforderlich.

Wir bieten

  • Arbeit mit modernster Technologie
  • Systemnahe Programmierung
  • Eine hervorragende Arbeitsumgebung und intensive Betreuung

Dauer

3 Monate

Kontakt

Norbert Schmitt, M.Sc.
norbert.schmitt@uni-wuerzburg.de
https://go.uniwue.de/norbertschmitt

Zurück