55
Parallele verteilte Dateisysteme Quellen Parallele verteilte Dateisysteme Hochleistungs-Ein-/Ausgabe Michael Kuhn Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg 2015-05-11 Michael Kuhn Parallele verteilte Dateisysteme 1 / 55

Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Parallele verteilte DateisystemeHochleistungs-Ein-/Ausgabe

Michael Kuhn

Wissenschaftliches RechnenFachbereich InformatikUniversität Hamburg

2015-05-11

Michael Kuhn Parallele verteilte Dateisysteme 1 / 55

Page 2: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

1 Parallele verteilte DateisystemeOrientierungKonzepteLeistungsüberlegungenLustreOrangeFSLeistungsanalyseAusblick und Zusammenfassung

2 Quellen

Michael Kuhn Parallele verteilte Dateisysteme 2 / 55

Page 3: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Orientierung

E/A-Schichten

Anwendung

Bibliotheken

Speichergerät/-verbund

Paralleles verteiltes Dateisystem

Dateisystem

Abbildung: E/A-Schichten

Michael Kuhn Parallele verteilte Dateisysteme 3 / 55

Page 4: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Definition

Parallele DateisystemeErlauben parallelen Zugriff auf gemeinsame RessourcenZugriff soll möglichst effizient erfolgen können

Verteilte DateisystemeDaten und Metadaten sind über mehrere Server verteiltEinzelne Server haben keine vollständige Sicht

Benennung uneinheitlichOft nur „paralleles Dateisystem“ oder „Clusterdateisystem“

Michael Kuhn Parallele verteilte Dateisysteme 4 / 55

Page 5: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Definition. . .

Im Hochleistungsrechnen werden üblicherweise immerparallele verteilte Dateisysteme eingesetzt

NFS nur für nicht leistungskritische Anwendungen

Lokale Dateisysteme erlauben auch parallelen ZugriffSperren z.B. via flock oder lockf

Michael Kuhn Parallele verteilte Dateisysteme 5 / 55

Page 6: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Definition. . .

Storage Area Network (SAN)Stellt nur Blockgeräte über das Netzwerk bereitDarauf kann beliebiges Dateisystem verwendet werdenParallele verteile Dateisysteme können SANs nutzen

Network Attached Storage (NAS)Abstrahiert von SpeichergerätenStellt direkt ein Dateisystem bereit

Üblicherweise NFS oder SMB

Michael Kuhn Parallele verteilte Dateisysteme 6 / 55

Page 7: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Grundlagen

Daten

Clients

Server

Datei

Abbildung: Paralleler Zugriff und Datenverteilung

Clients greifen parallel auf eine gemeinsame Datei zuDatei ist über mehrere Server und Speichergeräte verteilt

Hoher Durchsatz und hohe Kapazität

Michael Kuhn Parallele verteilte Dateisysteme 7 / 55

Page 8: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Architektur

Ne�werk

Clients

Server

Abbildung: Paralleles verteiltes Dateisystem

Michael Kuhn Parallele verteilte Dateisysteme 8 / 55

Page 9: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Architektur. . .

Clients und ServerClients führen parallele Anwendungen ausHaben über das Netzwerk Zugriff auf DateisystemÜblicherweise kein lokaler Speicher und kein direkterZugriff auf SpeichergeräteKeine gegenseitige Beeinflussung

Daten- und Metadatenserver„Einfache“ Controller oder vollwertige ServerUnterschiedliche Server für Daten und Metadaten

Produzieren unterschiedliche Zugriffsmuster

Michael Kuhn Parallele verteilte Dateisysteme 9 / 55

Page 10: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Architektur. . .

Unterschiedliche KommunikationsansätzeClients kennen zuständigen Server (verbreiteter)Clients kontaktieren einen zufälligen Server

Unterschiedliche SerververhaltenServer teilen Clients zuständigen Server mitServer leiten Anfrage transparent weiter

In beiden Fällen Vor- und Nachteile

