Clusterfile

Paralleles verteiltes Dateisystem

Kurzbeschreibung

 

Clusterfile ist ein paralleles Dateisystem für Rechnerbündel. Das Jahr 2002 war geprägt von einer Verbreiterung des Anwendungsgebietes. Der frühere Entwurf zielte darauf ab die interne Parallelität der Anwendungen effizient auszunutzen. Interne Parallelität entsteht durch den E/A Zugriff mehrerer Prozesse die zu der selben Anwendung gehören. Im Gegensatz dazu tritt externe Parallelität bei gleichzeitigen Zugriff verschiedener Anwendungen auf. Die Erweiterungen sprechen diese externe Parallelität an, indem nicht nur anwendungsspezifische, sondern auch systemweite Optimierungen eingeführt werden.

Das Dateisystem ist zu einem Teil auf der Benutzer-Ebene und zum anderen Teil im Kern des Betriebsystems Linux implementiert. Mittels eines Kern-Moduls, das die VFS (Virtual File System) Schnittstelle unterstützt, lässt sich Clusterfile in dem lokalen Verzeichnisbaum jedes Knoten montieren. Die Metadaten werden durch Kooperation des Kern-Moduls mit einem zentralen Manager verwaltet. Es wurden kollektive E/A-Operationen eingeführt, um gleichzeitige Zugriffe von mehreren Rechenknoten auf dieselbe Datei zu optimieren. Darüber hinaus wurde eine MPI-IO Schnittstelle für Clusterfile implementiert, die zur Zeit mit anderen MPI-IO-Implementierungen verglichen wird.

In Zukunft planen wir die Performanz und Skalierbarkeit der Anwendungen durch Einführung von kooperativem Caching zu erhöhen. Diese Erweiterung soll in Zusammenarbeit mit dem Teilprojekt Skalierbare Dienste auf Rechnerbündeln durchgeführt werden. Darüber hinaus soll auch die Skalierbarkeit bei der Verwaltung der Metadaten durch die Dezentralisierung verbessert werden. Wir untersuchen zur Zeit mögliche Verfahren, wie zum Beispiel die Verteilung oder die Replikation der Metadaten auf den Rechenknoten der Rechnerbündels.