Warum liefert Apple „neu“ Dualprozessoren

Naja. Der Hauptnachteil ist 1. da der Leistungsanstieg oft nicht linear ist und 2. die Technik halt aufwändiger ist. Was auch der Grund ist warum halt Apple keine 4-CPU-Systeme verkauft.
 
nun, der moederne trend geht halt zu 1) hyperthreads (z.B. P4 HT EE) , 2) Mulitcores (der neue Freescale G4, und die CPU in der Xbox2 von IBM), sowie halt MulitCPU (G5)

Wenn man das alles mal kombiniert? Die 4Ghz Grenze scheint erstmal keiner zu schaffen *g*..

also hat man QUAD Systeme, mit jeweils einer CPU mit fünf CPU Cores, alle mit HT :D?

Oder gleich ein Virginia Cluster ;)
 
Man baut ein hypermodernes Datenübertagungsnetz und es gibt in jedem Land einen Ultimativen Supercomputer auf dem alle Arbeiten :D
 
fipser schrieb:
Nein ehrlich:
Warum ist in der Pentiumwelt Dual nicht so verbreitet?

in einer macup oder macwelt vor einem jahr stand mal, das ibm keine schnelleren prozessoren fertigen konnte und da hat man sich das mit dem doppelprozessor als marketingtrick ausgedacht, um beim gigaherzwahn aus der windowswelt mitzuhalten. das ein doppelprozessor in fast allen anwendungen so gut wie nichts bringt haben viele nicht gewusst.

mfg
sengaja
 
64bit bringt sogar einen gewissen Geschwindigkeitsnachteil, weil für jede Operation doppelt so viel Speicherzugriff erfolgt (64 Bits müssen bewegt werden, statt nur 32).
Hmm, aber man muss doch nicht immer 64bits schreiben, wenn sie eh net genutzt werden.man kann ja bestimmt wie bei ia32 nur die hälfte von register benutzen, also ah und al z.b.. Oder irre ich mich da?
btw: gibts irgendwo ppc asm ebooks oder sowas? :)
 
sengaja schrieb:
in einer macup oder macwelt vor einem jahr stand mal, das ibm keine schnelleren prozessoren fertigen konnte und da hat man sich das mit dem doppelprozessor als marketingtrick ausgedacht, um beim gigaherzwahn aus der windowswelt mitzuhalten. das ein doppelprozessor in fast allen anwendungen so gut wie nichts bringt haben viele nicht gewusst.

mfg
sengaja

also bei allen proff. anwendungen bringt es ne menge ;) Adobe und Co, sowie die eigenen Apple Produkte (Final Cut Express, Pro. Motion etc.) und z.B. Cinema 4D unterstützen alle Dual CPUs, z.B. hat man bei einer CPU bei Cinebench irgendwie 260 auf einem Dual 1,8, bei beiden CPUs dann locker 460 Indexpunkte.

Warum sollte "irgend" ein Programm durch zwei CPUs laufen, wenn es nicht mal eine ausreizt? Daneben werden Apps wie Safari etc. eh automatisch auf beide CPUs verteilt, so dass z.B. beide mit 50% laufen, und nicht einer mit 100% und der andere gar nicht!

Marketing gag? Im Moment wollen alle Firmen Ihre "Technik" verbessern und vom Ghz Wahn runter. Jetzt sollen Mulitcores eingeführt werden etc. Ich finde der Ansatz von Apple war immer sehr gut für Pro User.

Es gibt auch tolle Dual Xeons bei Dell für den Preis eines Dual G5 2,5, und/oder Opertons in Dual ausführung. Und viele Profis benutzen das auch. Aber richtig Sinn macht es nur bei Renderings, Cut oder 3D.

Welcher normale User braucht einen DP?
 
iLife, Logic Express, Final Cut Express und Spiele natürlich