Michael Kuhn Parallele verteilte Dateisysteme 10 / 55

Page 11: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Architektur. . .

Clients kennen zuständigen ServerVorteile: Einfaches Kommunikationsprotokoll (eins zu eins),keine Kommunikation zwischen ServernNachteile: Verteilungslogik muss von Clients implementiertwerden, zusätzliche clientseitige Informationen notwendig

Clients kontaktieren einen zufälligen ServerVorteile: Clients müssen Daten-/Metadatenverteilung nichtkennen, Last-Balancierung einfacher umzusetzenNachteile: Zugriffe erfordern zusätzliche Nachrichten,komplexeres Kommunikationsprotokoll

Michael Kuhn Parallele verteilte Dateisysteme 11 / 55

Page 12: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Schnittstelle

Zugriff auf das Dateisystem über E/A-SchnittstelleÜblicherweise standardisiertProprietäre für mehr Funktionen und Leistung

Schnittstelle besteht aus Syntax und SemantikSyntax legt verfügbare Operation festSemantik legt Verhalten der Operationen fest

Häufig POSIX-SchnittstelleStandardisiert und portabel

Michael Kuhn Parallele verteilte Dateisysteme 12 / 55

Page 13: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Schnittstelle. . .

Parallele Anwendung

NetCDF

Lustre

Abbildung: E/A-Stack aus Anwendungssicht

Anwendungen nutzen höher abstrahierende SchnittstellenNetCDF bietet selbst-beschreibendes Datenformat

Paralleles verteiltes Dateisystem kümmert sich umeffizienten Zugriff und Verteiltung

Michael Kuhn Parallele verteilte Dateisysteme 13 / 55

Page 14: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Semantik

POSIX hat strenge KonsistenzanforderungenÄnderungen müssen nach write global sichtbar seinE/A soll atomar geschehen

POSIX für lokale DateisystemeAnforderungen dort einfach zu unterstützenAlles über das VFS abgewickelt

Kleinigkeiten änderbarstrictatime, relatime und noatime für Verhaltenbezüglich Zugriffszeitstempelposix_fadvise für Ankündigung des Zugriffsmusters

Michael Kuhn Parallele verteilte Dateisysteme 14 / 55

Page 15: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Semantik. . .

Gegensatz: Network File System (NFS)Selbe Syntax, deutlich unterschiedliche Semantik

Sogenannte SitzungssemantikÄnderung für andere Clients nicht sichtbar

Nur innerhalb der Sitzung

Für andere Clients erst nach deren Endeclose schreibt Änderungen und liefert eventuelle Fehler

Später: MPI-IOWeniger strikt für höhere Skalierbarkeit

Michael Kuhn Parallele verteilte Dateisysteme 15 / 55

Page 16: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Realität

Parallele Anwendung

NetCDF

MPI-IO

Speichergerät/-verbund

ADIO

HDF5

Lustre

ldiskfs

Kernel-Space

User-Space

Abbildung: E/A-Stack im HPC

DatenumwandlungTransport durch alleSchichtenVerlust von Information

Komplexes ZusammenspielOptimierungen undWorkarounds pro SchichtInformationen über andereSchichten

Komfort vs. LeistungStrukturierte Daten inAnwendungBytestrom in POSIX

Michael Kuhn Parallele verteilte Dateisysteme 16 / 55

Page 17: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Realität. . .

Abstraktion

Hoch

Niedrig

~wwwwwwww�

Schnittstelle Datentypen Kontrolle

NetCDF Strukturen Grobgranular

MPI-IO Elemente

POSIX Bytes Feingranular

Abbildung: Abstraktionsstufen

Hohe Abstraktion bietet viel Komfort aber wenig Kontrolle

Niedrige Abstraktion erlaubt genaues Tuning

Michael Kuhn Parallele verteilte Dateisysteme 17 / 55

Page 18: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Konzepte

Beispiele

GPFS (IBM)

Lustre

OrangeFS (früher PVFS)

CephFS (Red Hat)

