Der Code des verteilten Dateisystems TernFS ist jetzt verfĂŒgbar.

Das Unternehmen XTX Markets hat den Quellcode des Dateisystems TernFS veröffentlicht, das fĂŒr die Erstellung eines verteilten Speichers konzipiert wurde, der mehrere geografisch getrennte Rechenzentren abdeckt und in der Lage ist, bis zu Dutzende Exabyte an Daten, Billionen von Dateien und Hunderte von Milliarden von Verzeichnissen zu speichern, auf die Millionen von Kunden gleichzeitig zugreifen können. Der Projektcode ist in C++ und Go geschrieben und wird unter der GPLv2-Lizenz verbreitet. Die Protokollspezifikationen und die Client-Bibliotheken werden unter der Apache 2.0-Lizenz bereitgestellt.

Das Dateisystem ist optimiert fĂŒr Lasten, die typischerweise bei maschinellen Lernsystemen auftreten – es handelt sich um das Schreiben und Lesen von Dateien, die nach ihrer Erstellung nicht mehr verĂ€ndert werden und mehr als mehrere Megabyte Daten enthalten. Das Dateisystem ist nicht fĂŒr die hĂ€ufige Erstellung neuer Verzeichnisse und den stĂ€ndigen Transfer von Dateien zwischen Verzeichnissen ausgelegt. Es gibt Funktionen zur Wiederherstellung versehentlich gelöschter Dateien oder Verzeichnisse sowie zur Einrichtung von Richtlinien fĂŒr die vollstĂ€ndige und unwiderrufliche Löschung. Der Inhalt des Dateisystems kann zwischen mehreren Rechenzentren in verschiedenen Regionen repliziert werden. Die Speicherorte können verschiedene Speichertypen umfassen (auf der Basis von Festplatten und Flash-Speicher).

Eine der Anforderungen bei der Planung war die Vermeidung von Einzelpunkten des Ausfalls und die GewĂ€hrleistung einer hohen ZuverlĂ€ssigkeit des Speichers – NotstromausfĂ€lle dĂŒrfen nicht zu SchĂ€den am Dateisystem fĂŒhren, und Dateien dĂŒrfen nicht teilweise geschrieben werden (es sind nur vollstĂ€ndig geschriebene Dateien lesbar). Das System ist unempfindlich gegenĂŒber dem Ausfall einzelner SpeichergerĂ€te, der Knoten mit Metadaten und der Speicherknoten. Wartungsarbeiten am Speicher können durchgefĂŒhrt werden, ohne den Betrieb zu unterbrechen.

Die Implementierung des TernFS-basierten Speichers bei XTX Markets begann im Sommer 2023 nach anderthalb Jahren Entwicklung des Dateisystems. Mitte 2024 wurden alle maschinellen Lernsysteme von XTX Markets auf TernFS umgestellt. Derzeit besteht der Speicher aus ĂŒber 30.000 Festplatten und 10.000 Flash-Speichern, die in drei Rechenzentren untergebracht sind. Das gesamte Speichervolumen wird auf 500 Petabyte geschĂ€tzt, und die Spitzenleistung betrĂ€gt mehrere Petabyte pro Sekunde. Der Speicher wird in einem Cluster verwendet, das mehr als 100.000 Rechenknoten umfasst. In den zwei Jahren des Betriebs gab es keine VorfĂ€lle, die zu Datenverlust fĂŒhrten.

Zu den EinschrÀnkungen von TernFS gehören: Aufgenommene Dateien können nicht geÀndert werden; geringe Effizienz bei der Verarbeitung von Dateien kleiner als 2 MB; geringe Leistung bei der Erstellung und Löschung von Verzeichnissen; keine Aufteilung der Zugriffsrechte.

Die Komponenten, die den TernFS-Speichercluster bilden:

  • Metadatenknoten, die fĂŒr die Verwaltung der Informationen ĂŒber die Verzeichnisstruktur und die Dateiattribute verantwortlich sind.
  • Koordinierungsknoten (CDC - Cross-Directory Coordinator), die Transaktionen durchfĂŒhren, die verschiedene Verzeichnisse betreffen.
  • Speicherdienste, die die Speicherung von Dateiinhalten gewĂ€hrleisten.
  • Ein Register, das Informationen ĂŒber alle anderen Dienste enthĂ€lt und deren Betrieb ĂŒberwacht.
  • Kundenservices fĂŒr den Zugriff der Benutzer auf die FFS:
    • ternweb — Zugriff auf den Speicher ĂŒber die Web-API.
    • terncli — Befehlszeilen-Schnittstelle.
    • ternfs.ko — Modulkernel fĂŒr Linux, der es ermöglicht, den Speicher als lokale FFS zu mounten.
    • ternfuse — Implementierung eines Clients zur Arbeit mit der FFS, die das FUSE-System verwendet.
    • terns3 — Implementierung der Amazon S3 API.
  • Hintergrundprozesse:
    • GC — Garbage Collector, der abgelaufene Snapshots (gelöschte, aber nicht bereinigte Dateien) freigibt und Blöcke fĂŒr unwiderruflich gelöschte Dateien bereinigt.
    • scrubber — Erkennung von Datenverschlechterung und Wiederherstellung.
    • migrator — Ausschluss defekter Laufwerke aus dem Speicher.

Der Code des verteilten Dateisystems TernFS ist jetzt verfĂŒgbar.


Quelle: opennet.ru
Erwerben Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster