Prozessorlast htop neuere Kernel

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Psych
Beiträge: 519
Registriert: 02.10.2004 12:41:44

Prozessorlast htop neuere Kernel

Beitrag von Psych » 15.02.2012 14:57:59

Hallo zusammen,

ich hab auf meinen Servern (Intel Quadcores mit HT) was beobachtet.
Bis mindestens kernel 2.6.39 wurde die Last relativ gleichmäßig auf alle Cores verteilt (beobachtet mit htop).
Seit 3.2 (zwischen 2.6.39 und 3.2 nicht getestet) ist die Last laut htop auf den ersten 4 Cores im Schnitt doppelt so hoch wie auf den letzten vier.

Frage 1: Warum ist das so?
Frage 2: Ist das gut oder schlecht :wink: ?

Gruß,

Psych
Debian Lenny, Squeeze (Server)
Openindiana (NAS)
PfSense (Router, Firewall)
Ubuntu (Notebook)
Arch Linux (Desktop)

Benutzeravatar
hikaru
Moderator
Beiträge: 13974
Registriert: 09.04.2008 12:48:59

Re: Prozessorlast htop neuere Kernel

Beitrag von hikaru » 15.02.2012 16:00:17

Psych hat geschrieben:Frage 1: Warum ist das so?
Was am Kernel geändert wurde um das Verhalten zu verändern? Keine Ahnung!
Psych hat geschrieben:Frage 2: Ist das gut oder schlecht :wink: ?
So lange die Geschwindigkeit darunter nicht leidet ist das gut. Dafür gibt es zwei konkurrierende Gründe:

1. Das klassische HT-Problem:
Die "virtuellen Kerne" sind nur eine Repräsentation dafür dass einer Kern-Pipeline zwei Threads zugeordnet werden können statt einem. Im Idealfall bedeutet das, dass doppelt so viele Instruktionen verarbeitet werden können. Im schlechtesten Fall kommt es aber genau durch die Doppelnutzung der Pipeline ständig zu Kollisionen und dann muss die ganze Pipeline geleert und neu gefüllt werden. Dann kostet HT sogar effektive Rechenleistung. In der Realität tritt eine Mischung beider Effekte auf die in der Summe für gewöhnlich in einem Geschwindigkeitszuwachs von 30% (+-20%) resultieren.
So lange ein Kern die Arbeit die er bekommt schafft ohne auf HT zurückzugreifen ist es daher von Vorteil HT nicht zu nutzen da man dann die zeitraubenden Kollisionen vermeiden kann.

2. Intels Turbo Boost:
Mit der Nehalem-Architektur hat Intel eine neue Technologie eingeführt (AMD hat sie mittlerweile kopiert) die es unter bestimmten Voraussetzungen erlaubt einzelne Kerne gezielt zu übertakten während andere abgeschaltet werden. Als Faustregel gilt dabei: Je mehr Kerne wegen mangelnder Beschäftigung abgeschaltet werden, desto höher können die verbleibenden übertaktet werden.

Die Implementierung einer Optimierung seitens des Kernels wäre für 1. und 2. jeweils gegensätzlich, denn 1. würde eine Maximierung der verwendeten Kerne (ohne Nutzung von HT) erfordern während 2. eine Minimierung der Kerne (Notfalls unter Zuhilfenahme von HT) voraussetzt.

Antworten