BeeGFS (Fraunhofer, früher FhGFS)

GlusterFS (Red Hat)

Michael Kuhn Parallele verteilte Dateisysteme 18 / 55

Page 19: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsüberlegungen

Generelles

E/A ist im Vergleich zu Berechnung teuerKontextwechsel, langsame Speichergeräte etc.

Parallele verteilte Dateisystem müssen E/A über dasNetzwerk abwickeln

Einschränkungen bezüglich Durchsatz und Latenz

Neuartige Konzepte wie Burst-BufferNehmen Daten temporär aufGleichförmiges Weiterreichen an DateisystemZ.B. knoten-lokale nichtflüchtige Speicher (NVRAM)

Michael Kuhn Parallele verteilte Dateisysteme 19 / 55

Page 20: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsüberlegungen

Daten

Daten werden potentiell von mehreren Clients zugegriffenÜberlappend vs. nicht überlappendLesezugriffe meist unproblematisch

Überlappende SchreibzugriffeStark abhängig von der E/A-SemantikBenötigt üblicherweise SperrenDaher häufig verteilte Sperrenverwaltung

Michael Kuhn Parallele verteilte Dateisysteme 20 / 55

Page 21: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsüberlegungen

Daten. . .

Datenverteilung relevant für LeistungAnzahl der zu kontaktierenden DatenserverRealisiert über Verteilungsfunktionen

Üblicherweise simples Round-RobinManchmal durch Benutzer steuerbarZ.B. zur Unterstützung heterogener Zugriffsmuster

Michael Kuhn Parallele verteilte Dateisysteme 21 / 55

Page 22: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsüberlegungen

Daten. . .

Blöcke

Server

Streifen

B1B0 B5 B6B3 B4B2 B7

B1

B7B5 B6

B3B2B0B4

Abbildung: Round-Robin-Datenverteilung

Datei aus Blöcken, wird in Streifen auf Server verteiltIn diesem Fall entspricht Blockgröße der Streifengröße

Verteiltung muss nicht auf dem ersten Server starten

Michael Kuhn Parallele verteilte Dateisysteme 22 / 55

Page 23: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsüberlegungen

Metadaten

Metadaten werden von mehreren Clients zugegriffenLesezugriffe üblicherweise wieder unproblematischParallele Änderungen an Größe, Zeitstempel etc.

Metadaten für eine Datei von einem Server verwaltetAktualisierungen daher meist auch seriell

Potentiell mehrere Millionen ClientsDDoS durch Clients auf Metadatenserver

Michael Kuhn Parallele verteilte Dateisysteme 23 / 55

Page 24: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsüberlegungen

Metadaten. . .

Verteilte Ansätze zur MetadatenverwaltungVeränderliche Metadaten nicht zentral speichern

Z.B. Größe und ZeitstempelBerechnung zur Laufzeit

Client kontaktiert alle relevanten DatenserverAktualisierung auf Kosten der Abfrage beschleunigt

Metadatenverteilung analog zu DatenverteilungBestimmung des Servers z.B. durch Hashing des PfadesMuss üblicherweise deterministisch sein

Clients müssen autonom zuständige Server ermitteln könnenEin Objekt üblicherweise von einem Server verwaltet

Neuerdings Ausnahmen bei Verzeichnissen

Michael Kuhn Parallele verteilte Dateisysteme 24 / 55

Page 25: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsüberlegungen

Metadaten. . .

Viele Metadatenoperationen sind inhärent seriellZ.B. Pfadauflösung

1 /foo/bar1 Inode des Wurzelverzeichnisses lesen2 Zugriffsrechte überprüfen3 Wurzelverzeichnis lesen und nach foo durchsuchen

2 /foo/bar1 Inode des Verzeichnisses lesen2 Zugriffsrechte überprüfen3 Verzeichnis lesen und nach bar durchsuchen

3 /foo/bar1 Inode der Datei lesen2 Zugriffsrechte überprüfen3 Auf Datei zugreifen

