Was ist der Unterschied zwischen Multicore Proc und Multiproc System?

18

Ich frage mich, was der Unterschied zwischen einem Dual-Core-Computer und einem Computer mit 2 Prozessoren auf der Hauptplatine ist. Ich denke, es hängt etwas mit den Threads zusammen, aber ich verstehe es nicht sehr gut.

Verbot
quelle

Antworten:

19

Mehrere Prozessoren lassen Ihren Computer buchstäblich zwei Dinge gleichzeitig erledigen (anstatt scheinbar nur zwei Dinge gleichzeitig zu erledigen, sondern tatsächlich nur extrem schnell zwischen Aufgaben zu wechseln).

Mehrere Kerne sind gleich. Der Vorteil mehrerer Kerne gegenüber mehreren Prozessoren besteht darin, dass sie einige Bits der CPU gemeinsam nutzen, z. B. den Cache der zweiten Ebene, wodurch sie noch effizienter arbeiten können, wenn sie über gemeinsam genutzte Daten verfügen. Dies macht sie in der Herstellung viel billiger. Eine einzelne Dual-Core-CPU benötigt außerdem weniger Platz als zwei Single-Core-CPUs. Dies ist heutzutage ein wichtiger Faktor, wenn alle auf Laptops umsteigen.

Es kann einige Leistungsunterschiede geben, aber nichts, was Sie wahrscheinlich bemerken werden.

John Fouhy
quelle
2
Nicht nur weniger Platz in Anspruch nehmen, sondern auch weniger Wärme erzeugen (weniger Strom verbrauchen) und nur einen Lüfter benötigen.
CarlF
13

Sehen Sie sich dieses Bild an, das den Unterschied zwischen Multi-Prozessor, Hyper-Threaded und Multi-Core zeigt:

Bildbeschreibung hier eingeben

Krallen
quelle
2

Nun, es geht darum, horizontal statt vertikal zu skalieren. Früher haben sie die CPU immer schneller gemacht. Mit der Zeit stieg die Geschwindigkeit der CPUs von nur wenigen Megahertz auf Super-Geschwindigkeiten von bis zu 3 Gigahertz. Als die 3-Gigahertz-Geschwindigkeit erreicht war, hatten die CPU-Hersteller eine Grenze gefunden, wie weit sie die Geschwindigkeit eines einzelnen CPU-Kerns steigern konnten.

Während dieses rasanten Rennens wurden für Anwendungen, die mehr Strom benötigten (wie Server und CGI-Renderfarmen), die Multi-Socket-CPU-Motherboards eingeführt. Dies erlaubte es, mehr als eine CPU (normalerweise zwei) auf dem Motherboard zu platzieren. Betriebssysteme, auf denen mehrere CPUs gleichzeitig verwendet werden können, können Software ausführen, die diese Funktion nutzt, indem sie die Last auf diese beiden CPUs verteilen und so die Ausführungsgeschwindigkeit erhöhen.

Schneller Vorlauf zur Gegenwart. Das CPU-Geschwindigkeitslimit ist etwas erreicht, und anstatt sich vertikal zu skalieren (um es zu beschleunigen), beginnen die CPU-Hersteller, sich horizontal zu skalieren, indem sie mehrere Kerne auf einem einzigen Chip platzieren. Derzeit sind Dual-Core-Chips weit verbreitet und bald werden die Quad-Cores der Standard sein. Stellen Sie sich nun vor, Sie hätten zwei Quad-Cores auf einem einzigen Motherboard platziert. Dies würde bedeuten, dass das Betriebssystem Zugriff auf 8 CPUs haben würde, die alle bei etwa 3 Gigahertz laufen.

Neben Multi-Core-CPUs gibt es auch eine "gefälschte" Dual-Core-CPU, die eine als "Hyper-Threading" bekannte Technologie verwendet. Beim Hyper-Threading emuliert die CPU die Anwesenheit von zwei CPUs, wenn in Wirklichkeit nur ein tatsächlicher Kern vorhanden ist. Die CPU weiß, wie sie die normalerweise auftretenden Ausfallzeiten nutzen kann, indem sie Anweisungen auf eine bestimmte Weise plant, um mehr Effizienz zu erzielen.

