FreeBSD vs Linux auf Super-Computern

pit234a

Well-Known Member
dieser Tage gab es eine Nachricht, dass China zum dritten Mal in Folge den schnellsten Rechner der Welt betreibt. Derartige Meldungen kommen jährlich und ich weiß nicht, welchen Sinn die machen.
In dem Beitrag war ein Link, der die 500 schnellsten Computer des Jahres auflistete und bei den meisten Einträgen gab es eine Zusatz-Info über benutzte HW und das OS.

Diese Super-Computer sind allesamt Zusammenschlüsse von vielen tausend "Cores".
Soweit ich die Liste verfolgte, gab es nur und ausschließlich Linux in verschiedenen Varianten als OS.
Bei meinen Stichproben fand ich nicht ein einziges FreeBSD oder ein anderes BSD oder irgendein anderes Betriebs-System (Kernel).

Solche Veröffentlichungen sind für mich selbst keine Richtschnur und offenbar auch nicht für den Rest der Welt, denn sonst müssten ja alle ein Linux nutzen.
Aber es fehlen mir auch die Hintergründe, diese Wahl des Betriebssystems zu verstehen.
Gegen ein Microsoft System sprechen sicher viele Argumente in diesem Bereich, vor allem, dass es die vielen Kerne wohl gar nicht kann (neuere Microsoft Produkte kenne ich allerdings gar nicht).

Aber wieso entscheidet sich offenbar niemand für ein BSD anstatt eines Linux?
Dazu kann ich mir so manche Gründe ausdenken, aber alle bleiben spekulativ.

Gibt es da tatsächlich handfeste Argumente? Sind die BSDs "schlechter"?
 
Den BSDs fehlt da schlecht die Unterstützung der ganzen Hardware. Ein Cluster besteht ja nicht nur aus CPUs. Die ganze Netzwerktechnik, Nodeverwaltung, Bandspeicher, Festplattenracks und Co. gehört da ja auch mit zu. Und da ist Linux halt bereits bestens drauf angepasst, aktiv im Einsatz, durchgetestet.

Du kaufst ja keinen Cluster und installierst darauf irgend ein Betriebssystem. Du bestellst so ein Ding von einem Clusterhersteller und du bekommst ein einsatzbereites System. Und da hat Linux so ziemlich überall bereits Support für. Das hat sicherlich auch historische Gründe. Und da sicherlich kein Hersteller einen Grund sieht sowas von Grund auf mit den BSDs auch zu machen, passiert es halt einfach nicht.
 
Vor ein paar Jahren gab es noch mehr Diversität. Ein wichtiger Punkt an der Sache ist, dass man sich auch anschauen muss, wer die Rechner aufstellt. Da gibt es nämlich wenige Unternehmen, wie IBM, die dafür Teams haben und die verwenden gerne mal ihre eigenen Dinge, wie AIX.

Dass BSDs nicht so auf Supercomputern läuft liegt also daran, dass da einerseits kein großes Unternehmen klar dahintersteht, aber zum anderen natürlich auch an Spezialisierungen. Man muss sich auch anschauen, was einen Supercomputer auf einer derartigen Liste ausmacht. Worauf ich hinaus will ist, dass du die Rechenleistung auch sehr verteilt bekommen kannst und das dann weniger aussieht wie "ein System".

Kurzum: Du wirst vor allem Systeme typischer, großer Enterprise IT Unternehmen finden.

Kylin, das China-OS auf den großen Rechnern war übrigens ein FreeBSD, dann wurde es Linux und nun gibt es eine Partnerschaft mit Canonical, womit es eben Ubuntu ist.

Aber der Vorteil, dass bei FreeBSD nicht vor allem ein großes Unternehmen hinter sich hat ist eben manchmal auch ein Nachteil. Wer weiß, vielleicht mausert sich ja noch jemand dazu und es gibt einen Supercomputer von iXsystems oder so. ;)

Aber mal ehrlich, ich bin eigentlich recht happy darüber. DuckDuckGo, WhatsApp, Yahoo und Co. setzen sehr wohl auf FreeBSD und haben große Anlagen (aber keine Supercomputer) die damit betrieben werden und hey, immerhin helfen die Contributions nicht chineseischen Militärs und Geheimdiensten.
 
Für Massen-Cluster entscheiden sich schon einige wenige für FreeBSD (Whatsapp zum Beispiel). Richtiges Numbercrunching wird wohl eher von Linuxen unterstützt. Es hängt immer von ab, welche exakte Domäne es ist und wie kompetent die Administration ist.

