"Wer viel rechnet, muss viel speichern. Wer viel speichert, muss dies schnell können." So lassen sich im Prinzip die Anforderungen an Speicherlösungen im Umfeld des High Performance Computing (HPC) zusammenfassen.
Dass dabei mit einem oder mehreren herkömmlichen NFS-Servern kein Blumentopf zu gewinnen ist, wird einem schnell klar, wenn sich vor Augen hält, wie groß die im vorhergehenden Artikel vorgestellten Umgebungen sind, in denen sich Linux pudelwohl fühlt. Bei teilweise über zehntausend Knoten skalieren die klassischen Ansätze nur sehr begrenzt.
Hier sind Dateisysteme gefragt, die Petabytes im inzwischen zweistelligen Bereich mit Durchsätzen von mehreren hundert Gigabyte pro Sekunde bewältigen. Einzelne Server werden, wie auch bei umfangreichen Berechnungen, hier schnell zum Flaschenhals, weshalb die I/O-Last parallel auf mehrere Knoten verteilt wird.
Zwar gibt es eine Green500-Liste, welche die in der Top500 der schnellsten Computersysteme vertretenen Installationen bezüglich ihrer Energieeffizienz sortiert, aber eine Rangfolge der größten und schnellsten eingesetzten Speichersysteme existiert leider nicht. Von den Machern der Top500 werden ausschließlich die Ergebnisse des prozessorlastigen Linpack-Benchmarks herangezogen, der im Vergleich zu im HPC-Alltag anzutreffenden Anwendungen nur eher geringe I/O-Anforderungen auszeichnet. Daten wie Kapazität, Durchsatz, Dateisystem-Typ oder Lieferant der Storage-Lösungen, die in den Supercomputern zum Einsatz kommen, werden deshalb leider nicht mit der zwei Mal im Jahr erscheinenden Liste veröffentlicht und lassen sich in Eigenregie nur unvollständig recherchieren.
Dabei ist Wissen zu skalierbaren, performanten Speicherlösungen deutlich universeller einsetzbar als nur im HPC-Umfeld, weshalb dieser Artikel die wichtigsten Linux-tauglichen Vertreter dieser Gattung vorstellt.
Lustre
Der Platzhirsch unter den in der Top500 eingesetzten Dateisystemen ist eindeutig die Open-Source-Lösung Lustre. Laut einer inoffiziellen Übersicht (PDF) von Ende 2011 vertrauen circa 64 Prozent der Top100 auf Lustre. Je leistungsfähiger die Supercomputer, desto größer ist die Verbreitung dieses Dateisystems: In den Top 50 und Top 10 liegt der Anteil bei 80 Prozent.
Lustre hat eine vergleichsweise bewegte Vergangenheit hinter sich. Es nahm 1999 als ein Forschungsprojekt an der Carnegie Mellon University unter Peter Braam seinen Anfang. Seine Firma Cluster File Systems (CFS) entwickelte die frühen Versionen von Lustre. 2007 wurde CFS vom Unternehmen Sun Microsystems übernommen, das seinerseits 2010 von Oracle aufgekauft wurde. Ende 2010 kündigte Oracle an, die Weiterentwicklung an Lustre einzustellen, was zu großer Verunsicherung in der HPC-Community bezüglich der Zukunft des Dateisystems führte.
Zwar steht Lustre unter der GPLv2, doch wurde der Großteil der Entwicklung von Sun und später von Oracle getragen. Um für das Dateisystem in Zukunft Weiterentwicklung und Support bieten zu können, bildeten sich schnell eine Reihe von Unternehmen und Organisationen, die Oracles Nachfolge antreten wollen. Besonders das Startup Whamcloud trat hier in den Vordergrund, da es von einer Reihe von Lustre-Veteranen gegründet wurde und diverse ehemalige Lustre-Entwickler übernahm.
Inzwischen findet die weitere aktive Entwicklung bei Whamcloud statt, und als Dachorganisation wacht OpenSFS über die weitere Entwicklung.
Das weitere Fortbestehen von Lustre scheint gesichert und das nicht ganz einsteigerfreundliche Dateisystem findet inzwischen auch in Form von einfacher zu administrierenden Appliances von Data Direct Networks (DDN) und Xyratex den Weg in den Storage-Mainstream.
GPFS
Neben Lustre ist das General Parallel File System (GPFS) von IBM die zweite Standardlösung, wenn es um die Bereitstellung von performanter Storage im Petabyte-Bereich geht. Die Ursprünge von GPFS gehen auf das Dateisystem Tiger Shark zurück, das 1993 in den IBM Forschungslaboren das Licht der Welt erblickte. Zunächst als Backend für Multimedia-Anwendungen gedacht, bewies das Dateisystem schnell seine Eignung für Berechnungsumgebungen, in denen es auf einen hohen Durchsatz und viel Speicherplatz ankommt.
Die ersten Jahre stand das Dateisystem nur für IBMs hauseigenes Unix AIX zur Verfügung, Unterstützung für Linux wurde 2001 hinzugefügt, Unterstützung für Windows Server besteht seit 2008.
GPFS zeichnet sich besonders durch die Integration in das weitere IBM-Storage-Umfeld aus. Es ermöglicht die Definition von Migrationsregeln, die bestimmte Daten auf günstigere Datenträger wie langsamere Festplatten oder final zur Archivierung auf Tape-Drives auslagern und schafft damit hierarchisches Speichermangement (HSM). Als Kriterium könnte zum Beispiel das Datum des letzten Zugriffs, die Dateigröße oder schlicht der Dateityp dienen. So können bei einer Berechnung temporäre Daten anfallen, derer man sich schnellstmöglich entledigen möchte, aber auch Daten, die häufig weiterverwendet werden und deshalb in einen schnellen Speicher gehören. Auch wenn der Zugriff auf ausgelagerte Daten transparent über Stub-Files realisiert wird, treten doch teils merkliche Verzögerungen beim Zugriff auf ein Bandlaufwerk auf.
Eine solche Lösung für das Information Lifecycle Management (ILM) lässt sich zwar grundsätzlich auch hausgemacht mit anderen Lösungen implementieren, aber jeder, der einmal ein "find"-Kommando auf ein entsprechend großes Dateisystem losgelassen hat weiß, dass ein solcher Ansatz mit Bordmitteln nicht skaliert und sehnt sich nach einem performanteren Werkzeug.
Die Backup-Dauer von GPFS profitiert von der Kombination mit IBMs Tivoli Storage Manager (TSM), da hier nicht der komplette Verzeichnisbaum Datei für Datei untersucht werden muss, sondern über ein entsprechendes API auf die Dateisystem-Metadaten zugegriffen werden kann, was den Backup-Lauf signifikant beschleunigt.
Ein Punkt, der bei allen Features und der Leistungsfähigkeit von GPFS nicht außer Acht gelassen werden darf, ist der Umstand, dass GPFS lizenzkostenpflichtig ist. Zwar wird bei der Beschaffung eines Clusters ein Paketpreis verhandelt und nicht der Listenpreis bezahlt, trotzdem können hier signifikante Kosten entstehen. Auch gibt es entsprechende günstige Angebote nur, wenn man alles aus einer Hand kauft - so sind GPFS-Installationen praktisch nur auf IBM-Hardware zu finden.