Und Multicore-CPUs gibt es schon lange. Der Power4 (auf dem der PowerPC 970(FX)) basiert ist einer. Es sollte für IBM also kein großes Problem sein einen Dualcore-G5 herzustellen. Aber anscheindend überspringen sie den und gehen direkt auf einen Dualcore-G6.
 
Also wie es auch schon von ._ut erwähnt wurde bringt ein Dual System unter Mac OS X ordentlich Leistung.

Es gab auf www.macintouch.com einige User Berichte beim Release von Garageband in denen berichtet wurde das Garageband auch auf alten Dual G4 Powermacs sehr schnell läuft.
Außerdem bringt ein Dual System immer etwas sobald man mehr als eine Anwendung gleichzeitig verwendet, da das OS die einzelnen Programme auf die zwei CPUs aufteilt, selbst wenn die Anwendung an sich keinen Vorteil durch das Dual System erhalten würde.

Es gibt ja auch sehr viele Powermac Benchmarks die den Unterschied zeigen. Aber eine einfache Rechnung wie 2 x 2,5 GHz = 5 GHz gibt es nicht. Aber gerade rechenintensive Anwendungen profitieren sehr stark vom zweiten Prozessor.
 
Wuddel schrieb:
iLife, Logic Express, Final Cut Express und Spiele natürlich

Und Multicore-CPUs gibt es schon lange. Der Power4 (auf dem der PowerPC 970(FX)) basiert ist einer. Es sollte für IBM also kein großes Problem sein einen Dualcore-G5 herzustellen. Aber anscheindend überspringen sie den und gehen direkt auf einen Dualcore-G6.

immerhin hat IBM schon den Power6 vorgestellt AFAIK, und hat off. bestätigt auf dualcore zu setzen (wie Intel und Freescale auch)
 
immerhin hat IBM schon den Power6 vorgestellt AFAIK, und hat off. bestätigt auf dualcore zu setzen (wie Intel und Freescale auch)

Der POWER6 steht zwar auf der Roadmap, aber wurde noch nicht vorgestellt.
Und SMP wird auch bei Windows automatisch genutzt, wenn man ein Multithreadet Programm hat. Bei einem monolithischen Prozess wird man keine Veränderung spüren. Das sieht man sehr gut, wenn man ein Zip Archiv erstellt. Hier wird nur eine CPU benutzt. Die andere dümpelt auf üblichem Niveau rum. Bei erstellen eines zweiten Archives wird die zweite CPU benutzt und der Rechner ist zu 100% ausgelastet. Aber die Tücke bei SMP ist eben, dass man bei zwei CPUs nicht automatisch 200% Leistung eines UP Systems hat. Das höchste der Gefühle liegt bei ca. 180%. Die Leistungsfähigkeit sinkt bei steigender CPU Anzahl, wenn man keine auf SMP ausgelegte Architektur benutzt. Intel Prozessoren sind auf maximal 4 CPUs pro Bus augelegt. Deshalb gibt es auch keine "echten" 8CPU Server. Alle 8CPU Server sind als 2x 4 CPU Maschinen aufgebaut.
Bei der PowerPC Architektur sieht das ein bischen anders aus. Diese CPUs sind bereits von Haus aus auf SMP hin optimiert. Nichtsdestotrotz geht man bei mehr als 8 CPUs einen anderen Weg um die Performance zu steigern: der Speicher Bus wird nicht mehr nur als eindimensionaler Bus gebaut, sondern als mehrdimensionaler, der mittels Switching Technologie optimiert ist. Damit kann mehr als eine CPU zur Zeit auf den Speicher zugreifen.
 
