RRZE-HPC / DFG-PE

Exchange platform for projects from DFG Call on "Performance Engineering für wissenschaftliche Software"
3 stars 0 forks source link

Process-Level Monitoring mit libipm #6

Open sittr opened 6 years ago

sittr commented 6 years ago

Hallo zusammen, da wir - das HKHLR - einige Standorte haben, die Computenodes nicht-exklusiv nutzen und für uns deswegen Node-Level Monitoring nur begrenzt sinvoll ist, testen wir im Moment Methoden, auf Prozess- bzw. Job-Level an Performancedaten zu kommen. Eine Möglichkeit ist die IPM-Library -> https://github.com/nerscadmin/IPM , die man auch dynamisch per LD_PRELOAD an einen Userjob dranhängen kann. Hat jemand von euch bereits damit Erfahrungen gemacht oder hat noch jemand Interesse, die Bibliothek (bzw. eine Weiterentwicklung oder einen eventuellen Fork davon) zu nutzen?

VG, René Sitt

winklerf-zih commented 6 years ago

Hallo,

Ich habe mir das mal kurz angeschaut. Leider können wir das nicht verwenden, da das Binary gegen die IPM-Library gelinkt werden muss, sprich das muss der User selber machen. Wir wollen ja Jobs automatisch monitoren, bei dem der User nichts am Binary (und auch dem Job-Skript) verändert. Es sei denn, man stellt Compiler-Wrapper zur Verfügung, die das Linken automatisch machen...

Grüße! Frank

On 8. Dec 2017, at 16:13, René Sitt notifications@github.com wrote:

Hallo zusammen, da wir - das HKHLR - einige Standorte haben, die Computenodes nicht-exklusiv nutzen und für uns deswegen Node-Level Monitoring nur begrenzt sinvoll ist, testen wir im Moment Methoden, auf Prozess- bzw. Job-Level an Performancedaten zu kommen. Eine Möglichkeit ist die IPM-Library -> https://github.com/nerscadmin/IPM https://github.com/nerscadmin/IPM , die man auch dynamisch per LD_PRELOAD an einen Userjob dranhängen kann. Hat jemand von euch bereits damit Erfahrungen gemacht oder hat noch jemand Interesse, die Bibliothek (bzw. eine Weiterentwicklung oder einen eventuellen Fork davon) zu nutzen?

VG, René Sitt

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/RRZE-HPC/DFG-PE/issues/6, or mute the thread https://github.com/notifications/unsubscribe-auth/AICpW5g9Vqt2ZgeaUM_BF17Ex0Coa6Dqks5s-VImgaJpZM4Q7Oeb.


Frank Winkler, M.Sc.

Technische Universität Dresden Center for Information Services and High Performance Computing (ZIH) 01062 Dresden, Germany

Contact: Willers-Bau, Room A106 Phone: +49 351 463-35630 Fax: +49 351 463-38245 Email: frank.winkler@tu-dresden.de WWW: http://www.tu-dresden.de/zih

end137 commented 6 years ago

Hallo,

wir hatten uns in ProfiT-HPC IPM mal angeschaut, aber für uns ist es leider nicht in Frage gekommen - wenn es auch sehr interessant ist. Wir haben es in unserem Projekt als Kandidaten abgelehnt, da es im statischen Fall einen re-link benötigt und im dynamischen Fall eben diesen LD_PRELOAD. Das fällt leider nicht mehr unter automatisches Monitoring ohne Nutzerinteraktion.... Wenn ihr das aber flächendeckend nutzen wollt wäre das für uns auf jeden Fall interessant.

Viele Grüße, Vanessa

sittr commented 6 years ago

Hallo nochmal, wir haben uns bereits diverse Gedanken dazu gemacht, wie man das auch 'nicht-interaktiv' hinbekommt... Im Grunde habe ich z.B. hier in Marburg ein Environment Module, das einen Wrapper für 'qsub' in den Pfad setzt und dann bei jedem Job per Prolog-Script die Bibliothek ins LD_PRELOAD packt (sowie ein paar andere Variablen setzt, z.B. welche PAPI-Counter benutzt werden sollen). Aus Nutzersicht wäre dann, solange man das als opt-in betreiben will, nur das Laden des Moduls erforderlich. Ist momentan aber nicht für andere Nutzer aktiviert, solange wir noch testen.

end137 commented 6 years ago

Hallo,

ja, als Modul kann man das sicherlich machen. Das wäre ggf. auch für uns denkbar gewesen - bleibt dennoch das Problem der statischen Verlinkungen....

Viele Grüße, Vanesa

winklerf-zih commented 6 years ago

Naja, für "High Throughput Jobs" wäre das schon eine feine Sache, auch wenn es nur für dynamische Binaries funktioniert. Ich werde es nächste Woche nochmal bei uns hier ansprechen.

TomTheBear commented 6 years ago

Sieht generell gut aus. Im großen und ganzen eine umfangreiche Sammlung an überladenen Funktionen + PAPI + /proc/self Reader. Ich würde sowas aber eher als optionale Analysemöglichkeit für die User sehen (dann kann er auch linken) und nicht zum Monitoring.

Die angegebene Webseite http://ipm-hpc.org/ ist nicht erreichbar, das ist schonmal kein gutes Zeichen, auch wenn es Commits bei GitHub gibt. Es gibt leider auch keine offiziellen Releases.

Das NERSC (Cori @ Berkeley Labs) selbst verwendet die Version von 11/2015. Ich kann es aber nicht verwenden weil einige Symbole der library nicht gefunden werden (ipm_htable, ipm_calltable, ...). Das bekommt man aber bestimmt gelöst, neben dem NERSC ist das LRZ und die LMU München daran beteiligt.