Die BeeGFS-Speicherlösung, die für die Bereitstellung eines leistungsfähigen Scratch-Dateisystems entwickelt wurde, verwendet die folgenden Hardwarekomponenten:
Der Managementserver führt den BeeGFS-Überwachungsservice aus. Der Metadatenserver verwendet die 12 Laufwerke in der NUMA 0-Zone, um die MetaData Targets (MDTs) zu hosten, während die verbleibenden 12 Laufwerke in der NUMA 1-Zone die Speicherziele (STs) hosten. Ein dedizierter Metadatenserver wird nicht verwendet, da die Speicherkapazitätsanforderungen für BeeGFS-Metadaten sehr gering sind. Die Metadaten- und Speicherziele und -services werden auf separaten NUMA-Nodes isoliert, sodass eine erhebliche Trennung von Workloads hergestellt wird. Die in der Konfiguration verwendeten Speicherserver verfügen über drei Speicherservices, die pro NUMA-Zone ausgeführt werden, insgesamt sechs pro Server. Weitere Informationen finden Sie im Ankündigungsblog. Abbildung 1 zeigt die beiden Basiskonfigurationen, die im Dell EMC HPC and AI Innovation Lab getestet und validiert wurden.
Abbildung 1: Basiskonfigurationen
Die kleine Konfiguration besteht aus drei R740xd-Servern. Es verfügt insgesamt über 15 Speicherziele. Die mittlere Konfiguration verfügt über 6XR740xd-Server und insgesamt 33 Speicherziele. Der Benutzer kann mit einer "kleinen" Konfiguration oder mit der Konfiguration "Mittel" beginnen und Speicher- oder Metadatenserver nach Bedarf hinzufügen, um den Speicherplatz und die Gesamtleistung oder die Anzahl der Dateien und Metadatenperformance zu erhöhen. Tabelle 1 zeigt die Leistungsdaten für die Basiskonfigurationen, die im Dell EMC HPC and AI Innovation Lab umfassend getestet und validiert wurden.
Basiskonfiguration | Klein | Mittel | |
---|---|---|---|
Gesamt-U (MDS+SS) | 6U | 12 HE | |
Anzahl der dedizierten Speicherserver | 2 | 5 | |
Anzahl der NVMe-Laufwerke für die Datenspeicherung | 60 | 132 | |
Geschätzter nutzbarer Speicherplatz | 1,6 TB | 86 TiB | 190 TiB |
3,2 TB | 173 TiB | 380 TiB | |
6,4 TB | 346 TiB | 761 TiB | |
Spitzenwert sequenzieller Lesevorgang | 60,1 GB/s | 132,4 GB/s | |
Spitzenwert sequenzieller Schreibvorgänge | 57,7 GB/s | 120,7 GB/s | |
Zufälliger Lesevorgang | 1,80 Millionen IOPS | 3,54 Millionen IOPS | |
Zufälliger Schreibvorgang | 1,84 Millionen IOPS | 3,59 Millionen IOPS |
Tabelle 1: Details zu Kapazität und Performance der Basiskonfigurationen
In der obigen Formel ist 0,99 der Faktor, der durch die konservative Annahme erreicht wurde, dass es einen Overhead von 1 % durch das Dateisystem gibt. Für die Ankunft bei der Anzahl der Laufwerke für den Speicher sind 12 Laufwerke aus dem MDS ebenfalls enthalten. Dies liegt daran, dass im MDS die 12 Laufwerke in NUMA-Zone 0 für Metadaten und die 12 Laufwerke in der NUMA-Zone 1 für den Speicher verwendet werden. Der letzte Faktor in der Formel 10^12/2^40 besteht darin, den nutzbaren Speicherplatz von TB in TiB zu konvertieren.
Nutzbarer BeeGFS-Speicherplatz in TiB = (0,99* Laufwerke* Größe* in TB * (10^12/2^40)
Konfiguration | Klein | Klein +1 | Klein +2 | Mittel | Mittel +1 | |
---|---|---|---|---|---|---|
Gesamt-U (MDS+SS) | 6U | 8 HE | 10 HE | 12 HE | 14 HE | |
Anzahl der dedizierten Speicherserver | 2 | 3 | 4 | 5 | 6 | |
Anzahl der NVMe-Laufwerke für die Datenspeicherung | 60 | 84 | 108 | 132 | 156 | |
Geschätzter nutzbarer Speicherplatz | 1,6 TB | 86 TiB | 121 TiB | 156 TiB | 190 TiB | 225 TiB |
3,2 TB | 173 TiB | 242 TiB | 311 TiB | 380 TiB | 449 TiB | |
6,4 TB | 346 TiB | 484 TiB | 622 TiB | 761 TiB | 898 TiB | |
Spitzenwert sequenzieller Lesevorgang | 60,1 GB/s | 83,3 GB/s | 105,2 GB/s | 132,4 GB/s | 152,9 GB/s | |
Spitzenwert sequenzieller Schreibvorgänge | 57,7 GB/s | 80,3 GB/s | 99,8 GB/s | 120,7 GB/s | 139,9 GB/s |
Tabelle 2: Details zu Kapazität und Performance der skalierten Konfigurationen
Der speicherpool, auf den bezug genommen wird, wurde nur für den expliziten Zweck der Charakterisierung der Performance verschiedener Konfigurationen erstellt. Bei der Performancebewertung der im Ankündigungsblog beschriebenen mittleren Konfiguration befanden sich alle 33 Ziele nur im "Standardpool". Die Ausgabe des unten angegebenen Befehls beegfs-ctl --liststoragepools zeigt die Zuweisung der Speicherziele:
# beegfs-ctl --liststoragepools
Pool ID Pool Description Targets Buddy Groups
======= ================== ============================ ============================
1 Standard 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33
[1] Dell EMC Ready Solutions für HPC BeeGFS-Speicher:
https://www.dell.com/support/article/sln319381/[2] BeeGFS-Dokumentation:
https://www.beegfs.io/wiki/[3] So verbinden Sie zwei Schnittstellen im selben Subnetz:
https://access.redhat.com/solutions/30564[4] Referenzdesign für direkten PCI Express-Speicherzugriff mit externem Speicher: https://www.intel.com/content/www/us/en/programmable/documentation/nik1412547570040.html#nik1412547565760