Allgemeine Einführung
3FS (Fire-Flyer File System) ist ein paralleles Open-Source-Dateisystem, das vom DeepSeek-Team entwickelt wurde. Es wurde für moderne SSDs und RDMA-Netzwerke konzipiert und zielt darauf ab, die Effizienz des Datenzugriffs drastisch zu verbessern. Es erreicht einen aggregierten Lesedurchsatz von 6,6 TiB/s und eine Schreibgeschwindigkeit von 3,66 TiB/min in einem Cluster mit 180 Knoten und beweist damit eine erstaunlich hohe Leistung. Als eines der Ergebnisse der DeepSeek Open Source Week ist 3FS nicht nur ein Produkt technologischer Innovation, sondern spiegelt auch das Engagement des Teams für den Austausch mit der Gemeinschaft wider. Es stellt das traditionelle festplattenorientierte Design eines verteilten Dateisystems auf den Kopf, ist für moderne Hardwareeigenschaften optimiert und eignet sich für groß angelegte Rechenszenarien, die eine effiziente Datenverarbeitung erfordern, wie z. B. KI-Training und Big-Data-Analyse. Sowohl Entwickler als auch Unternehmensanwender können über GitHub auf den Quellcode zugreifen und ihn frei einsetzen und anpassen.
Funktionsliste
- Datenzugriff mit hohem DurchsatzUnterstützt 6,6 TiB/s Lese- und 3,66 TiB/min Schreibzugriff, wobei die SSD- und RDMA-Netzwerkbandbreite voll genutzt wird.
- ParallelverarbeitungsfähigkeitErmöglicht die Zusammenarbeit mehrerer Knoten, um die Effizienz der Datenverarbeitung in großen Clustern zu verbessern.
- Moderne Hardware-OptimierungTiefgreifende Anpassung an SSDs und RDMA-Netzwerke, wodurch der Leistungsengpass herkömmlicher Dateisysteme durchbrochen wird.
- Open Source AnpassbarVollständiger Quellcode wird zur Verfügung gestellt, so dass die Benutzer die Funktionalität nach ihren Bedürfnissen verändern und erweitern können.
- Sofort einsatzbereite Produktionsumgebung: Produktionsvalidiert durch das DeepSeek-Team und kann direkt in realen Geschäftsszenarien eingesetzt werden.
Hilfe verwenden
Beschaffungs- und Installationsprozess
Da es sich bei 3FS um ein Open-Source-Projekt handelt, ist für den Einsatz ein gewisses technisches Hintergrundwissen erforderlich. Im Folgenden finden Sie eine ausführliche Anleitung zur Installation und Nutzung, die den Benutzern einen schnellen Einstieg ermöglicht.
1. der Zugang zum Quellcode
- Öffnen Sie Ihren Browser und besuchen Sie https://github.com/deepseek-ai/3FS.
- Klicken Sie auf die Schaltfläche "Code" in der oberen rechten Ecke der Seite und wählen Sie "ZIP herunterladen", um die ZIP-Datei herunterzuladen, oder verwenden Sie den Git-Befehl, um das Repository zu klonen:
git clone https://github.com/deepseek-ai/3FS.git
- Sobald der Download abgeschlossen ist, entpacken Sie die Datei in ein lokales Verzeichnis, zum Beispiel
/home/benutzer/3FS
.
2. die Vorbereitung der Umwelt
3FS ist auf moderne Hardware (SSDs und RDMA-Netzwerke) und eine Linux-Umgebung angewiesen, um ausgeführt werden zu können. Stellen Sie sicher, dass Ihr System die folgenden Bedingungen erfüllt:
- BetriebssystemUbuntu 20.04 oder höher ist die empfohlene Linux-Distribution.
- Hardware-VoraussetzungServer-Cluster, die NVMe-SSDs und RDMA-Netzwerke wie InfiniBand oder RoCE unterstützen.
- Software-abhängigGrundlegende Kompilierungswerkzeuge wie Git, GCC, Make usw. müssen installiert werden. Sie können den folgenden Befehl ausführen, um sie zu installieren:
sudo apt update sudo apt install git gcc make
3. kompilieren und installieren
- Gehen Sie zum Verzeichnis 3FS:
cd /home/Benutzer/3FS
- Prüfen Sie, ob es zusätzliche Beschreibungen der Abhängigkeiten gibt (normalerweise in der Datei
README.md
), falls vorhanden, installieren Sie es gemäß der Dokumentation. - Kompilieren Sie den Quellcode:
machen.
- Nach erfolgreicher Kompilierung installieren Sie es auf dem System:
sudo make install
Sobald die Installation abgeschlossen ist, werden die ausführbaren 3FS-Dateien und die Konfigurationsdateien im Standardpfad des Systems bereitgestellt (normalerweise im
/usr/local/bin
).
4. die Konfiguration des Clusters
- Bearbeiten Sie die Konfigurationsdatei (die sich standardmäßig im Verzeichnis
Konfiguration
Verzeichnis, zum Beispiel3fs.conf
), setzen Sie die Clusterknoten-Informationen:- Geben Sie die IP-Adresse des Knotens an, zum Beispiel
node1=192.168.1.10
. - Konfigurieren Sie den SSD-Speicherpfad, zum Beispiel
speicher_pfad=/dev/nvme0n1
. - Legen Sie die RDMA-Netzwerkparameter fest, um eine ordnungsgemäße Kommunikation zwischen den Knoten zu gewährleisten.
- Geben Sie die IP-Adresse des Knotens an, zum Beispiel
- Nachdem Sie die Konfiguration gespeichert haben, starten Sie den Dienst auf jedem Knoten:
3fs --config /pfad/zu/3fs.conf
5. die Überprüfung der Installation
- Prüfen Sie den Status des Dienstes:
3fs --status
- Wenn eine Meldung wie "3FS running on 180 nodes" zurückgegeben wird, war die Bereitstellung erfolgreich.
Hauptfunktionen
Datenzugriff mit hohem Durchsatz
- Einbinden eines Dateisystems: Führen Sie den folgenden Befehl auf dem Client aus, um 3FS in ein lokales Verzeichnis zu mounten:
mount -t 3fs /pfad/zu/speicher /mnt/3fs
- Daten abrufenDirekte Verwendung
Katze
vielleichtcp
um z.B. eine Datei zu lesen:cat /mnt/3fs/große_datei.txt
Das System extrahiert automatisch und parallel Daten von mehreren Knotenpunkten mit einer Geschwindigkeit von bis zu 6,6 TiB/s.
- Daten schreibenKopieren von Dateien in das Mount-Verzeichnis:
cp große_datei.txt /mnt/3fs/
Schreibgeschwindigkeit bis zu 3,66 TiB/min.
Parallelverarbeitung
- In einer Umgebung mit mehreren Knoten weist 3FS die Datenaufgaben automatisch zu. Die Benutzer müssen nicht manuell eingreifen, sondern lediglich sicherstellen, dass die Anwendung parallele E/A unterstützt (z. B. Hadoop oder MPI-Programme).
- Beispiel für einen parallelen Leistungstest:
dd if=/dev/zero of=/mnt/3fs/testfile bs=1G count=10
Beobachten Sie, ob der Durchsatz in der Nähe des erwarteten Wertes liegt.
kundenspezifische Entwicklung
- Ändern Sie den Quellcode: Gehen Sie zu
src
Verzeichnis, um C/C++-Dateien zu bearbeiten. Passen Sie zum Beispiel die Puffergröße an, um sie für eine bestimmte Arbeitslast zu optimieren. - Neu kompilieren:
make clean && make
- Stellen Sie die geänderte Version bereit:
sudo make install
caveat
- Hardware-KompatibilitätVergewissern Sie sich, dass alle Knoten RDMA und NVMe unterstützen, da es sonst zu Leistungseinbußen kommen kann.
- Netzwerk-KonfigurationDie Firewall muss die RDMA-bezogenen Ports öffnen (z. B. standardmäßig 4791), um Kommunikationsunterbrechungen zu vermeiden.
- Hinweis auf die DokumentationWenn Sie Probleme bei der Installation haben, schauen Sie auf der GitHub-Seite für das
README.md
Oder senden Sie uns ein Problem für Hilfe.
Mit den oben genannten Schritten können Benutzer 3FS schnell aufbauen und verwenden, um die effizienten Datenzugriffsfunktionen zu erleben. Ob KI-Training oder Big-Data-Verarbeitung, 3FS kann eine starke Unterstützung bieten.
Rückblickend auf die Veröffentlichung dieser Woche hat DeepSeek ein komplettes Technologiepaket für große Modelle entwickelt:
-
- Tag 1 - FlashMLAEfficient MLA decoding kernel optimized for variable-length sequence processing -
- Tag 2 - DeepEPErste quelloffene Bibliothek für parallele Expertenkommunikation zur Unterstützung des Trainings und der Inferenz von MoE-Modellen -
- Tag 3 - DeepGEMMFP8 GEMM-Bibliothek, die dichte und MoE-Berechnungen unterstützt -
- Tag 4 - Strategien für paralleles RechnenEnthält DualPipe, einen bidirektionalen parallelen Pipeline-Algorithmus und EPLB, einen Expert Parallel Load Balancer. -
- Tag 5 - 3FS und SmallpondHochleistungsfähige Infrastruktur für Datenspeicherung und -verarbeitung