Warum Dual Prozessoren?

@ricci007: Naja ein bißchen schon! Ist ein Programm Multithreaded geschrieben, zerfällt also quasi in kleine gleichzeitig ausführbare Einheiten, dann kann das Programm durch mehrere CPU's beschleunigt werden. Z.B. braucht ein Apfelmännchen-Programm (Fraktale) eine gewisse Zeit X zum berechnen. Wird nun der Bildschirm in 16 Segmente geteilt und einzeln berechnet, so entstehen 16 Einzelaufgaben. ein Dualsystem kann je 2 zur Zeit ausführen. Benötigt ein Segment die vierfache Zeit im Vergleich zu anderen ( wegen der Rechentiefe), so kann die zweite CPU in der Zeit eben 4 einfache Segmente schonmal berechnen. Ein solches Programm ist viel schneller fertig, als ein pures Singlethread-Programm. Deine Aussage ist insofern richtig, als das das OS ja entscheidet welche CPU wann was rechnet. Somit ergibt sich bei vielen kleinen Programmen ein vergleichbarer Effekt!
 
lundehundt schrieb:
Wenn eine Anwendung fuer Dual Prozesoren optimiert worden ist verteilt die Anwendung die Aufgaben gleichmaessig auf beide Prozessoren und fuehrt das Ergebnis aus beiden Prozessoren am Ende zusammen. Das ist der Optimalzustand und es gibt nur wenige Anwendungen die das Unterstuezen.

Frueher war das so, ja! Heute hat man die Aufgabe - sinnigerweise - der Betriebsystem auferlegt. Es steuert, welcher Tast, wann abgearbeitet wird, und im Falle von SMP auch wo :D

Das war auch der Grund, dass bei praemtiven OS-Stratigien, wie z. B. Win95/98 sich das OS oeferts aufgehaengt hat, weil ein Programm einen kritischen Abschnitt (siehe Google.de) nicht mehr verlassen hat und somit den Task-Sheduler nicht mehr freigegeben hat.
 
wegus schrieb:
Ist Photoshop nicht ein typisches Beisspiel für ein SMP-fähiges Programm?

photoshop hat ein plug-in, damit die filter als eigener thread laufen...
den rest mit SMP hat ricci ansatzweise erklärt...
wobei er natürlich vergessen hat, dass ein programm multi-threaded sein muss, sonst läuft es immer nur auf einer cpu...
 
Zuletzt bearbeitet:
@ricci:
Meinst Du nicht nonPräemptiv (Novell 3.x z.B.). Das Problem von Win95/98 war der Nonpräemptive 16-Bit Teil. Der 32-Bit Part wird im präemptiven Multitasking ausgeführt. Will sagen, das OS kümmert sich um die Zeitscheibenaufteilung (MCP aus Tron ;) ) und nicht die Anwendungen selbst, die quasi den Staffelstab weitergeben wenn ( und falls ) sie fertig sind.
 
wegus schrieb:
@ricci007: Naja ein bißchen schon! Ist ein Programm Multithreaded geschrieben, zerfällt also quasi in kleine gleichzeitig ausführbare Einheiten, dann kann das Programm durch mehrere CPU's beschleunigt werden. Z.B. braucht ein Apfelmännchen-Programm (Fraktale) eine gewisse Zeit X zum berechnen. Wird nun der Bildschirm in 16 Segmente geteilt und einzeln berechnet, so entstehen 16 Einzelaufgaben. ein Dualsystem kann je 2 zur Zeit ausführen. Benötigt ein Segment die vierfache Zeit im Vergleich zu anderen ( wegen der Rechentiefe), so kann die zweite CPU in der Zeit eben 4 einfache Segmente schonmal berechnen. Ein solches Programm ist viel schneller fertig, als ein pures Singlethread-Programm. Deine Aussage ist insofern richtig, als das das OS ja entscheidet welche CPU wann was rechnet. Somit ergibt sich bei vielen kleinen Programmen ein vergleichbarer Effekt!

Ja, das sind Programm-Optimierungen, wie auch:

Code:
int slen = strlen("test it!");
int i = 0;
for(;i<slen;i++){
 printf(".");
}

anstatt:

Code:
int i = 0;
for(;i<strlen("test it!");i++){
 printf(".");
}

