Gibt es eine Möglichkeit, einen Job ausschließlich auf einem Chip auszuführen?

298
dromodel

Wir haben eine Menge großer (1 TB +) NUMA-Maschinen im Einsatz und haben beim Benchmarking viel Lärm bekommen. Wir haben festgestellt, dass die Laufzeiten für unsere Anwendung von einem Lauf zum nächsten sehr konstant sind, wenn auf dem Computer nichts anderes ausgeführt wird. Wenn jedoch andere Jobs vorhanden sind, sogar geringfügige scheinbar unbedeutende Jobs, kann der Lauf in den Run-Zustand eintreten Leistung unserer Anwendung. Wir vermuten, dass dies auf einen Chip-Speicherbus-Konflikt zurückzuführen ist, und wir möchten diese Hypothese testen. Unser Ziel ist es nicht, die Leistung unserer Anwendung hier zu maximieren, sondern lediglich die Variabilität zu beseitigen, damit wir die Auswirkungen von Leistungsoptimierungen genau messen können.

Gibt es eine Möglichkeit, dem Betriebssystem anzugeben, dass ein Job ausschließlich auf einem Prozessorchip ausgeführt werden soll? In unserer Konfiguration haben wir 8 Prozessorchips mit jeweils 10 Prozessorkernen (das Betriebssystem verfügt über 80 Prozessoren). Daher möchten wir, dass nur ein Prozessorkern auf jedem Prozessorchip verwendet wird.

Wir betreiben SLES11u3, denke ich auf diesem Rechner, haben aber auch Zugriff auf RHEL5.8 (und SUSE10 / RHEL4). Wir haben uns Taskset schon einmal angeschaut, aber es gibt nur Affinität zu einem bestimmten Prozessor an, ohne das Verhalten anderer Jobs zu beeinträchtigen (und leider gibt es viele kleine vom Betriebssystem).

0
Welcher Chip? Ihre Frage ist nicht klar und wahrscheinlich aus diesem Grund geschlossen. Ramhound vor 10 Jahren 0
"Gibt es eine Möglichkeit, dem Betriebssystem anzugeben, dass ein Job ausschließlich auf einem Chip ausgeführt werden soll?" Von was für einem "Chip" reden Sie? Eine CPU? RAM? Kartoffel? Sprichst du davon, dass verhindert wird, dass alle Prozesse eine logische CPU verwenden? Ƭᴇcʜιᴇ007 vor 10 Jahren 0
Siehe auch: [Standardprozessoraffinität für alle Anwendungen festlegen] (http://superuser.com/questions/602837/set-default-prozessor-affinity-for-all-anwendungen) Ƭᴇcʜιᴇ007 vor 10 Jahren 0
Zur Klarstellung bearbeitet dromodel vor 10 Jahren 0
Ihr Benchmarking sagt Ihnen etwas. Es wird erwartet, dass Sie für diese Architektur nicht einheitliche Verarbeitungszeiten erwarten. Sie müssen entscheiden, was Sie testen möchten. Das Durchführen eines Benchmarking für zugewiesene Ressourcen ist nur dann sinnvoll, wenn Sie diese Ressourcen weiterhin auf dieselbe Weise zuweisen ... was möglicherweise unwahrscheinlich ist, wenn dies nicht bereits die gewünschte Architektur ist. kmarsh vor 10 Jahren 0
Oder wenn Sie die durchschnittliche Leistung anvisieren möchten. Leider dauert die Anwendung zu lange (Stunden bis Tage), um sie direkt zu messen. Versuchen wir, uns an die gestellte Frage zu halten. Q & A eignet sich nicht gut für Seitendiskussionen aus Spekulationen über die Frage. dromodel vor 10 Jahren 0

0 Antworten auf die Frage