 Erst mal eine Frage, kurz ins Publikum irgendwo. Ich muss ein bisschen weiter zurück. Frage ins Publikum, HPC-Infrastruktur, macht ihr was mit HPC? Ja oder nein? Ja? Nein? Okay, alles klar. Gut, dann fangen wir mal an. Also generell HPC heißt Performance-Computing. Das heißt, man hat irgendwie so ein Haufen Anrechner, die halt irgendwie zusammen, irgendwie zusammenschaltet werden und dann möchte man halt irgendwie große Rechenaufgaben damit erledigen aus diversen Feldern, wie zum Beispiel irgendwie so Moleküle falten, Moleküle analysieren, Plasma-Physik und etc. Und dazu braucht man irgendwie Supercomputer oder halt größere Systeme. Und ich will auch ein bisschen was dazu erzählen, wie das so aufgebaut ist, wie es administriert wird, wie das Ganze so funktioniert. Ich glaube, wir müssen weiter von der Box weg. Gut, kommt's über mich. Ich habe an der Uni Würzburg studiert, bin da irgendwie Diplomphysiker geworden, habe dann irgendwann mal so Lehrstuhlklaster verwaltet, das sah ähnlich aus wie dieses Bild. Und dann bin ich irgendwann mal ins Rechenzeitum gewechselt und mache das Ganze halt jetzt irgendwie etwas professioneller. Und jeder, der irgendwie dieses Bild da schon mal gesehen hat oder in der Firma arbeitet, wird wahrscheinlich was Ähnliches hier auch schon irgendwie mal in seinem Leben gesehen haben. Gehe ich mal davon aus. Von diesem Haufen an Lehrstuhlrechnern ist man dann irgendwann mal dazugekommen, weil irgendwie mal hier etwas Größeres zu bauen. Das war jetzt Julia V1, also erste Version von Julia. So heißt der Cluster in Würzburg und sieht so aus. Also es sind fünf Racks und die sind halt voll gestapelt mit Servern. Ja, 2017 haben wir den angeschafft. Also der ist jetzt auch schon irgendwie fünf Jahre alt. Das sind gerade drüber und gucken, ob wir nicht ein Nachfolgesystem kriegen. Und das sind halt irgendwie so knapp 100 Notes. Also es sind irgendwie so 52 normale Compute Notes. Die haben irgendwie so zweimal acht Kanne, oder halt 16 Threads und dann insgesamt als 16 und 32 und halt auch im Teleram. Damit man da irgendwie drauf simulieren kann. Interessant sind es, wenn noch relativ wenig GPU Anteil damals hat, aber auch ein paar Fettnotes haben, die halt irgendwie so zwei Terabyte Ram haben für Simulationen, die halt viele Ram brauchen. Und ansonsten hat man noch ein Impel Storage dazu und halt noch ein bisschen Krams außenrum. In der Regel will man bei HPC auch sowas haben wie in Filiband. Das ist im Prinzip erst nicht über DMA. Das heißt, ein Knoten kann halt ins Ram von einem anderen Knoten direkt reinschreiben. Das ist meistens schneller. Also in dem Fall 56 Gebit. Und muss nicht irgendwie über SRAT noch mal geschickt werden oder über die Netzwerk-Kate gehen oder über den Bus. Und einem drum und dran, sondern die Dinger machen halt dann einfach remote DMA. Funktioniert hervorragend. Julia ist ein Hybrid-Klasse. Das heißt, wir betreiben den irgendwie in zwei Modi gleichzeitig. Einmal als Clash ist das Edge-System und einmal irgendwie als Private Cloud. Als Batch-System kommt Learn zum Einsatz. Wenn ihr da jetzt noch nicht so viel mit HPC zu tun habt, ein Batch-System ist halt ihr Schreibtenskript. In dem Skript schreibt ihr rein, ihr braucht so und so viel Kurs, so und so viele Maschinen und ihr soll das und das ausführen. Und dann sagt ihr, hier Slerm kümmer dich mal drum und der Batch-Scheduler schaut sich halt irgendwie an. Wann sind denn die Ressourcen frei? Scheduled da ein Window und führt dann euren Job aus und sagt euch Bescheid, wenn er damit fertig ist. Also schön einfach ein Shell-Skript schreiben und dann geht es. Private Cloud OpenStack kennt ihr sicherlich vielleicht auch schon so irgendwie von anderen Cloud-Herstellern. Also man kann sich da halt anmelden und dann sich in die WM klicken und in der WM kann man dann machen, was man will. Also das ist bei uns auch so. Ja, wenn man so ein Cluster anschafft, dann muss man sich vorher ein paar Gedanken machen. Das ist ja in der Regel meistens nicht irgendwie so 2-3 Maschinen, sondern irgendwie ein paar mehr. Und wie willst du die verwalten? Weil du kannst natürlich zu jeder Maschine hingehen und dann die einen ausschalten und dann ins Bios gehen oder irgendwie darum rumvorwerken oder die manuell installieren. Das ist aber irgendwie nervig und zeitaufwendig. Also deswegen will man die irgendwie Remote einen ausschalten können, Firmware-Updates einspielen etc. Und da gibt es halt irgendwie mehrere Möglichkeiten. Die größeren Hersteller haben da irgendwie so was wie ILO oder iDRAG. Das ist so ein On-Bord-Cut, mit dem man halt ein Server irgendwie managen kann. Und die etwas billigeren haben, also Supermicro meistens haben die irgendwie so was wie IPMI. Cool ist es, wenn ihr von dem Hersteller, der irgendwie euch die Hardware kauft, auch eine Hardware-Inventurliste kriegt, weil ich sage euch nichts, ist nerviger als ihr habt da jetzt ein Haufen Rechner umzustehen und müsst erst mal jeden Rechner einschalten, müsst ins Nachgucken, was die Mac-Adresse von dem Rechner ist und die dann irgendwo in Excel-File tippen oder so was. Das wollt ihr nicht. Wenn ihr die von eurem Hersteller schon bekommt, ist das super. Ansonsten hat man erst mal ganz viel Spaß. Es nützt auch nichts, wenn man das ausgedruckt bekommt. Also, hier... Anzeiglich steht die Mac-Adresse, das ist halt auch irgendwie... nützt dir nichts. Muss ja irgendwie dann DHCP kommen, dann muss das abtippen, ist doof. Das Gleiche ist halt irgendwie Strom und Kühlung. Ein paar Professoren kamen bei uns auf die DNA, so ein Rechner kann man auch mal in so einen Rumpelkammer nebenan stellen. Über so eine normale Schuko-Steckdose geht, aber normalerweise so was wie 3,6 kW. Das funktioniert nicht. Und dann vergisst man auch, dass diese Kiste vielleicht ein wenig abwärmig produzieren. Das muss dann in so eine Rumpelkammer, wie sehr schnell sehr warm. Dann möchte man vielleicht ein bisschen sich Strom angucken. Normalerweise haben diese Server in der Regel so zwei Netzteile aus Redutanz gründen. Aber man kann ja auch zum Beispiel überlegen, dysthorisch soll halt nicht irgendwie, wenn Strom ausfällt, irgendwie hart runterfahren. Das ist irgendwie doof. Da könnten halt Daten verloren gehen und die Daten, die die Forscher halt simulieren, das ist eigentlich das, mit denen sie dann auch die Paper produzieren. Und dann kann man sich dann auch mal ein bisschen die Kiste haben. Daher guckt mal, dass halt irgendwie zumindest ein Teil irgendwie auf einer USV hängt. Oder allgemein Strom. Da will man halt also die Compute-Notes haben. Das heißt, wenn halt irgendwie der Strom ausfällt, dann geht die Compute-Notes auch aus, weil wenn die halt irgendwie die ganze Zeit Power rechnen, dann saugen die halt eure USV auch sofort leer. Also das will man vielleicht auch nicht. Und dann eben Storage. Das sollte man sich halt vorher auch mal überlegen, und so weiter. Und ihr seht schon, so ein HTC anzuschaffen, zu betreiben, braucht erstmal auch eine gewisse Infrastruktur. Das heißt, Strom muss da sein, Kühlung muss da sein. Ich brauche einen Raum dazu und auch dementsprechend Leute. Also das Infrastruktur braucht die Infrastruktur. Dann kann man sich mal gucken, was für Services laufen und dann steht man fest, da gibt es doch recht viele Services und die haben alle Anforderungen ans Netz. Das ist das normale, das heißt mal, naja, ihr wollt irgendwie ein Kisten Remote ansteuern und gucken, was halt los ist, die jedenfalls an ausschalten, eventuell mit einer Remote-Konsole mal drauf zu sehen, warum die Kiste dann abgeschmiert ist. Das heißt, man will irgendwie ein Management-Netzwerk, dann will man irgendwie so das übliche Public-Netzwerk haben, wo man einfach die User drauf lässt. Also sprich, da können sie sich darauf verbinden und dann können die da errechnen. Das ist und darüber deployet man eventuell auch die Maschinen. Und dann kommt mal zu den ganzen Storage-Netzen. Und dann haben wir so Services wie OpenStack und haben da nochmal eigene spezielle Netze, um halt innen dieses ganze Cloud-Gedöns zu managen. Und dann stellt man fest, ob sie doch irgendwie ganz schön viele Netze, die man da auf einmal braucht. Und man hat nur eine Netzwerkatte. Oder vielleicht eine Netzwerkatte mit zwei Ports. Also, was macht man da, naja, wenn es geht, Faulans, Chunks und irgendwie gucken, dass das Ganze auch noch Fail-over macht. Das muss man sich halt vorher überlegen. Ja, wenn das Ganze dann mal aufgebaut und verkabelt ist, dann kann man das ja mal in Betrieb nehmen. Und das erste, was man da in der Regel macht, ist, man macht ein Bare-Metal-Deployment. Also irgendwie muss man mal ein Betriebssystem auf diese Kisten. Und dazu braucht man eigentlich auch schon wieder Infrastruktur. Das heißt, man muss erstmal so die Atmenknoten installieren, die halt dann den Rest installieren. Und auf den Atmenknoten sollte halt irgendwie so was laufen wie die ACP, vielleicht ein Pixi-Boot, TFT-P, damit man irgendwie Pixi-Boot machen kann. Den S-Sauer, man hatte die P-Sauer und NFS, damit man irgendwie Sachen aus dem Netz laden kann, lokal. Wenn man das Ganze als Insel betreibt oder sowas, vielleicht Nut-Gateway. Und wenn man da irgendwie 100 Kisten haben, die alle von ftp.edb.org ziehen oder ftp.ubuntu.org oder sowas, ist vielleicht geschickt lokal auch noch ein Paket-Mail zu installieren, weil sonst nuckeln die halt die Leitung zu und es dauert alles und irgendwie doof. Das Gleiche ist, wenn man da irgendwie Sachen wie Docker hat. Irgendwann hat man sagt halt Docker von wegen Dorset, schon irgendwie 1000 Requests gemacht. Ich drossel dich mal. Und da will man eventuell die Images, die man dann auf den verteilt, irgendwie auch irgendwie lokal haben, also einen like and registry anlaufen lassen. So, und wenn man sich das dann überlegt hat, kann man die Rechner einteilen in diverse Klassen. Zum Beispiel in die Computer Notes, der soll irgendwie OpenStack machen, der soll irgendwie Storage machen und die sind das. Und wie macht man das? Wie macht man das? Also erstmal so DHCP und DHCP, das sollte irgendwie schon irgendwie redundant vorliegen. Das heißt, man sollte irgendwie auch zwei Atmengloten haben, weil es kann ja mal sein, dass man diesen Atmengloten auch mal updaten und rebuten muss. Und dann ist DNS und DHCP weg, das ist irgendwie doof. Also, vor allem wenn das dann irgendwie mehrere Maschinen werden, dann muss man da irgendwie skalieren können. Services, die man noch so betreibt wie zum Beispiel der eigentlichen Diploi-Haus, der dann die anderen Maschinen bespielt, der muss nicht unbedingt redundant sein, weil den braucht man normalerweise nur zur Installation und dann eigentlich nie mehr wieder, bis man halt immer wieder Updates macht oder sowas. Das heißt, der kann dann irgendwie virtualisiert werden. Das ist nicht das Problem. Wir haben da einfach ein Proxmox benutzt. Das ist halt irgendwie easy, und da kann man dann in der Web-GUI rumklicken. Und Leute verstehen das normalerweise auch auf der Box, ohne dass sich die Leute irgendwie sagen, das ist von irgendwie hier, mach mal folgende Wirschbefehle, und dann halt irgendwie leichter. Genau, so. Jetzt wie in Salitmen in Graams, wir haben uns damals 2017 für Feien entschieden. Das ist die Fully Automatic Installation, die ist an entstanden an der Union Köln, weil die eben auch ein Klasse betrieben haben, und da haben die sich halt mal genauso was überlegt. Und das Schöne an Feis ist, ich kann halt Klassen nehmen. Und anhand des Hostnames unterscheidet Fei, welche Klassen einem Host zugeordnet werden. Das kann man ein bisschen übertreiben. Wir haben da oben ein Hostname-Filter, und die sind erstmal alle Blech. Das ist das hier. Und dann kann man halt sich entscheiden, wenn das irgendwie die 1010G1 oder 2 oder 3 ist, dann ist das halt ein Login-Node. Oder jetzt mal gucken, wie ich hier runter scroll. Oder irgendwie Login, Slime-Login-Manager, OpenStack-Node, Infinipad-Node, Nvidia-Treiber-Maschinen und so weiter. Also am Ende geht er halt durch dieses Shell-Script durch und hat eine Liste an Klassen, die halt den Host beschreiben, und dann kann man halt irgendwann sagen, was willst du denn haben? Fei installiert, in der Regel am liebsten, Debian-Urubuntu-Packages, aber irgendwie Redhead-Klone funktioniert mittlerweile auch ziemlich gut. Und ich hab mir sagen lassen, dass es sogar mit Sless geht. Aber ja, dann kann man da irgendwie auch Partitionierungsprofile anlegen, wenn ich da links die Platten mal irgendwie installieren, wenn man die mit Platten betreibt oder halt Hostless. Und da kann man noch die Dinge einstellen, die man hat, haben möchte, um den Treiber installieren, wie zum Beispiel bei den GPU-Notes, halt in den Nvidia-Treiber oder so. So. Wie sieht es dann aus? Ich schalte halt den Host an, in der Regel aus meinem Büro aus, ich sitze nicht die ganze Zeit im Serverraum, das ist auch ein wenig zu laut. Und dann guck ich halt wieder, default, wie ins PXE läuft. Da ist ein NFS-Root, da geht er da rein, und dann ist er da in diesem Fei-Lokalen-Environment, es ist Hakis, die man vielleicht später braucht. Fertig. So. Ich sag, bei uns läuft das Ganze auf Debian und off Ubuntu-Basis. Warum? Debian hat Vorteile, Ubuntu hat Vorteile, beide haben auch Nachteile. Und wir haben uns das irgendwie so rausgepickt, dass wir für uns die Entscheidung getroffen haben, dass wir Debian für die entsprechenden Copured-Notes benutzen, weil du hast halt alle zwei Jahre ein neues Release, da kannst du dann irgendwie eine Software auch updateen und dann Maintenance machen. Und Debian macht in der Regel keine großen Experimente mit neuen Features, sondern das funktioniert eigentlich relativ minimal. Und die Software, die man so im HPC umfällt braucht, wie zum Beispiel OpenMPI, die Packages für Debian sind die gleichen Packages, die es für Ubuntu auch gibt, weil das der Debian-Mentainer ist, der die bereit stellt. Also ob ich jetzt das Ubuntu OpenMPI-Package nehmen oder das Debian-MPI-Package ist das gleiche. Für OpenStack, das haben wir uns halt irgendwie für Ubuntu entschieden, weil das Zeug in der Regel etwas länger läuft und nicht so oft man auf Software-Updates kriegt, weil eigentlich läuft dann nur ein Ubuntu Base und dann irgendein Docker. Und dann kommen wir schon zu diesen Container-basierten Software. Da ist die Community, die halt Ubuntu unterstützt, deutlich größer. Und dann haben wir gesagt, okay, wir nehmen halt irgendwie Ubuntu. Für uns als Admin, es ist egal, ob wir abinstallieren, auf deinen Kisten, auf anderen machen, das funktioniert ja bei Debian-basierten Maschinen, es ist egal. So. So, dann hat man ein Base-Soest drauf und dann entscheidet sich eigentlich erst, was irgendwie noch zusätzlich ein Software drauf kommt. Für OpenStack haben wir uns dafür ColourAnser-Bild entschieden. Das ist im Prinzip ein Vanilla-OpenStack. Das heißt, keine spezifischen Wendorsachen drin. Es gibt ja OpenStack-Distributoren auch mittlerweile, die dann halt auch irgendwie eigenes Zeug mit reinmischen von Rattat, von Ubuntu und von SUSE gab es mal zumindest auch eine OpenStack-Distribution. Ich glaube, Rattat und Ubuntu gibt es immer noch. Da kann man das immer noch direkt benutzen. Aber das sind halt an Sachen von Ubuntu oder von Rattat noch zusätzlich mit drin. Das wollten wir nicht. Wir wollten einfach Vanilla haben und universell. Und das Coole ist, es läuft halt ein bisschen Containern. Das heißt, da ist auch egal, welches Betriebssystem drunter ist. Und ich habe einen nativen Vanilla-OpenStack und so ist es egal. Und damit hat es angefangen. Man installiert es halt irgendwie über Ansible. Und 2017 da gab es noch andere Methoden, wie man mehrere Maschinen irgendwie konfiguriert und installiert wie zum Beispiel Chef, Puppet und so weiter. Aber Ansible hat da gerade halt ein bisschen gehyped und wir haben uns halt auch für Ansible entschieden. So. Warum das Rad neu erfinden, werden wir eh schon das benutzen. Und Christoph und ich haben dann irgendwie da ziemlich viel rumgeweiht und uns das lernen und so weiter wird jetzt eigentlich auch direkt bei Ansible deployed, macht dann auch die ganzen Sachen wie Authentification über das LDAP und installiert entsprechende Sachen. Genau. Und halt irgendwie so software, die man so braucht Intel Compiler und irgendwie Kumpchen Bibliotheken. Genau. Das ist so. Dabei sind wir geblieben, das funktioniert. Und ich zeige euch als nächstes gleich mal, wie es ist, so ein OpenStack mit Ansible aufzusetzen. That's it. Man installiert halt einmal so ein Color. Das kann man sich mittlerweile per Pfeifen holen. Dann braucht man die Skeleton-Files. Das sind für drei Stück. In dem Fall die Globels-Yaml, das Inventory-File und ich glaube noch irgendeine, braucht man noch die Passwords-Yaml. So. Und die legt man einfach in nach etc. Color und dann muss man die halt anpassen. In dem Inventory-File-Stil drin, ich habe halt fünf Notes, zwei davon sollen Login machen, drei sollen halt Compute machen und die und etc. Und das schreibt man da in das Inventory rein und gut ist. Und in der Globels-Yaml definiert man halt noch welche Services, die man in OpenStack halt benutzen möchte. Ob man z.B. ein Saft benutzen möchte, ob man noch ein Promise-Häus drin haben möchte oder einen Grafana und ob man noch Ironic benutzt. Das ist ein Bermetal-Deployment-Service. Das heißt, das OpenStack kann auch praktisch selber Bermetal-Deployen, aber und allen drum und dran, das ist Jammel ein und gut. Und da trägt man auch ein, wie die Netzwerke und die V-Lands und so weiter heißen. Und dann war es das. Dann muss man noch einmal Color-Again-Pass-WD ausführen, damit er vom Initial-Passworder randomgeneriert für alle Services, die man so braucht. Und dann sagt man Bootstrap-Servers und Deploy und dann läuft es, weil man hat ja vorher die SSH-Key sehr schön deilligt. Das heißt, das Enzyme kann ja keiner dann direkt auf die Maschinen drauf und das war es. Ein bisschen ausführlicher, als diese neuen Schritte gibt, ist der Color-Quick-Start-Guide, der es dann da auch verlinkt. Könnte auch einfach googeln oder so. Ja, dauert in der Regel auch mal so, wenn man es zum ersten Mal macht und dann schon ein paar Notes hat, irgendwie so knapp eine Stunde und dann ist es erledigt. Dann hat man verlaufen das OpenStack. Für Storage will man eigentlich bei OpenStack-Safe benutzen. Das System wäre das noch nicht weiß. Ich wollte jetzt keine große Diskussion über Erklärung machen, was safe ist. Das sprengt einen eigenen Talk. Deswegen lasse ich das und ich habe jetzt auch nicht so ein Enzyme gezeigt, weil de facto ist es genau das gleiche. Ich führe halt auch ein Rapper-Script aus und das läuft halt dann über eine Enzyme-Playbooks fertig. Also das ist genau das gleiche, wie ich einen Color installiere. Ausführen und gut. Man muss halt die Playbooks mal selber schreiben. Genau. Und bei Color Comment die halt schon fertig. Genau. Aber de facto, wenn man es schon sehr fatt, dann braucht man irgendwie 3 Pools. Einmal für die Volumes. Das sind so Discs, die man dazu in die VM ranhängen kann. Dann einmal für die Images. Das ist zum Beispiel in was weiß ich, in Debian oder Buntu oder in Windows. Von dem ich starten möchte. Und das wird dann einfach das Image genommen und daraus in die VM gebaut. Und die VM selber hat ja dann auch nochmal irgendwie eine lokale Route-Disk oder irgendwas oder halt wo es reinstalliert wird. Und die liegt dann halt in diesem anderen Pool. Und damit das halt funktioniert, muss man einfach diesen Sonsev-Keyring, mit dem er die Autophilzierung macht, einfach in EDC-Color hinterlassen. Und in der Global Siammel halt das Eintragen, das man das benutzen möchte und dann fertig. Und damit hat man eigentlich schon ein ordentliches Storage innerhalb seines OpenStacks. Was braucht man noch? Ja, irgendwie will man auch gucken, was ein Cluster so tut. Das heißt, wir haben da früher, als 2017, gab es so langsam Prometheus. So langsam. Wir haben damals noch InfluxDB und Collective verwendet. Mittlerweile haben wir das alles auf Prometheus und migriert und schreiten der eigenen Note-Exporter. Und Grafana irgendwie halt der Klassiker, um mal zu gucken, was macht denn so mein Cluster. Und wenn irgendwas kaputt geht, dann mittenswahl ein Alert Manager. Genau. Schön ist, dass man sich mittlerweile so ein OpenStack oder ein Chef installiert. Die bringen mittlerweile eigene Exporter mit. Und dann muss man nur noch sagen, hier ist mein Prometheus und gut ist. Für so Notizen und so Hyfolien, für Präsentationen haben wir einen Edge-Dock damals installiert. Damals ist es noch Kodi-MD. Das haben wir irgendwie seitdem mitgenommen. Und Draw.io für so Skizzen und wenn wir so machen, Netzwerk-Skizzen machen wir das sehr schön. Und ab und zu, man muss mal irgendwie noch ein Word-Dokument schreiben für einen Antrag oder so. Dann benutzen wir einfach irgendwie Audio-Office. Und wir haben auf den Development-Knoten noch mal ein Eignis-Proxmox laufen, einfach um so paar VMs schnell aufsetzen zu können, um mal irgendwas zu testen. Also das funktioniert. Dann, was man noch machen sollte, ist, man hat vielleicht keine Lust, irgendwie in 100 Rechnern zu gehen, das BIOS zu starten und dann die PowerSafe-Modi auszustellen. Weil bei HPC will man eigentlich, dass die Kisten wirklich konstant Power machen. Man will eigentlich kein PowerSafe, weil, gerade wenn irgendwie du mehreren Frets hast, über mehrere Maschinen verteilt und die eine Maschine ist jetzt der Meinung von wegen, boah, ich takte jetzt halt runter und die andere Maschine wartet aber auf den Frett. Das mag vielleicht für eine Simulation, die irgendwie 2, 3 Minuten dauert, egal sein. Aber wenn die ein Monat läuft, dann zumiert sich das. Ja, das heißt, du schaltest sowieso im HPC PowerSafe komplett ab. Das ist kontraproduktiv. Du willst alle Cores gleiche Last. Ja. Und da kannst du natürlich jetzt ins BIOS gehen und überall 100 mal anmachen und die PowerSafe-Modus deaktivieren oder du benutzt halt irgendein so eine OneView oder OpenManage Enterprise Software für IPMI gibt es da so RedFish-Schnittstellen, damit kann man das auch erneken und die halt ins BIOS und eventuell BIOS-Settings manipulieren und dann hat man ein Profil und die Sache ist erledigt. Dann sagt man, apply und dann wird das die BIOS-Settings auf allen Notes deploy fertig. Da kann man auch einstellen, das ist vielleicht zum Beispiel die erste, die 10G-Netzwerk hatte doch wirklich als primäre Pixiboot benutzt und so weiter, anstatt die Onboard eingehen. Das kann man dann auch einstellen, was will man haben. 2017 läuft der Cluster, was haben wir gelernt? Du denkst, du hast den Netzwerk gut designed bis du es deployst. Und dann merkst du, ah, da fehlt noch was. Das heißt, vielleicht sollte man so ein Netzwerkdesign nochmal genauer machen und man lernt sehr schnell, dass es SinglePoint of Failures gibt, die man vorher nicht auf dem Radar hat. Ja, also bestes Beispiel, das BGFS braucht einen BGFS Manager-Demon, der läuft aber nur auf einem Note und wenn man den rebooted, dann funktioniert das BGFS nicht mehr, genau so. Dann möchte man irgendwie das ganze keep it simple stupid haben, weil ich war am Anfang allein, hatte dann zwischendrin zwei, drei, ja, einen Mitarbeiter und noch so ein paar Leute, die mir geholfen haben, die sollen ja aber verstehen, was du da tust. Und deswegen willst du eigentlich ein wirklich einfaches Design haben, damit die Leute auch gleich verstehen, was du da wirklich tust und wie das Ganze funktioniert. Das ist nix, nix, irgendwie sie groß rum zu planen und das Komplex zu machen, du reißt es nachher eh wieder weg. Und Dokumentation ist nicht überbewertet. Wir hatten echt zweimal das Problem von wegen irgendwas ging nicht und dann hatten wir gesagt, wir haben das doch schon mal, wir haben das Problem, was warten ist, wir haben das wieder behoben. Jetzt haben wir es aufgeschrieben. Und Redundant ersetzt kein Backup und Restore. Also, es mag zwar sein, dass du das Deutsch hast, aber wenn du redundant deine Daten löscht, ist es halt auch redundant weg. Also, das ist gut. Und jetzt kommen wir noch zur User-Seite, weil tatsächlich das Ding ja im Einsatz. Auf diesem HPC dürfen eigentlich im Prinzip jeder Rechner, der irgendwie Rechenpower braucht bei uns. Das heißt, wir haben Leute, die kommen halt aus klassischen Mint-Fächern, aber wir haben auch Leute, die jetzt sagen, wir machen Text-Analysen aus der Philologie. Und die sind meistens nicht so stark mit Linux und SSH und bewandelt. Also, die wollen meistens eine komische Windows-Software benutzen und die knallen da erst mal gegen so eine Lernhürde. Weil haben doch nie irgendwie Linux gesehen oder HPC und müssen es erst mal lernen. Und die wissen dann auch nicht, wie das Ganze irgendwie so funktioniert. Da muss man halt erst Leute an die Hand nehmen und erst mal erklären, wie das funktioniert und dann finden die sich ein und dann kriegen die auch parallelegere Text-Analysen hin. Das wird vor allem jetzt interessant, weil wir ja ganz viel KI machen und da will man auch eventuell Language-Modelle trainieren und dann braucht man doch irgendwie mehr Rechenpower als so sein Laptop und das muss man halt den Leuten irgendwie dann klären, dass es so ein HPC gibt, der genau sowas macht und wie der halt funktioniert. Was wir auch gesehen haben in den letzten Jahren, dass die Leute einfach die Software selber kompellieren und gucken, wie es funktioniert und dann auch für das HPC optimieren z.B. halt auf die entsprechenden CPUs, die wir haben oder entsprechenden Libraries, die verwendet werden sondern die benutzen halt irgendein random Docker-Image aus dem Netz und stellen dann nach fünf Minuten fest, dass die Docker-Anwendung keine Unterstützung für MPI mit drin hat, weil es läuft halt nur auf dem Laptop aber wenn man das Ganze halt in groß haben will, dann will man das halt auf mehreren Maschinen verteilen mit irgendwie MPI und dann geht es nicht. Das ist irgendwie irgendwie doof. Und was wir jetzt auch gelernt haben, ist, dass die Leute irgendwie also ich habe gesagt, beim Badge-System, du schreibst ein Shell-Script, da steht halt drin, ich brauche fünf CPUs so und so viele Rahmen, läuft drei Tag das ist die Binary, da ist das Input-File, lasst laufen. Das können die Leute nicht mehr. Die wollen ein Web-Interface haben, weil sie das klicken können. Ja. Und das ist halt ein bisschen schwierig, weil wenn der Badge-Scheduler entscheidet, dass dein Jupyter Notebook Sonntag nach zum 3 losläuft und für zwei Stunden läuft, sitzt halt nicht nach zum 3 vor deinem Browser und hoffst, dass du das noch irgendwie schnell geklickt kriegst. Und dann ist der Job vorbei. Also das ist so Sachen. Und wir versuchen aber darauf irgendwie zu reagieren und dann halt den Leuten irgendwie zu erklären, ja, das geht, aber das dazu gehst du lieber ins Open-Stack, klickst ja eine WM mit 64 Cores und lässt das Jupyter Notebook halt dann halt für die Zeit, wo du es wirklich brauchst, laufen und danach wirst du die WM wieder weg. Geht auch. Also, man muss dann halt auch sein User in den Gegend kommen. Ja, ich glaube, das war jetzt in 20, 25 Minuten eine gute Übersicht. Ich glaube, ein paar Minuten habe ich noch Zeit für Fragen. Denke ich, oder? 20 Uhr? Ja, genau. Fast richtig hingekommen. Ich habe die verlorene Zeit wieder eingeholt. Jetzt können wir das so machen. Entweder ich setze mich dann darüber an den Workstash und den Leuten, die dann irgendwie genauere Sachen wissen wollen, die setzten sich einfach zu mir und dann trinke mein Bierle. Oder ich habe allgemein schnell Fragen und würde die schnell beantworten, wenn es dabei hier gibt. Ah, doch da. Sagen wir mal so, ich weiß von diversen und auch angefangen. Das ist der zentralisierte Jahr. Also im Moment gerade schlecht, weil es sind noch Semesterferien. Aber wir haben den Jahr 5050 gesplittet. Ich kann sagen, dass in OpenStack die Kurs belegt werden durch WMS. Wir haben teilweise auch über eine Buchung drin. Also, dass gerade so kleinere WMS halt irgendwie, da können auch mehrere WMS in den Host überbuchen. Leider kann ich nicht in die WMS reingucken. Also, ich weiß nicht, was die WMS tatsächlich tun. Das kann ich nicht. Aber ich kann von der Host-Seite aus überwachen, ob die WMS überhaupt generell irgendwas tut. Ja. Und die Erfahrung ist, die Leute klicken sich in die WMS, lassen da irgendwie für 3 Tage irgendwas rechnen und dann gehen sie in den Urlaub. Und dann ist die WMS da, weil das kostet ja bei uns nichts. Die Ressourcen werden halt weiter belegt, aber die Maschine tut nichts mehr. Und so nach einer Woche, also früher habe ich angefangen, die Leuten dann in die Mail geschickt. Von wegen, willst du nicht mal die WMS runterfahren oder halt wegen wieder freigeben, damit auch andere Leute die benutzen können? Die Ressourcen, weil wir haben halt auch nur begrenzte CPUs und sind halt kein Cloud-Anbieter wie Google oder Amazon, wo man einfach beliebig Kurs haben kann. Das hat dann einmal nur eine gewisse Anzahl, das heißt, das vergessen die Leute halt dann auch. Das sie dann bitte die Ressourcen auch wieder freigeben. Aber es gibt auch Leute, die einfach mal auch wirklich hardcore monatlang zwei, drei WMS durchlaufen lassen, die dann auch rechnen. Also, das funktioniert schon. Ja. Also bei Slerm ist es so, dass wir tatsächlich gewisse Schedulingzeiten haben. So ein Standardjob darf in der Regel zwei Tage laufen, dann wird er gekillt. Man kann aber auch eine Woche oder ein Monat anfordern. Bei OpenStack ist es nicht so, weil wir ja nicht wissen, was du in der WM machst. Und gerade so für Interactive Jobs, wir sehen es vor allem dann am Anfang der Semester, wenn halt irgendwelche Studenten das auch benutzen. Dann hat man auf einmal starken Bedarf an irgendwie kleinen WMS, die halt irgendwie was, was ich so typischer Notebooks oder so was ausführen, damit man es selbst mal lernt. Und dann wird halt über das Ende des Semesters mit den Vergessensten die WM da ist. Und dann muss man halt denn, also ich habe ein Tool, das ist überwacht und dann ist es mir das schon wegen der die WM da seit einem Monat eidelt. Und dann versuche ich halt den, der die WM gehört anzuschreiben und zu sagen, gib mal frei. Aber da gibt es bei uns eigentlich keine Hardcore, keine Hardcore Limit, wann die gekillt wird. Also ich muss tatsächlich mal ein paar Maschinen auch Hardcore killen, weil da war dann einfach Person nicht mehr da. Das kann auch passieren. Hat die Uni gewechselt, ist nicht mehr da, da wird die WM vergessen. Noch eine Frage, ja? Bei OpenStack kann ich nicht sagen, also wenn die halt ein Bitcoin-Miner oder was auch immer drin laufen lassen, dann weiß ich das nicht. Es ist ja auch irgendwie Freiheit von Lehre und Forschung. Das heißt, wir überwachen die Kisten nicht aktiv. Das Einzige, was wir halt sehen, ist, falls eine Kiste halt irgendwie bei uns auftaucht, irgendwie gemeldet wird von wegen von dort aus, geht irgendwie was, was sich beim versendet. Dann schauen wir uns natürlich die WM an. Aber es muss halt aktiv bei uns quasi jemand sagen, von wegen die Kiste läuft da irgendwie, macht Dinge, was er nicht soll. Wir haben natürlich so ein paar Security-Mechanismen, damit mal sehen, dass wenn eine Kiste unüblich traffic macht, dann ist da vielleicht auch was, dann kann man ja mal mit dem Betreuer reden, was da so gemacht wird. Aber das hatten wir bis jetzt nur einmal. Also bisher hatten wir da Glück. Die Kisten sind auch nicht aus dem Netz erreichbar direkt. Das haben wir im Netzwerks und PVPN. Ja, ich bin dann da drüben beim Gehrchen, wer noch irgendwie Details wissen will oder das Ganze mal auch gar live ansehen möchte, wie das so funktioniert. Ich sitze da drüben im Hex-Center.