Luke
quelle
3
-1: Diese Antwort weist viele Ungenauigkeiten auf. (1) 3 GHz ist keine "Geschwindigkeitsbegrenzung". Es gibt Prozessoren, die mit höheren Frequenzen als 3 GHz arbeiten. Die Grenze, auf die der CPU-Hersteller stieß, bestand darin, leistungsstärkere Prozessoren in einem nachhaltigen Leistungsbereich unterzubringen. (2) Ihr zweiter Absatz impliziert, dass Multi-CPU-Motherboards eingeführt wurden, weil das "Tempolimit" erreicht wurde. Tatsächlich gab es Motherboards mit mehreren Sockeln etwa 5-10 Jahre zuvor (vielleicht sogar länger, ich kann kein genaues Datum finden, wann PC-Server Multi-Core-fähig wurden).
Hanleyp
Ich weiß, dass es nicht 100% richtig ist und ich habe versucht, meine Antwort in Laienbegriffen zu halten. Es ist nur eine heruntergekommene Version, damit die Leute irgendwie verstehen, was der Unterschied ist. Ich bin mir sicher, dass die Leute, wenn sie wirklich wissen wollen, was sie wollen, mehr für sich selbst herausfinden werden. Paragraph 2 beginnt mit "In der Zwischenzeit", was bedeutet, dass CPU's schneller gemacht werden und dass Multi-Socket-CPU-Motherboards erstellt wurden (was ungefähr 10 Jahre her ist).
Luke
Das ist cool. Ich wollte nur darauf hinweisen, was meiner Meinung nach Klärung bedarf. Ich mache meine Abstimmung rückgängig, kann es aber nicht, wenn Sie die Antwort nicht irgendwie bearbeiten.
Hanleyp
Ich nehme gerne Änderungen vor, aber was genau soll ich ändern? Dass es CPUs gibt, die bis zu 3,2 Gigahertz oder etwas höher sind? Können Sie bitte klarstellen?
Luke
2
-1: Sie erklären, warum wir Multicore-Systeme sehen, aber das hat der Fragesteller nicht gefragt. Sie haben den Unterschied zwischen mehreren Kernen und mehreren Prozessoren nicht erklärt.
John Fouhy
1

Aus Sicht der Softwareentwicklung gibt es relativ wenig Unterschiede.

Einige falsch geschriebene Multi-Thread-Anwendungen funktionieren möglicherweise versehentlich auf einem Multi-Core-Prozessor, aber nicht auf einem Multi-Prozessor-Motherboard, aber ich würde nicht zu viel Schlaf verlieren, da ... nun ... wir falsch reden geschriebene Software.

Der Hauptunterschied zwischen den beiden Szenarien für die gleiche Gesamtanzahl verfügbarer Kerne (z. B. 1x 4-Kern-Prozessor im Vergleich zu 2x 2-Kern-Prozessor) besteht darin, dass im Fall des Multiprozessor-Szenarios in der Regel ein größerer Gesamtspeicher vorhanden ist Bandbreite. Dies bedeutet, dass Sie für jede speicherintensive Arbeitsauslastung mit letzterer möglicherweise besser dran sind. Beachten Sie jedoch, dass das Sperren von Grundelementen (abhängig von der Hardwareimplementierung) tatsächlich etwas langsamer sein kann, sodass Algorithmen, die viel Synchronisation verwenden, bei letzteren möglicherweise eine schlechtere Leistung erzielen.

Trotzdem würde ich mich auch dann nicht allzu sehr um den Unterschied kümmern, denn wenn Sie in einem Bereich arbeiten, in dem dieser Unterschied von Bedeutung ist, wissen Sie höchstwahrscheinlich bereits Bescheid (domänenspezifisches Wissen).

jerryjvl
quelle