sgmelin schrieb:
Das höchste der Gefühle liegt bei ca. 180%. Die Leistungsfähigkeit sinkt bei steigender CPU Anzahl, wenn man keine auf SMP ausgelegte Architektur benutzt. Intel Prozessoren sind auf maximal 4 CPUs pro Bus augelegt. Deshalb gibt es auch keine "echten" 8CPU Server. Alle 8CPU Server sind als 2x 4 CPU Maschinen aufgebaut.
Bei der PowerPC Architektur sieht das ein bischen anders aus. Diese CPUs sind bereits von Haus aus auf SMP hin optimiert. Nichtsdestotrotz geht man bei mehr als 8 CPUs einen anderen Weg um die Performance zu steigern: der Speicher Bus wird nicht mehr nur als eindimensionaler Bus gebaut, sondern als mehrdimensionaler, der mittels Switching Technologie optimiert ist. Damit kann mehr als eine CPU zur Zeit auf den Speicher zugreifen.

Von 180% uneingeschränkt zu sprechen ist falsch. Klar kann man bei gewissen Problemstellungen davon ausgehen das eine verdopplung der Anzahl der CPUs gleich eine verdopplung der Leistungsfähigkeit ist. Wenn z.B. die Prozesse die auf den CPUs laufen keine Synchronisation untereinander benötigen und nicht permannent Daten aus dem Speicher benötigen, bzw. ein Verbindungsnetzwerk statt einen Bus verwenden. Ausserdem sprichst du von Intel CPU aber es gibt da ja mehrere Architekturen, z.B VLIW Itanium und konventionelle x86.

@crashx
Ein Designmerkmal von RISC ist das die Befehle eine einheitliche Länge haben. Da du auf einem 64bit System mehr Speicher adressieren kannst müssen auch die Befehle länger werden um den Speicher entsprechen adressieren zu können (Immediate, PC relativ). Zumindest würde ich mal davon ausgehen.
 
crashx schrieb:
Hmm, aber man muss doch nicht immer 64bits schreiben, wenn sie eh net genutzt werden.man kann ja bestimmt wie bei ia32 nur die hälfte von register benutzen, also ah und al z.b.. Oder irre ich mich da?
Nein, kann man nicht, wie beim x86. Sowas, wie ah und al gibt es beim PowerPC nicht, denn der PowerPC ist ein nativer 64-bit-Prozessor (die 32-bit-Versionen sind nur ein Subset) und kein aufgebohrter 16-bit-Prozessor mit 8-bit-Kompatibilität.
Überhaupt gibt es beim PowerPC keine Spezialregister, nur 32 Universalregister.
 
Zuletzt bearbeitet von einem Moderator:
Klar kann man bei gewissen Problemstellungen davon ausgehen das eine verdopplung der Anzahl der CPUs gleich eine verdopplung der Leistungsfähigkeit ist.

Das ist aber nur in ganz bestimmten Konstellationen zu finden, die niemals in freier Wildbahn auftreten. Du wirst niemals eine lineare Steigerung bei der nutzbaren CPU Leistung erreichen. Es müssen immer Daten aus dem Speicher geholt, bzw. dort hinein geschrieben werden. Selbst wenn jede CPU einen eigenen Pfad zum Speicher hat, was bei zwei CPUs noch einen einigermassen vertretbaren Aufwand nach sich ziehen würde müssen die Daten auch irgendwoher kommen. Entweder werden sie selbst berechnet, oder sie kommen über einen I/O Kanal und dann muss wieder eine Verwaltung der Daten durchgeführt werden. Nicht zum Schluss muss auch noch das OS dafür Sorgen, dass die Daten bestmöglichst verteilt werden. Oder man lässt es - wie bei AIX - durch eine API die Programme selbst erledigen. Aber es bleibt trotzdem immer ein Verwaltungsoverhead, der die nutzbare CPU Leistung schmälert. Das hat nur am Rande etwas mit der Architektur zu tun. Gerade bei nur zwei CPUs ist es noch relativ problemlos. Bei vieren wird es dann noch etwas schwieriger und der Overhead steigt natürlich mit der CPU Anzahl.
 
sgmelin schrieb:
Das ist aber nur in ganz bestimmten Konstellationen zu finden, die niemals in freier Wildbahn auftreten.

