2017-08-26 2 views
-3

Ich habe eine kleine Frage.Ist es sinnvoll, alle Kerne auf den Rechenknoten zu verwenden?

Der Rechenknoten hat 2 Sockel mit 12 Kernen pro Sockel. Also hat es 24 Kerne (24 CPUs in meinem Fall).

Wenn ich eine Parallelverarbeitung betreibe, kann ich alle CPUs verwenden? Mit anderen Worten, brauchen wir einige CPUs für die Hintergrundprogramme?

BTW, ich denke, die Verwendung der CPU auf dem gleichen Chip (gleiche Steckdosen) kann die Kommunikation zwischen den Sockeln vermeiden, die den Lauf beschleunigen könnte. Wie kann man bestimmen, wie viele CPUs verwendet werden sollten, um den schnellsten Lauf zu generieren?

Alle allgemeinen Vorschläge zu diesem Thema würden geschätzt.

Best,

+0

Hallo, und Willkommen zu Stack Overflow. Gemäß den Standortregeln: "Fragen zu allgemeiner Computerhardware und -software sind für Stack Overflow nicht relevant, es sei denn, sie betreffen direkt Tools, die hauptsächlich zum Programmieren verwendet werden. Möglicherweise können Sie Hilfe zu [Super User] erhalten (https: // Superuser. com /). " –

+0

@DavyM Ich bin mir ziemlich sicher, Super User wird diese spezielle Frage auch verlassen. –

+0

Das Betriebssystem implementiert Timesharing für alle Knoten. Es lässt die Hintergrundprogramme bei Bedarf laufen. – Barmar

Antwort

0

Um Ihre Frage zu beantworten: Ja, Sie alle Kerne für einen parallelen Job oder ein Programm verwenden können. Je nachdem, welche Programme im Hintergrund ausgeführt werden sollen, kann es während der Ausführung Ihres Jobs/Programms zu Leistungseinbußen kommen. Der richtige Weg, um die optimale Anzahl von Kernen zu bestimmen, ist die Ausführung verschiedener Läufe mit verschiedenen Anzahlen von Kernen und die Analyse der Leistung Ihres Programms und der Programme im Hintergrund. Wenn Sie alle Ihre Kerne voll ausnutzen möchten, würde ich empfehlen, Ihr Programm nur mit allen Kernen und wenig bis keinen Hintergrundprogrammen auszuführen.

Verwandte Themen