Re: [Newbie]: Frage zu SMP auf einem DualXeon 2.4Ghz && kern.smp .cpus

From: Peter Ross <Peter.Ross(at)alumni.tu-berlin.de>
Date: Fri, 5 Sep 2003 21:30:44 +1000 (EST)

On Fri, 5 Sep 2003, Bernd Walter wrote:

> Der Compiler hat keine Ahnung von Threads.

Ja. Was ich meinte, ist, ob es nuetzlich ist, einem Compiler zu haben, der
weiss, dass eine CPU aus zwei logischen besteht und Teile des Codes
paralilisiert?

Da muesste dann aber das OS so gestrickt sein, dass es dem so
entstandenen "Parallel-Code" eine ganze CPU mit beiden logischen
ueberlaesst.

Vorteil waere eben, dass der Compiler gut die Daten arrangieren kann, die
halt in CPU-Caches und Registern liegen. Sie wuerden fuer beide logischen
CPUs aus dem selben Prozess stammen.

Nachteilig waere, dass, wenn dann ein nicht so kompiliert wurde, die
zweite logische CPU brachliegen wuerde. Auch, wenn der Prozess sogar zwei
Threads haette, die sich gegenseitig ergaenzen.

Damit das OS beides machen kann, muesste ein compileroptimiertes Programm,
welches gern beide logischen CPUs haette, das beim Scheduler anmelden
koennen, d.h., es muesste dazu die Prozessstruktur erweitert werden.

Wobei das sogar noch halbwegs uebersichtlich ist, wenn eine CPU aus zwei
logischen Einheiten besteht. Wenn wir erst einmal drei, vier oder zwanzig
haben, skaliert dieser Ansatz nicht besonders gut..

Scheint nicht gar so einfach zu sein, Hyperthreading sinnvoll zu nutzen..

Gruss
Peter

To Unsubscribe: send mail to majordomo.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 05 Sep 2003 - 13:32:13 CEST

search this site