UNI/SMP Code Einfluss auf andere bins beim/nach dem Kompilieren

07/07/2008 - 02:09 von H. D. Oezbilen | Report spam
Hallo @all,

eine prinzipielle Frage, die UNI/SMP Systeme betrifft.

Ich habe mir eine Linuxmaschine aufgebaut, funktioniert, macht und tut :-).

Entwickelt und aufgebaut ist sie auf einer P4 UNI Maschine, eigener 4G
Ram Highmem Kernel, 2.4.26-1 mit paar Patches. Nix aufregendes, aber stabil.

Abgesehen v. der (bewussten) Einschraenkung auf die P4 CPU (warum sonst,
unter anderen kompiliert man den eigenen Kernel, denn der wird nie auf
einer 386er laufen muessen :-)), boete sich mir die Option die HT Option
im Bios zu schalten und die zwei Kerne ins System einzublenden, also
SMP. Oder auch irgendwann, die Einheit auf ein System mit zwei HW-CPUs
umzuziehen.

Dann jedoch sollte man den Kernel mit SMP nochmal kompilieren. Auch OK.

Jetzt die Frage:

Welchen Einfluss haben die Module (install_modules) und der Kernel auf
die anderen Sourcen, die ich auf der UNI-Einheit kompiliert und
installiert habe ?

Denn ausser den Modulen und dem Kernel (und paar Dateien, die durch
depmod -a entstehen) aendert sich am System ja nichts, oder ?

Wie ist der Einfluss z.b. auf Gzip oder dem Virenscanner clamav, havp
oder anderen bins? Denn eine SMP Einheit muesste doch die o.g. Prg.
zumindest teilweise beschleunigen (?).

Ja, sofern irgendwann mal beim Kompilieren die SMP-Faehigkeit angegeben
wurde (?).

Wuerde das heissen, dass man doch alle Prg. nochmal unter
SMP-kompilieren muesste ?

Oder ist die Threadfaehigkeit der springende Punkt, dass sie die
darunterliegende HW auf SMP-Basis der Software mitteilt, dass sie
mehrere Threads aufmachen kann; das BS (der neue SMP-Kernel) die
Verteilung auf die HW-Resourcen selbst uebernimmt ?

Wenn jemand hierzu paar erlaeuternde Erklaerungen und/oder Links zu der
Problematik setzen kann, waere ich sehr dankbar.

Danke vorab fuer replying.

Gruss
Lindeman
 

Lesen sie die antworten

#1 Michael Baeuerle
07/07/2008 - 09:29 | Warnen spam
"H. D. Oezbilen" wrote:

[SMP]
Jetzt die Frage:

Welchen Einfluss haben die Module (install_modules) und der Kernel auf
die anderen Sourcen, die ich auf der UNI-Einheit kompiliert und
installiert habe ?



Keinen. Ausser, dass diese nun die SMP Faehigkeiten nutzen koennen falls
die dazu in der Lage sind.

Denn ausser den Modulen und dem Kernel (und paar Dateien, die durch
depmod -a entstehen) aendert sich am System ja nichts, oder ?



Genau.

Wie ist der Einfluss z.b. auf Gzip oder dem Virenscanner clamav, havp
oder anderen bins? Denn eine SMP Einheit muesste doch die o.g. Prg.
zumindest teilweise beschleunigen (?).



Beschleunigt werden nur solche Programme die Threads nutzen oder mehrere
Prozesse laufen lassen. gzip und bzip2 tun das nicht, die werden alleine
nicht schneller. Es gibt aber pbzip2:
http://compression.ca/pbzip2/
Den Virenscanner kenne ich nicht, aber da sowas normal im Hintergrund
laeuft bleibt zumindest in jedem Fall die andere CPU zum arbeiten
verfuegbar.

Optimal ist SMP beim compilieren. Da gibt man dann 'make -jx' an (x Anzahl der CPUs) und make laesst x files gleichzeitig compilieren. Ein
Kernel compiliert damit oft nahezu x-mal schneller.

Ja, sofern irgendwann mal beim Kompilieren die SMP-Faehigkeit angegeben
wurde (?).



Genau. Bei vielen Programmen kann man da aber nichts angeben, bei denen
bringt SMP halt nichts.

Wuerde das heissen, dass man doch alle Prg. nochmal unter
SMP-kompilieren muesste ?



Hoechstens welche die SMP unterstuetzen wo das aber bewusst abgeschaltet
wurde, das werden i.d.R. wenige sein.

Oder ist die Threadfaehigkeit der springende Punkt, dass sie die
darunterliegende HW auf SMP-Basis der Software mitteilt, dass sie
mehrere Threads aufmachen kann;



Das ist nicht noetig. Die Threads werden einfach pauschal aufgemacht und
ggf. halt von einer CPU bearbeitet.

das BS (der neue SMP-Kernel) die
Verteilung auf die HW-Resourcen selbst uebernimmt ?



Ja, genau wie bei mehreren Prozessen verteilt der Kernel die Threads
dann auf mehrere CPUs wenn welche zur Verfuegung stehen.


Micha

Ähnliche fragen