Aber insofern hast du schon recht, man kann es fuer SMP optimieren, ... :D
 
oneOeight schrieb:
photoshop hat ein plug-in, damit die filter als eigener thread laufen...
den rest mit SMP hat ricci ansatzweise erklärt...
wobei er natürlich vergessen hat, dass ein programm multi-threaded sein muss, sonst läuft es immer nur auf einer cpu...

Stimmt, da hast du recht :D
 
wegus schrieb:
@ricci:
Meinst Du nicht nonPräemptiv (Novell 3.x z.B.). Das Problem von Win95/98 war der Nonpräemptive 16-Bit Teil. Der 32-Bit Part wird im präemptiven Multitasking ausgeführt. Will sagen, das OS kümmert sich um die Zeitscheibenaufteilung (MCP aus Tron ;) ) und nicht die Anwendungen selbst, die quasi den Staffelstab weitergeben wenn ( und falls ) sie fertig sind.

Ja, kritische Abschnitte werden von OS verwaltet, nicht innerhalb der Programme, stimmt.
 
@ricci:
Aber insofern hast du schon recht, man kann es fuer SMP optimieren, ...

Einigen wir uns darauf, daß das 2te Beispiel unter typische Anfängerfehler eingeordnet gehört ?

Das hat doch wohl nichts mit multithreading zu tun !?
 
Wird Zeit daß hier _ut mal ein bisschen Vollwissen appliziert ;)
 
Cinema

Bei Cinema 4D sieht man schön, wie zwei Prozessoren genutzt werden. Bei meinen anderen (Einprozessor-)Macs ist nur eine Render-linie zu sehen. Hier ist die leistung durch den zweiten Prozessor fast verdoppelt.
 

Anhänge

  • Bild-1.jpg
    Bild-1.jpg
    41,4 KB · Aufrufe: 60
salute,

ja dass ist ja alles schön und gut aber bis dato nur in den wenigsten fällen praktisch anwendbar. ja ausser man ist artist im 3d bereich oder der gleichen und natürich sind wir user dass auch alle, gelle! nun damals als die 1. dual-ppc erschienen war technisch apple weit ins hintertreffen geraten im direkten vergleich mit der windows-welt! tja und wenn man im single bereich nichts zu bieten hat, ja was macht man da?! richtig, man verwendet 2 und lässt den user suggerieren, dass man ja das doppelte auch an power besitzt. no no no, wrong wrong kann man da leider nur schreiben. so eine milchmädchen rechnung kann man nicht im ernst an den tag legen, no!!!

bis dato nutzt panther nur div. routinen um dual-processing effektiv zu nutzen von ausnutzen will ich gar nicht schreiben, da sind wir noch weit entfernt. erst mit tiger verspricht apple vollen support für dual und vor allem 64bit die wie beim pc noch mehr oder weniger aber ehe mehr gar nicht genutzt werden(aber halt, hat das apple nicht auch schon für panther versprochen?!). aber mit 64bit in der anzeige. bzw. werbung lässt sich das zeug besser verkaufen. klar seitenteil aufmachen und reinstieren und 2 wuchtige aber absolut coole kühler betrachten die einem sagen, hey du hast was verdammt gutes unter der haube, sie muss leider erst noch richtig genutzt werden.

um keine missverständnisse aufkommen zu lassen. ein dual-system heute ist die investition für morgen bis dahin dauert es halt noch a weng, gelle.


aber über die jahre haben wir user eins gelernt auch bei apple, warten ist relativ.
 
Wenn man dass so liesst scheint es fast, als ob eine Dual heute kaum einen Unterschied zu einer Single CPU bieten wuerde. Das kann ich bei meinem Dual 867 nicht bestaetigen. Es ist ein Unterschied zu einem Singel CPU QS, der von der Architektur vergeichbar ist. Von daher hat sich fuer mich die Dual CPU Entscheidung schon seit 2 Jahren gelohnt.

Unbestritten hat ein Dual natuerlich auch Marketing Gruende im GHz Wahn und unbestritten hat Apple die ersten Dual Rechner auf den Markt geworfen, ohne ein schluessiges Kuehlkonzept zu haben.

Cheers,
Lunde
 
Zurück
Oben Unten