Es gibt sogar den Effekt des superlinearen Speed-up. Von der Algorithmentheorie kann es sowas eigentlich nicht geben, jedoch kann man den Effekt bei Einprozessormaschinen beobachten die Probleme mittels Backtracking (depth-first search) lösen. Bei Übertragung des Problems auf MP kann jeder Prozessor eine Zweig des Problemlösungsbaumes abarbeiten und das Erreichen der Lösung den anderen signalisieren.

Das nächste was sehr gut skaliert sind sehr grobkörnige Probleme (large gained) die gut auf Workstation Cluster oder Hyper- und Metacomputer laufen. Cache-Kohärenz / Konsistenz Probleme treten so gut wie nicht auf, da so gut wie keine Synchronisation untereinander benötigt wird (z.B "Render Farm"). Solche Probleme werden natürlich auch herrvorragen auf SMP oder DSM Systemen gelöst.

Das war jetzt aber schon arg OT von mir :)
 
Clusteraufgaben haben nichts mit SMP zu tun. Man kann natürlich eine grosse Aufgabe so weit granulieren, dass ein einzelner Knoten nur sehr kleine Aufgaben zu erledigen hat.
Wenn Du wie in Deinem ersten Beispiel zwei Aufgaben hast und jede von einer CPU abarbeiten lässt erreichst Du trotzdem nicht 200% einer einzelnen CPU. Du hast zwar einen sehr guten Durchsatz und dadurch nur wenig Latenz, aber nichtsdestotrotz einen Overhead.
 
sgmelin schrieb:
Clusteraufgaben haben nichts mit SMP zu tun.

Natürlich kann ich Aufgaben die für einen Cluster bestimmt sind auf einem SMP oder DSM laufen lassen.

Weswegen ich überhaupt gepostet habe waren diese 180%. Man kann den den Leistungszuwachs nicht einfach in % ausdrücken da es sehr stark von der Problemstellung abhängt. K. Li und P. Hudak berichten in "Memory Coherence in Shared Virtual Memory Systems" auch von einem superlinearen speed-up nachdem mehr Prozessoren verwendet werden aufgrund geringerer Cache misses und page faults da die Daten auf dem MP komplett in den Cache / Hauptspeicher passten.

Also, du kannst unter umständen sogar über 200% speedup bei verdopplung der Prozessoranzahl haben da eine verdopplung natürlich auch mehr Cache mit sich bringt und deswegen evtl. ein signifikanter Rückgang der cache misses System weit eintreten kann. Ausserdem kannst du natürlich auf einem Parallelrechner parallele Algorithmen einsetzen die auch für einen superlinearen speed-up sorgen können.

Man kann sich natürlich auch das Gegenteilige vorstellen, das nach Erhöhung der CPUs eine Veringerrung der Gesamtleistung des Systems eintritt.
 
Nun, es ist durchaus denkbar, dass man über die 180% kommt. Dieser Wert ist ja nicht in Stein gemeiselt, aber ein guter Anhaltspunkt. Auch wenn es Zeitweise mal ca. 190 - 195% sind, pendelt es sich ungefähr bei diesem Wert ein. Dies zeigen Benchmarkergebnisse aus der Praxis. Alles andere sind eher theoretische Überlegungen, bzw. Werte die sich kaum über einen längeren Zeitraum hin nachweisbar wären.
 
oh gott :eek:

Ich glaube ihr müsst mich zuerst mal aufklären (ich bin ein ziemlicher n00b, ich gebs ja schon zu :D ).

Also zuallererst mal was ist der Unterschied zwischen RISC und CISC :confused:

Und wenn das geklärt sein sollte, was bitte ist Altivec??


Naja, ich hoffe mal das ist nicht allzu offtopic,
mfg shin

PS: Zahlt es sich denn aus einen Dual 1,8 Ghz zu kaufen oder reicht ein single 1,8 auch?
 
Zurück
Oben Unten