Michael Kuhn Parallele verteilte Dateisysteme 25 / 55

Page 26: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsüberlegungen

Metadaten. . .

Technologie Gerät IOPS

HDD7.200 RPM 75–10010.000 RPM 125–15015.000 RPM 175–210

SSDIntel X25-M G2 8.600OCZ Vertex 4 85.000–90.000

Fusion-io ioDrive Octal 1.000.000+

Tabelle: IOPS für ausgewählte HDDs und SSDs [1]

Getrennte Server erlauben gezielte OptimierungZ.B. Festplatten für Daten, Flashspeicher für MetadatenUnterschiedliche Preise (Faktor ≥ 10)Metadaten machen ca. 5 % der Gesamtdaten aus

Michael Kuhn Parallele verteilte Dateisysteme 26 / 55

Page 27: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsüberlegungen

Leistungsgrößen

Parallele verteilte Dateisysteme erlauben riesige undhochperformante SpeichersystemeBlizzard (DKRZ, GPFS)

Größe: 7 PBDurchsatz: 30 GB/s

Mistral (DKRZ, Lustre)Größe: 50 PBDurchsatz: 400 GB/sIOPS: 80.000 Operationen/s

Titan (ORNL, Lustre)Größe: 40 PBDurchsatz: 1,4 TB/s

Michael Kuhn Parallele verteilte Dateisysteme 27 / 55

Page 28: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Lustre

Übersicht

Eines der bekanntesten parallelen verteilten DateisystemenOpen Source (GPLv2)

> 550.000 Zeilen Code

Unterstützung für LinuxName abgeleitet von Linux und Cluster

Sehr weit verbreitetMehr als die Hälfte der TOP100Mehr als ein Drittel der TOP500

Michael Kuhn Parallele verteilte Dateisysteme 28 / 55

Page 29: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Lustre

Geschichte

1999: EntwicklungsbeginnForschungsprojekt an der Carnegie Mellon University,geleitet von Peter Braam

2001: Gründung Cluster File Systems2007: Kauf durch Sun

Integration in HPC-HardwareKombination mit ZFS

2010: Kauf durch OracleEinstellung der Entwicklung

Weiterentwicklung durch CommunityIntel (ehemals Whamcloud), Seagate (ehemals Xyratex),OpenSFS, EOFS etc.

Michael Kuhn Parallele verteilte Dateisysteme 29 / 55

Page 30: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Lustre

Geschichte. . .

Version 2.3 (Oktober 2012)Experimentelle Unterstützung für ZFS

Version 2.4 (Mai 2013)Distributed Namespace (DNE)ZFS für Daten und Metadaten

Version 2.5 (Oktober 2013)Hierarchical Storage Management (HSM)

Version 2.6 (Juli 2014)Experimentelle Unterstützung für verteilte Verzeichnisse

Aktuell Version 2.7 (März 2015)

Michael Kuhn Parallele verteilte Dateisysteme 30 / 55

Page 31: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Lustre

Geschichte. . .

1 $ lfs mkdir --index 0 /lustre/home2 $ lfs mkdir --index 1 /lustre/scratch

Listing 1: DNE in Lustre

DNE erlaubt unterschiedliche Verzeichnisse aufunterschiedliche Metadatenserver zu verteilen

/scratch für große Dateien/home üblicherweise mit vielen kleineren

Statischer Ansatz, manuelle Konfiguration

Michael Kuhn Parallele verteilte Dateisysteme 31 / 55

Page 32: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Lustre

Architektur

Ne�werk

Clients

MDSsMDTs

OSSsOSTs

Abbildung: Lustre-Architektur

Michael Kuhn Parallele verteilte Dateisysteme 32 / 55

Page 33: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Lustre

Architektur. . .

Object Storage Servers (OSSs)Verwalten DatenObjekt-basierter Zugriff auf Byte-EbeneEin oder mehrere Object Storage Targets (OSTs)

