Interpretieren Sie die Ausgabe von lstopo


9

Ich habe eine Ausgabe lstopo --output-format txt -v --no-io > lstopo.txtfür einen 8-Kern-Knoten in einem Cluster, nämlich https://dl.dropboxusercontent.com/u/13029929/lstopo.txt

  1. Die Datei ist eine Textzeichnung des Knotens. Es ist sowohl für das Terminal als auch für gedit unter Ubuntu meines Laptops zu breit, und ein Teil seiner rechten Seite wird von meinem Laptop nach links verschoben und überlappt den linken Teil der Zeichnung. Ich frage mich, wie ich die Datei richtig anzeigen kann. (Hinzugefügt: Mir ist klar, dass ich die Zeichnung richtig anzeigen kann, indem ich sie in die Dropbox hochlade und in Firefox öffne, wodurch die Zeichnung richtig verkleinert wird. Wenn Sie jedoch die lokale Datei in Firefox öffnen, werden die Strichlinien "-" falsch angezeigt, und ich frage mich, warum ? Außer Firefox kann auch jede Software daran arbeiten?)

  2. Was bedeutet "PU P #" in jedem Kern "Core P #"? Warum sind ihre Zahlen nicht gleich?

  3. Bedeutet "L1i" einen L1-Anweisungscache und "L1d" einen L1-Datencache?

  4. Warum unterscheiden L2- und L3-Caches nicht zwischen Befehls-Cache und Daten-Cache? Ist das bei Computern üblich?

  5. Was bedeutet "Socket P #"? Wird der "Socket" für die Verbindung zwischen den L3-Caches und dem Hauptspeicher verwendet?

  6. Was bedeutet "NUMANode P # (16 GB)"? Ist es ein Hauptspeicherchip?

  7. Zeigt die Zeichnung, dass sich vier Kerne einen Hauptspeicherchip und die anderen vier Kerne einen anderen Hauptspeicherchip teilen?

  8. Gibt es nicht einen Hauptspeicher, der von allen 8 Kernen im Knoten gemeinsam genutzt wird? Ist der Knoten also wie ein verteiltes System mit zwei 4-Kern-Computern ohne gemeinsamen Speicher? Wie können die beiden 4-Kern-Gruppen miteinander kommunizieren?

  9. Bedeutet "Maschine (32 GB)" die Summe der Größen der beiden in 6 genannten Hauptspeicherchips?


Es ist Teil des hwlocPakets. open-mpi.org/projects/hwloc
slm

Es ist auf dem Cluster installiert, sodass ich es auf dem Knoten ausführen kann. Ich kann es auch unter Ubuntu installieren sudo apt-get install hwloc.
Tim

Antworten:


16

Hier sind die Antworten auf Ihre Fragen:

  1. Ich würde es eher als grafisches Bild als als ASCII-Bild betrachten.

    $ lstopo --output-format png -v --no-io > cpu.png
    

    HINWEIS: Sie können die generierte Datei cpu.png anzeigen

                         ss von meinem Laptop

  2. "PU P #" = Prozessor der Verarbeitungseinheit #. Dies sind Verarbeitungselemente innerhalb der Kerne der CPU. Auf meinem Laptop (Intel i5) habe ich 2 Kerne mit jeweils 2 Verarbeitungselementen, also insgesamt 4. Aber in Wirklichkeit habe ich nur 2 physische Kerne.

  3. L # i = Anweisungscache, L # d = Datencache. L1 = ein Level 1 Cache.

  4. In den Intel-Architekturen werden die Anweisungen und Daten gemischt, wenn Sie von L1 → L2 → L3 nach unten gehen.

  5. "Socket P #" bedeutet, dass sich 2 physische Sockel auf dem Motherboard befinden. In diesem Setup befinden sich 2 physisch diskrete CPUs.

  6. In mehreren CPU-Architekturen wird der RAM normalerweise so aufgeteilt, dass jedem Kern ein Teil davon zugewiesen wird. Wenn CPU0 Daten aus dem RAM von CPU1 benötigt, muss es diese Daten über CPU1 "anfordern". Es gibt eine Reihe von Gründen, warum dies getan wird, zu viele, um hier näher darauf einzugehen. Informieren Sie sich über Speicherarchitekturen im NUMA-Stil, wenn Sie wirklich neugierig sind.

                                      ss von numa

  7. Die Zeichnung zeigt 4 Kerne (mit jeweils 1 Verarbeitungseinheit), die sich in 2 physischen CPU-Paketen befinden. Jede physische CPU hat "isolierten" Zugriff auf 16 GB RAM.

  8. Nein, es gibt keinen gemeinsamen Speicher zwischen allen CPUs. Die 2 CPUs müssen über die CPU mit dem RAM des anderen interagieren. Weitere Informationen zur uneinheitlichen Speicherarchitektur finden Sie in der NUMA-Wikipage .

  9. Ja, das System verfügt über insgesamt 32 GB RAM. Auf nur die Hälfte des Arbeitsspeichers kann jedoch jede physische CPU direkt zugreifen.

Was ist eine Steckdose?

Ein Socket ist der Begriff, der verwendet wird, um das tatsächliche Paket zu beschreiben, in dem sich eine CPU befindet, um auf dem Motherboard montiert zu werden. Es gibt viele verschiedene Stile und Konfigurationen. Schauen Sie sich die Wikipedia-Seite zu CPU-Sockeln an .

             ss von CPU-Buchsen

Dieses Bild zeigt auch die Beziehungen zwischen den "Kernen", den CPUs und den "Sockeln".

   ss der Beziehung


Vielen Dank! Ich werde aufpassen, was Sie hinzufügen werden. Können Sie versuchen, die Fragen in 1 zum Anzeigen der Texturzeichnung zu beantworten?
Tim

Ungefähr 2, jeder Ihrer Kern verfügt über zwei Prozessoreinheiten. Funktioniert es also ähnlich wie zwei Kerne, wobei jeder Kern einen Prozessor der Prozessoreinheit hat, und kann von zwei Prozessorelementen für die parallele Berechnung verwendet werden?
Tim

Ist der Knoten nach dem Lesen des Wikipedia-Links ungefähr 8 wie ein verteiltes System mit zwei 4-Core-Computern ohne gemeinsamen Speicher? Kommunizieren die beiden 4-Kern-Gruppen über die Nachrichtenübermittlung miteinander, genau wie die Kommunikation innerhalb eines verteilten Systems?
Tim

Über 2, warum sind ihre Zahlen nicht gleich?
Tim

@ Tim - Über 2. Ja. Das Wichtigste ist, dass ich aus Sicht des Betriebssystems 4 CPUs habe. Diese 4 CPUs sind nicht gleich leistungsfähig, aber das Betriebssystem weiß das nicht wirklich. Ich habe den Operator zu tun.
slm

1

Sie können den lstopo-no-graphics --no-io --no-legend --of txtBefehl direkt verwenden, um eine grafische Ansicht Ihres Terminals zu erhalten

Möglicherweise müssen Sie das yum install hwlocPaket installieren , wenn der Befehl fehlt.

Geben Sie hier die Bildbeschreibung ein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.