Zur Erinnerung: Als Beispiel für meine Mini-Serie über Lehre dient eine Einsteigerkurs, der das Ziel hat WissenschaftlerInnen, die einen Hochleistungsrechner (auch Cluster) nutzen, die Grundlagen zum selbstständigem Arbeit mit dem Cluster zu vermitteln. Und im ersten Artikel dieser Serie habe ich angedeutet, dass Lehre für HPC-NutzerInnen mit Tücken behaftet ist …
Zuerst: Ein Rückblick
Ungefähr zeitgleich mit mir fing ein Kollege als Computational Scientist am Rechenzentrum in Mainz. Das liegt inzwischen etwa 5 Jahre zurück. Unsere Aufgaben sollten sein: Unterstützung der NutzerInnen unseres Clusters, Lehre und eigene Forschung in unseren jeweiligen Bereichen. Wie an deutschen Universitäten üblich waren wir zunächst in Projekte eingebunden. Besagter Einführungskurs damals wenige Stunden Umfang und wurde vom damaligen PostDoc der benachbarten Forschungsgruppe gegeben. Innerhalb der erste anderthalb Jahre fand dieser Kurs nur einmal statt.
Ideale Bedingungen also, das Rad neu zu erfinden (als die Zeit gekommen war) — und dazulernen: Denn die eigene Tätigkeit bei der Unterstützung von Nutzern hat dazu beigetragen deren Schwierigkeiten besser zu verstehen und auch einen Katalog dessen aufzustellen, was an wichtigen Inhalten vermittelt werden muss. Im Laufe der Zeit bin ich es, der hauptverantworlich für die Lehre unserer Gruppe ist. Und die Veranstaltung durfte wachsen: Inhaltlich und zeitlich. Denn wir haben ihren Wert erkannt.
Anforderung und Ziele
Das es sich um eine Einführungsveranstaltung handelt, die ich hier exemplarisch behandle, kann ich nicht genug betonen. Und dennoch ist der Einstieg in die Verwendung eines Clusters bereits mit dem Erlernen einiger neuer Konzepte verbunden. Um noch mal die wesentlichen Rahmenbedingungen zu benennen:
- viele neue Konzepte (je nach Zählweise ca. ein halbes Dutzend)
- zwei Tage Zeit — das ist sicher nicht repräsentativ, anderswo gibt es weniger; ggf. haben auch andere Kollegen mehr Zeit?
- sehr heterogener fachlicher Hintergrund der TeilnehmerInnen
- sehr unterschiedliches, meist geringes IT-Ausgangswissen (an vielen Standorten — und bei uns auch — ist es leider so, dass die Fachbereiche zwar Studiengänge anbieten, die wissenschaftliches Programmieren beinhalten; Studierende jedoch, die sich auf ihre jeweiligen Fächer konzentrieren haben geringe Chancen sich substantielle IT-Kenntnisse anzueignen).
Dem unterschiedlichen Ausgangswissen versuchen wir durch einen “Bash-Crash”-Vorbereitungskurs entgegenzuwirken (ebenfalls zwei Tage), denn der eigentliche Einführungskurs setzt auf Beispiele in Bash. Bash ist gewissermaßen der kleinste gemeinsame Nenner; natürliche könnte man andere “Skriptsprachen” verwenden, aber das Batchsystem setzt in seiner Dokumentation bereits auf die Shell bzw. Bash und alles Andere würde eine weitere Hürde zum Verstehen aufstellen. HPC-Systeme laufen nun einmal mit Linux bzw. unixoiden Systemen.
Zu den Zielen+ zählen — ich erwähnte es schon:
- NutzerInnen über die Services unserer Gruppe aufzuklären.
- (zukünftige) NutzerInnen des Cluster mit den notwendigen Fähigkeiten auszustatten dieses selbsttätig zu nutzen, dazu zählen:
- Beherrschung des Batch-Systems mit der notwendigen Parameterisierung der sog. Jobs (z. B. Anforderung des notwendigen Speichers in einem heterogen ausgestattetem Cluster, Anforderung der notwendigen CPUs bzw. Kerne und Teilrechner (auch Knoten genannt), Anforderung eines ad-hoc Filesystems (z. B. eine ramdisk), etc. etc. etc.)
- Kenntnis der parallelen Fileserver, ihrer Stärken und “Anfälligkeiten”
- Zusammenstellung von Arbeitsflüssen bei mehrschrittigen Rechnungen (gemeint ist, dass verschiedene Analyse-Programme unterschiedliche Anforderungen an Ressourcen haben können und diese müssen dann in verschiedenen, voneinander abhängigen Jobs ausgeführt werden — dazu ein anderes Mal mehr). Hierzu bietet das Batch-System verschiedene Möglichkeiten.
- nicht zuletzt ist ein Ziel auch die Zahl der Anfängerfragen zu verringern, so dass unsere Gruppe sich auf komplexere, zeitintensivere Fragestellungen konzentrieren kann.
Über Kenngrößen
Wie gut ist eine Schulung? Nun zunächst einmal kann man die Zufriedenheit der TeilnehmerInnen erfassen. Das machen wir und dabei schneiden wir nicht schlecht ab: So eine Veranstaltung hat unvermeidliche Längen und dennoch erhalten wir/ich regelmäßig gute Noten. Einzig auffallend ist, dass TeilnehmerInnen mit sehr geringem Vorwissen oft die Geschwindigkeit monieren und über mangelnde Beispiele klagen, obwohl wir davon nicht wenige in Form interaktiver Aufgaben anbieten. (N.B.: Unsere Befragungen sind anonym, dennoch kann man diese Rückschlüsse ziehen, da wir auch nach Programmierkenntnissen und anderen Dingen fragen.) Wir/Ich greife(n) diese Einwände auf, insbesondere versuche ich immer neue didaktische Kniffe, mehr Beispiele, Diagramme und hands-on Teile einzubauen — und das alles mit Blick auf die zur Verfügung stehende Zeit. Diese und weitere Verbesserungen werden stetig eingepflegt.
Letzte Kommentare