Metadata Servers (MDSs)Verwalten MetadatenNicht in eigentliche E/A involviertEin oder mehrere Metadata Targets (MDTs)

Michael Kuhn Parallele verteilte Dateisysteme 33 / 55

Page 34: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Lustre

Architektur. . .

Daten- und Metadatenserver nutzen darunter liegendeslokales Dateisystem

Üblicherweise ldiskfs (ext4-Fork)Alternativ ZFS (Data Management Unit)

Dadurch kein POSIX-Overhead

Kein direkter Zugriff auf Speichergeräte durch ClientsClients senden Anfragen an ServerServer führen Operationen durchServer schicken Ergebnisse an Clients

Michael Kuhn Parallele verteilte Dateisysteme 34 / 55

Page 35: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Lustre

Architektur. . .

Ne�werk

Clients

MDSMDTs

OSSsOSTs

(a) Metadatenzugriff

Ne�werk

Clients

MDSMDTs

OSSsOSTs

(b) Datenzugriff

Metadatenserverzugriff nur für initiales ÖffnenDanach direkter paralleler Zugriff auf Datenserver

Michael Kuhn Parallele verteilte Dateisysteme 35 / 55

Page 36: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Lustre

Unterstützung

Lustre ist ein Kernel-DateisystemSowohl Client als auch Server

Client unterstützt (relativ) aktuelle KernelSeit 3.12 direkt in den Kernel integriert (aber veraltet)Unterstützung neuer Kernel dauert manchmal eine Weile

Server unterstützt nur ausgewählte Enterprise-KernelZ.B. Red Hat Enterprise Linux (oder CentOS)Hauptsächlich verursacht durch ldiskfsMit ZFS auch Unterstützung des Standard-Kernels

Michael Kuhn Parallele verteilte Dateisysteme 36 / 55

Page 37: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Lustre

Funktionalität

Verteilte SperrenverwaltungSowohl für Daten als auch MetadatenÜberlappende Lesesperren und nicht-überlappendeSchreibsperren auf Byte-EbeneMountoptionen flock bzw. localflock

POSIX-konformPOSIX-Schnittstelle durch VFSKeine native Unterstützung für MPI-IO

Michael Kuhn Parallele verteilte Dateisysteme 37 / 55

Page 38: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Lustre

Funktionalität. . .

Hierarchical Storage ManagementWichtige Anforderung für große SpeichersystemeUnterstützt mehrere „Tiers“

Festplatten, Tapes etc.

Metadaten werden weiterhin durch Lustre verwaltetDaten werden transparent in andere Tiers verschoben

HochverfügbarkeitUnterstützung von Failover-MechanismenAktiv/Passiv- und Aktiv/Aktiv-Konfigurationen

Michael Kuhn Parallele verteilte Dateisysteme 38 / 55

Page 39: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Lustre

Funktionalität. . .

Server

Target

Server

Target

Abbildung: Aktiv/Aktiv-Failover-Konfiguration

Server können jeweils Rolle des anderen übernehmenKann für unterbrechungsfreie Upgrades genutzt werden

Michael Kuhn Parallele verteilte Dateisysteme 39 / 55

Page 40: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

OrangeFS

Überblick

Open Source (LGPL)> 250.000 Zeilen Code

Entwicklung durch Clemson University, Argonne NationalLaboratory und OmnibondWeiterentwicklung von PVFS

2007: Start als Entwicklungszweig2010: Ersetzt PVFS als Hauptversion

Michael Kuhn Parallele verteilte Dateisysteme 40 / 55

Page 41: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

OrangeFS

Funktionalität

Verteilte Metadaten und VerzeichnisseVerteilte Verzeichnisse seit Version 2.9

Läuft komplett im User-SpaceSehr gute MPI-IO-Unterstützung

Natives Backend in ROMIO

Unterstützung für POSIX-SchnittstelleFUSE-DateisystemOptionales Kernelmodul

Michael Kuhn Parallele verteilte Dateisysteme 41 / 55

Page 42: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

OrangeFS

