Unter Linux wird NVRAM über das Dateisystem bereitgestellt und die Anwendungen können dann Dateien mit mmap in den Adressraum einblenden. Auf den Knoten die NVRAM haben wird der Zugriff im Dateisystem durch das Verzeichnis /mypmemfs bereitgestellt. Hier kann jeder Benutzer Dateien erzeugen und seine Dateien lesen, schreiben und loeschen (die Berechtigungen entsprechend denen im /tmp Verzeichnis).

Der Persistent Memory Development Kit (PMDK) mit gcc etc. wird durch folgenden Singularity Container bereitgestellt: /software/container/pmem.sif. Um diesen zu nutzen kann eine Shell im Container gestartet werden. Hierbei ist es wichtig, dass /mypmemfs mit dem Bind-Parameter gemountet wird.

PMDK mit Singularity nutzen
student@node83:~$ singularity shell --bind /mypmemfs /software/container/pmem.sif

Wenn Sie diesen Container erweitern möchten können Sie sich die Datei /software/container/definitions/pmem.def herunterladen und zu Hause einen eigenen erweiterten Container zusammenbauen. Dies geht nicht direkt auf dem Cluster.

Charakteristika unseres NVRAMs


Wir haben 128 GB Intel Optane DIMMs, jeweils pro Knoten 1 DIMM Modul.

Die Messungen wurden mit pmem-perf-sweep (siehe hier) auf node83 durchgeführt.

Bandbreiten:

  • random read: 1280 MB/s
  • sequential read: 5055 MB/s
  • random write: 520 MB/s
  • sequential write: 2044 MB/s

Latenzen:

  • idle sequential: 169ns
  • idle random: 319ns

Weitere Messungen in der in einer for-Schleife in Array (1.000.000 uint_8t Elemente) sequentiell in Pmem geschrieben wird.

  • pmemobj_persist nach jedem Schreiben eines Elements: 1,32 MB/s
  • pmemobj_persist nach dem Schreiben aller Elemente: 253,43 MB/s


  • Keine Stichwörter