Ich kenne einige Leute, die Linux verabscheuen und BSDs gar nicht kennen... dann kenne ich Linux-Leute, die jegliches Unix, auch BSDs verabscheuen... dann gibt es auch viele Linux-Anhänger, die BSDs gar nicht kennen. Diese Kategorien von Admins erfassen schon etwa 99,5% der Admins überhaupt.
 
Es gibt zwei Hauptprobleme, die denke ich symptomatisch fuer die ganze Situation sind, warum wir auch kein FreeBSD direkt auf dem Cluster verwenden: Zum einen ist die Infiniband Unterstuetzung (ofed) erst seit kurzem im Kernel angekommen. Zuvor gab es nur proprietaere Treiber, falls ueberhaupt und hier steckt jahrelange Optimierungen hinter, obwohl das eigentlich kein Grund mehr ist, aber die Strukturen sind halt festgefahren.
Zum anderen gibt es viel kommerzielle Software, die unsere Leute nutzen und dafuer geben die Hersteller halt nur Support auf einige wenige Enterprise Linux Distributionen. Da fuehrt halt kein Weg vorbei, wenn man damit Geld verdienen will muss das laufen, sonst steigen die einem aufs Dach.

Die ganz grossen Cluster, benutzen auch kein Linux von der Stange. Das ist meistens eine extrem minimalistische Version eines Kernels, der nur das enthaelt, was man wirklich zum Betrieb braucht und per PXE geladen wird und das kommt direkt von den Herstellern. Ausserdem haben viele Cluster heute auch Beschleunigerkarten: Nvidia oder AMD GPUs, oder Intel Phis fuer die es leider keine offizielle Unterstuetzung gibt. Und keiner wuerde in dem Umfeld gerne selbst das reinfrickeln, nur um dann das Gejammer der Anwender zu hoeren warum da so vieles "anders" ist. Kein /proc/xyz, meine Skripte gehen nicht mehr weil sie anstatt "#!/usr/bin/env bash" "#!/bin/bash" nehmen, oder gar "/bin/sh" aber in bash schreiben etc...
Ich denke der Zug ist abgefahren. Microsoft hat es mit dem HPC Pack fuer ihre Server versucht und die haben wirklich viel Geld und Arbeit rein gesteckt und sind nun praktisch auch aus den Top 500 verschwunden...

Als Achtungserfolg kann man aber sagen, das Teile des Storages auf FreeBSD laeuft. Ich denke es gibt fuer FreeBSD immer noch viele Nischen, die sie noch in dem Bereich fuellen koennten.
 
In den Top500 geht es sowieso eher um Numbercrunching als wirklich wertbringende Server-Applikationen (womit man eigentlich reich wird). ;)

Quelle für die Admin-Kategorien ist eher das was ich so erlebt habe.
 
Naja, es war im Thread jetzt auch explizit die Rede von Supercomputern. So ein Distributed Server Kram ist jedoch schon mal alles andere als ein Supercomputer ;)
 
Setzen Supercomputer heutzutage nicht auf Grafikkarten?

Der NVIDIA Treiber für FreeBSD unterstützt zwar CUDA, aber die dazugehörigen Bibliotheken gibt es nicht. AMD geht sowieso nicht.

Alleine deshalb gibt es da in meinen Augen keine Chance.
 
Einmal ganz ketzerisch gefragt: Wieso sollte FreeBSD denn auf Supercomputern laufen? Außer Prestige würde es dem durchschnittlichen FreeBSD-Nutzer nichts bringen. Im Gegenteil, so ein Projekt würde sehr wahrscheinlich sogar der breiten Masse an Nutzer schaden. Denn auch wenn FreeBSD wahrscheinlich recht komfortabel auf eine Liste der 25 größten Opensource-Projekte kommen würde, verglichen mit dem Linux Kernel sind wir in etwa ein Stecknadelkopf neben einem Gymnastikball. Ein neues Gebiet zu erschließen, würde bedeuten die begrenzte Manpower innerhalb des Projektes umzuschichten. Oder anders gesagt, jede Zeile Code für ein höchst risikoreiches HPC-Projekt wird an anderen Stellen eingespart werden müssen. Einmal davon abgesehen, dass die freiwilligen Entwickler nur bis zu einem gewissen Punkt bereits sind, über ihre Arbeitsbereiche zu verhandeln. Was passiert, wenn man auf zu vielen Hochzeiten tanzt, hat man vor nun mehr als 10 Jahren bei FreeBSD 5.x und 6.x schon einmal lernen müssen. SMP, GEOM, UFS, Buffercache und so weiter gingen noch, aber bei den darauf aufbauenden Stufen wie beispielsweise KSE und dem Entfernen von GIANT kam man in große Probleme und das ganze Projekt geriet über Jahre ins Stottern. Erst seitdem man sich klar positioniert hat und sich auf Server sowie Workstations konzentriert, die Entwicklung dort in kleineren Schritten vorantreibt, geht es wieder bergauf. Gefühlt sogar bis zu in den 25 Jahren zuvor unerreichten Höhen. Auch wenn ich FreeBSD natürlich gern weiter verbreitete und in vielen Bereichen mehr sehen würde muss man doch einsehen, dass für solche Abenteuer einfach die Kapazitäten fehlen und es strategisch klüger ist, sich auf das zu konzentrieren was man hat.
 
