Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

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.Mithilfe von Qemu können auch komplette Betriebssysteme auf einem Cluster-Knoten ausgeführt werden. Auf allen Knoten ist KVM installiert. Da Qemu unter CentOS 8 (das von uns genutzt Host-Betriebssystem) nicht als Paket verfügbar ist, wird Qemu über einen Singularity-Container bereitgestellt.




Codeblock
languagetext
themeMidnight
titlePMDK Qemu mit Singularity nutzen
student@node83:~$ singularity shell --bind /mypmemfs pmem.sif

...

software/container/

...

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.

...

qemu.sif

Auf dem Cluster gibt es keine Grafikausgabe, aber auch die Ausgaben in Standard-Output des Gast-Systems erscheinen nicht automatisch. Dafür sind weitere Vorbereitungen notwendig.



Das eigene Linux-System mylinux wird außerhalb des Clusters zusammengebaut und dann als ISO-Image mylinux.iso gespeichert. Anschließend kann dieses Image auf einem Cluster-Knoten mit Quemu in der Singularity-Shell wie folgt ausgeführt werden.

Codeblock
languagetext
themeMidnight
titleQemu mit Singularity nutzen
student@node83:~$ singularity shell /software/container/qemu.sif
qemu-system-x86_64 \
  -m 2G,slots=1,maxmem=4G \
  -nographic \
  -machine type=q35,accel=hvf,nvdimm=on \
  -smp 2 \
  -cdrom lubuntu-18.04-alternate-amd64.iso \
  -drive file=lubuntu,if=virtio \
  -cpu Nehalem
  -object memory-backend-file,id=mem1,share,mem-path=~/qemu/nvdimm0,size=4G \ 
  -device nvdimm,memdev=mem1,id=nv1,label-size=2M \
  -serial stdio


Damit die Ausgaben dieses Linux-Systems nachher im Terminal erscheinen ist noch etwas Vorarbeit nötig. In der Datei

...