Dual Prozessor: wie muß man sich das vorstellen?

weini

Mitglied
Thread Starter
Dabei seit
20.02.2003
Beiträge
86
Reaktionspunkte
0
Hab mal ein paar fragen zu den Dual Prozessoren bzw. Dual systemen, hauptsächlich auf den neuen G5 bezogen, aber auch grundsätzlich auf andere dual rechner...

wie muß man sich das denn beim arbeiten mit dem rechner vorstellen?

also, ein prozessor hat 2 Ghz, das jetzt nen dual 2 Ghz nicht gleich 4 Ghz ist weiß ich schonmal...

aber gehen wir mal davon aus, wir 'rechnen' etwas.... muß man sich das so vorstellen das ein programm eine bestimmte rechenleistung verlangt, angenommen 40 % der gesamten cpu kapazität (des dual systems), werden diese 40% dann auf die zwei prozessoren 'verteilt' das jeder zu 20 % rechnet? oder rechnet der eine prozessor das ganze und der andere tut nichts weil die kapaität des anderen noch ausreicht?

und wenn ich jetzt 2 programm habe die gleichzeitig 60 % einer cpu fordern, und somit die eine cpu überlastet ist (120 % für eine cpu), 'wissen' die programme und der rechner das noch eine weitere cpu da ist und verteilen die aufgaben dann?

nochmal als praktisches beispiel, wenn ich mir jetzt SETI (oder ein beliebig anderes programm) installiere, dann nutzt das programm ja 100 % cpu leistung, wie siehts dann bei nem dual mac aus? sind dann beide cpu's am rechnen oder nur eine weil SETI 'dumm' ist und die zweite cpu nicht erkennt und ansprechen kann?

kann mir das mal jemand erklären, ich weiß nämlich nicht wie ich mir das sonst vorstellen muß oder wie es tatsächlich funktioniert...
 
also im optimalen fall ist es genauso, wie du gesagt hast.

wenn ein programm mehrere prozessoren unterstützt, dann teilt es die rechenleistung auf beide prozessoren. wenn nicht, kann man es immernoch mit einem prozessor benutzen und hat den anderen für ein anderes programm frei. so kann man beispielsweise eine dvd rippen und sich trotzdem noch voll auf etwas anderes konzentrieren - da nur eine cpu beansprucht wird (werden kann).
wenn du 2 programme hast, die beide 60% einer cpu fordern, kümmert sich die eine cpu um das eine programm und die andere um das andere. das managed aber glaube ich mac os, und nicht die programme untereinander.

wenn beide cpus benutzt werden, steigt die leistung soweit ich weiss zwar nicht um 100%, aber um 70% oder 80%.

der hauptvorteil dabei ist eben (imho), dass dadurch "echtes" multitasking möglich wird, das heißt das man auch bei rechenaufwändigen operationen immernoch eine komplette cpu frei haben kann. deswegen würde ich dual-prozessor-systeme auch immer "singles" vorziehen, selbst wenn die prozessoren jeweils nur halb so hoch getaktet sind wie das single-cpu-system.

(korrigiert mich, wenn ich was falsches gesagt habe)
 
hallo weini und Angel

ich möchte noch etwas ergänzen.
Also Herr und Meister der CPU's ist das OS. Wenn das OS kein Multiprocessing unterstützt (z.B. Win98), ist eine zweite CPU sinnlos. Laufen zwei Programme (Task/Process) kann man vom Multitasking sprechen. Hierbei gibt es das kooperative Multitasking (ich glaube Win98 macht das so) und das preemptive Multitasking (jedes ordentliche OS).
Beim kooperativen Multitasking sollte die Anwendung CPU-Zeit freigeben, wenn sie keine mehr benötigt. Es liegt in der Verantwortung des Programmieres dieses zu berücksichtigen. Beim preemptiven Multitasking kannst Du Dir eine Zeitscheibe vorstellen, bei der das OS CPU-Zeit verwaltet (Taskswitching).

Kommt jetzt eine zweite CPU ins Spiel, teilt das OS (nicht das Programm) die Tasks auf die CPU's auf und ein ordentliches Arbeiten ist z.B. mit zwei Anwendungen möglich. (Idealerweise sollte jede CPU ihren eigenen Processorcache haben)

Eine Anwendung alleine zieht aus einem Dual-System Vorteile, wenn sie zur Erfüllung ihrer Aufgaben Multithreading nutzt. Rechenintensive Anwendungen sollten so entwickelt sein, das für z.B. Renderaufgaben einen eigen Thread (Process) starten. Dieser Thread kann dann wieder vom OS auf eine zweite CPU verlegt werden. Multithreading kann man sich als Multitasking innerhalb einer Anwendung vorstellen. Multithreading ist sicher auch nur bei rechenintensiven Anwendungen sinnvoll.

Wie Angel schon sagt ist die Leistungssteigerung bei 2 CPU's am höchsten, aber nur maximal bei ca. 70-80%. Noch mehr CPU's sind nur sehr selten sinnvoll. Der Wirkungsgrad wird dann immer schlechter.

Ich denke für die meisten Anwender ist eine CPU völlig ausreichend.


mfg tuki
 
Zurück
Oben Unten