Funktionalität. . .

OrangeFS ist nicht POSIX-konformGarantiert atomare Ausführung nicht-zusammenhängenderund nicht-überlappender ZugriffeBezieht sich auf Lese- und SchreiboperationenUnterstützt somit (nicht-atomares) MPI-IO

Ausreichend für viele AnwendungsfälleStriktere Semantik allerdings nicht unterstütztMPI-IO-Atomic-Modus mangels Sperren nicht verfügbar

Michael Kuhn Parallele verteilte Dateisysteme 42 / 55

Page 43: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsanalyse

Lustre

0

200

400

600

800

1,000

1,2001/1 1/2 1/4 1/8 1/12 2/24 3/36 4/48 5/60 6/72 7/84 8/96 9/108 10/120

Les

en

0

200

400

600

800

1,000

1/1 1/2 1/4 1/8 1/12 2/24 3/36 4/48 5/60 6/72 7/84 8/96 9/108 10/120

Du

rch

sa�

[M

iB/s

]

Sch

reib

en

Konfiguration (Knoten/Prozesse)

4 KiB 16 KiB 64 KiB 256 KiB 1,024 KiB

Abbildung: Lustre mit prozess-lokalen Dateien

Michael Kuhn Parallele verteilte Dateisysteme 43 / 55

Page 44: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsanalyse

Lustre. . .

0

200

400

600

800

1,000

1,2001/1 1/2 1/4 1/8 1/12 2/24 3/36 4/48 5/60 6/72 7/84 8/96 9/108 10/120

Les

en

0

200

400

600

800

1,000

1/1 1/2 1/4 1/8 1/12 2/24 3/36 4/48 5/60 6/72 7/84 8/96 9/108 10/120

Du

rch

sa�

[M

iB/s

]

Sch

reib

en

Konfiguration (Knoten/Prozesse)

4 KiB 16 KiB 64 KiB 256 KiB 1,024 KiB

Abbildung: Lustre mit gemeinsamer Datei

Michael Kuhn Parallele verteilte Dateisysteme 44 / 55

Page 45: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsanalyse

Lustre. . .

Lustre hochoptimiert für viele parallele ClientsKein Leistungseinbruch mit wachsender Clientzahl

Allerdings nur für prozess-lokale DateienGemeinsame Dateien skalieren nichtAuswirkung der POSIX-Einschränkungen

Diverse OptimierungenAggregiert Schreibzugriffe im HauptspeicherFührt Readahead durch

Michael Kuhn Parallele verteilte Dateisysteme 45 / 55

Page 46: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsanalyse

OrangeFS

0

200

400

600

800

1,000

1,2001/1 1/2 1/4 1/8 1/12 2/24 3/36 4/48 5/60 6/72 7/84 8/96 9/108 10/120

Les

en

0

200

400

600

800

1,000

1/1 1/2 1/4 1/8 1/12 2/24 3/36 4/48 5/60 6/72 7/84 8/96 9/108 10/120

Du

rch

sa�

[M

iB/s

]

Sch

reib

en

Konfiguration (Knoten/Prozesse)

4 KiB 16 KiB 64 KiB 256 KiB 1,024 KiB

Abbildung: OrangeFS mit prozess-lokalen Dateien

Michael Kuhn Parallele verteilte Dateisysteme 46 / 55

Page 47: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsanalyse

OrangeFS. . .

0

200

400

600

800

1,000

1,2001/1 1/2 1/4 1/8 1/12 2/24 3/36 4/48 5/60 6/72 7/84 8/96 9/108 10/120

Les

en

0

200

400

600

800

1,000

1/1 1/2 1/4 1/8 1/12 2/24 3/36 4/48 5/60 6/72 7/84 8/96 9/108 10/120

Du

rch

sa�

[M

iB/s

]

Sch

reib

en

Konfiguration (Knoten/Prozesse)

4 KiB 16 KiB 64 KiB 256 KiB 1,024 KiB