Es gibt wohl noch Supercomputer auf BSD Basis nur nicht unter den Top500, im vorletzten gabs jedenfalls ein Vertreter.
 
Weiss jemand in diesem Zusammenhang wie DragonFly eingesetzt wird? Habe irgendwie im Hinterkopf, dass es ja sehr auf Performance ausgelegt ist und das muesste doch eigentlich fuer Grossrechner/Superrechner/Numbercruncher interessant sein.
 
Na toll. Das Forum ist seltsam (wollte ne Antwort einfügen, postet mir den gleichen Kram wie oben nochmal).

Ich wollte nur noch sagen, dass es durchaus berechtigt ist, Numbercrunching zu machen. Es gibt aber 2 Gründe warum es nicht mit FreeBSD gemacht wird.

1) Ich vermute, dass FreeBSD da sowieso schlecht ist, im Vergleich zu Linux, welches von Hardware-Herstellern besser unterstützt wird. So ein Rechner muss ausgereizt werden und da gibt es Risiken, wenn man Exoten betreibt.

2) Man braucht zur Administration von solchen Systemen mehr als 1 Admin. Versucht mal ein Team von 5 FreeBSD-Admins zusammen zu kriegen. Diese Konzentration findet man wahrscheinlich eher nur direkt bei freebsd.org, aber nicht in der realen Welt.
 
Der 08/15 Admin wäre mit einem Supercomputer doch total überfordert. Wie schon gesagt, das ist nicht einfach nur eine Ansammlung an Standard-Computern die man per Netzwerk verbindet ;)

Da braucht man schon eine entsprechende Ausbildung/Schulung, um mit Supercomputern umgehen zu können. Zumal die Supercomputer allesamt Einzelanfertigungen sind und sich auch die Software stark unterscheidet. Da kauft man sich auch nicht einfach irgend ein Buch.
 
Eigentlich schade, dass es wohl kaum *BSD auf solchen Maschinen gibt... Vielleicht ergibt sich da auch eine Herrausforderung, es nicht doch mal zu versuchen :-)
 
Weiss jemand in diesem Zusammenhang wie DragonFly eingesetzt wird?
Ähnlich wie FreeBSD und aus den selben Gründen: Manpower, GPUs, nicht so das Interesse. Klar da war ja die Sache mit Single System Image, aber das ist schon wieder kein wirklicher Supercomputer.

Mal eine Frage an die Leute, die FreeBSD ganz gern auf Supercomputern sehen würden: Warum und für was für Anwendungen?
 
Ich arbeite hier in der Bioinformatik - also Computer Cluster bzw. Supercomputer für spezielle Aufgaben wäre schon was feines... es geht immer wieder um grosse Datenmengen und Algorithmen mit viel Vergleichen - das Zusammensetzen eines Genoms aus vielen, vielen Fragmenten ist z.B. eine Aufgabe für solche Rechnerfarmen :-)
 
Ich glaube die Frage war eher, warum man unbedingt dort FreeBSD nutzen will, statt Linux. Welchen Vorteil erhofft man sich außer, dass man weißt, dass dort ein FreeBSD Kern läuft? ;)

Ich für meinen Teil setze ja auch auf meinen Servern nicht FreeBSD ein "weil FreeBSD", sondern weil mir die ganze Update-Politik und die Paket-Struktur gefällt.Von ZFS noch gar nicht zu reden.
 
Ich denke aus den gleichen Gründen aus denen Microsoft gerne auf Supercomputern wäre. Um zu zeigen, dass man sich vor niemandem verstecken muss. Vom Gaming bis zum Supercomputer, wir sind überall zu Hause!
 
Anders gesagt: Linux ist auf Supercomputern unangefochten und im Rest der Computerlandschaft irrelevant. ;o)
 
Zurück
Oben