Abbildung: OrangeFS mit gemeinsamer Datei

Michael Kuhn Parallele verteilte Dateisysteme 47 / 55

Page 48: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsanalyse

OrangeFS. . .

OrangeFS ist optimiert für nicht-konfligierende ZugriffeDadurch keine Sperren notwendigHohe Leistung auch bei gemeinsamen Dateien

Leistungsprobleme durch darunter liegendes Dateisystem

Außerdem geringe Metadatenleistung

Michael Kuhn Parallele verteilte Dateisysteme 48 / 55

Page 49: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsanalyse

Lustre

0

5,000

10,000

15,000

20,000

25,000

30,000

35,000

40,000

45,000

1/1 1/2 1/4 1/8 1/12 2/24 3/36 4/48 5/60 6/72 7/84 8/96 9/108 10/120

Du

rch

sa�

[O

per

atio

nen

/s]

Konfiguration (Knoten/Prozesse)

Create Delete Open Stat

Abbildung: Lustre mit prozess-lokalen Verzeichnissen

Michael Kuhn Parallele verteilte Dateisysteme 49 / 55

Page 50: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsanalyse

Lustre. . .

0

5,000

10,000

15,000

20,000

25,000

30,000

35,000

40,000

45,000

1/2 1/4 1/8 1/12 2/24 3/36 4/48 5/60 6/72 7/84 8/96 9/108 10/120

Du

rch

sa�

[O

per

atio

nen

/s]

Konfiguration (Knoten/Prozesse)

Create Delete Open Stat

Abbildung: Lustre mit gemeinsamem Verzeichnis

Michael Kuhn Parallele verteilte Dateisysteme 50 / 55

Page 51: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Leistungsanalyse

Lustre. . .

Deutliche unterschiede zwischen prozess-lokalen undgemeinsamen Verzeichnissen

Passable Leistung für DateierzeugungLeistungsprobleme beim Öffnen und Löschen

Interessanterweise ist Öffnen langsamer als Erzeugen

Michael Kuhn Parallele verteilte Dateisysteme 51 / 55

Page 52: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Ausblick und Zusammenfassung

Ausblick

E/A-Bibliotheken bieten Komfortfunktionen auf Basis vonparallelen verteilen Dateisystemen

Z.B. selbst-beschreibende Daten mit NetCDF und HDF

Semantiken haben großen Einfluss auf erreichbare LeistungForschungsthema: Dynamisch anpassbare Semantiken

Michael Kuhn Parallele verteilte Dateisysteme 52 / 55

Page 53: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Ausblick und Zusammenfassung

Zusammenfassung

Parallele verteilte Dateisysteme bieten gleichzeitigenZugriff für viele Clients

Skalierbarer gleichzeitiger Zugriff schwierigVerteilen außerdem Daten und Metadaten für erhöhtenDurchsatz und Kapazität

Üblicherweise Aufteilung in Daten- und MetadatenserverZugriff über E/A-Schnittstelle

Häufig POSIX oder MPI-IO

Wichtige Vertreter sind Lustre und GPFSOrangeFS bietet alternativen Ansatz

Michael Kuhn Parallele verteilte Dateisysteme 53 / 55

Page 54: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

1 Parallele verteilte DateisystemeOrientierungKonzepteLeistungsüberlegungenLustreOrangeFSLeistungsanalyseAusblick und Zusammenfassung

2 Quellen

Michael Kuhn Parallele verteilte Dateisysteme 54 / 55

Page 55: Parallele verteilte Dateisysteme - Hochleistungs-Ein-/Ausgabe€¦ · HDD 7.200RPM 75–100 10.000RPM 125–150 15.000RPM 175–210 SSD Intel X25-M G2 8.600 OCZ Vertex 4 85.000–90.000

Parallele verteilte Dateisysteme Quellen

Quellen I

[1] Wikipedia. IOPS. http://en.wikipedia.org/wiki/IOPS.

Michael Kuhn Parallele verteilte Dateisysteme 55 / 55