Mehrkernprozessor ist nicht meine Welt

Wie soll ich denn mit Office Anwengungen nen 5000+ BE @ 3,2 Ghz zu 100% auslasten?

Ich meine damit das zB beide Kerne bei PowerPoint zu 7% ausgelastet sind.
Also gleichmäßig.


das hat nichts damit zu tun, dass Powerpoint Mehrkernsysteme unterstützt ;)

Das Programm läuft trotzdem immer nur auf einen Kern.
Windows wechselt diesen einen Kern halt permanent und verteilt die Last gleichmäßig auf beide Kerne.
Dadurch wird das Programm aber in keiner Weise beschleunigt.

Ein zweiter Kern bringt m.E. auch erst dann einen Vorteil, wenn dieser zu 100% ausgelastet ist und man weitere Arbeiten auf einen weiteren Kern "auslagern" kann.
Ein DualCore mit 75% Auslastung ist so rein theoretisch ~50% schneller als ein gleichwertiger SingleCore bei 100% Auslastung.
 
Ok dann ist Windows wohl der Dumme der da quasi ein Core-Switching macht und es langsamer wird oder?
Ich meine soll doch Windows erstmal den Core0 zu 100% beschäftigen bevor es den zweiten Kern zB für PowerPoint vergibt?

Aber dennoch, selbst wenn PowerPoint es könnte, wie kann man mit PowerPont einen X2 zu 100% auslasten?
.
EDIT :
.

Führe in Excel einfach ne Monte-Carlo-Simulation durch ;D


Wozu?
:)
 
Ok dann ist Windows wohl der Dumme der da quasi ein Core-Switching macht und es langsamer wird oder?
So ist es, Windows switcht da hin und her und manche SingleCore Anwendungen mögen das nicht (ich weiß nur bei Warcraft3 was zusammen mit diversen Energiespareinstellungen ins Stottern gerät.)

Das Switchen sollte man dann für diese Programme deaktivieren, das geht ganz einfach indem man manuell den einzelnen Prozessen die genaue CPU vorgibt.

Ich meine soll doch Windows erstmal den Core0 zu 100% beschäftigen bevor es den zweiten Kern zB für PowerPoint vergibt?
Warum Windows dies genau so macht, weiß ich leider auch nicht :-/
Ich habe mal die Vermutung gehört, dass man die termische Belastung gleichmäßig verteilen will *noahnung*
 
Warum Windows dies genau so macht, weiß ich leider auch nicht :-/
Ich habe mal die Vermutung gehört, dass man die termische Belastung gleichmäßig verteilen will *noahnung*

Ziel des Schedulers sollte es immer sein, die vorhandenen Prozessoren gleichmäßig auszulasten. Das bringt den besten Durchsatz im System. Dabei ist dann die Affinität der Prozesse zu den Prozessoren zu beachten, da zu starkes switchen zu vermehrten Cache-Misses führt. Damit wird das System dann insgesamt ausgebremst.
 
Ziel des Schedulers sollte es immer sein, die vorhandenen Prozessoren gleichmäßig auszulasten. Das bringt den besten Durchsatz im System.

ja aber wieso?

Jeder Switch kostet doch immer Zeit.
Wodurch entsteht dann ein genauer Vorteil um diesen Nachteil zu kompensieren?
 
ja aber wieso?

Jeder Switch kostet doch immer Zeit.
Wodurch entsteht dann ein genauer Vorteil um diesen Nachteil zu kompensieren?

Mach es dir am zeitlichen Ablauf deutlich. Du hast zwei Prozessoren und eine Vielzahl von Prozessen. Die Entscheidung, welcher Prozess als nächste laufen darf, hängt von einer Vielzahl von Faktoren ab. Wenn jetzt ein Zeitslot auf einem Prozessor frei ist, wird der nächste wartende Prozess genommen. Und genau dadurch kann er auf den anderen Prozessor migriert werden. Wenn besagter Prozess X vorher auf Prozessor 1 lief, jetzt aber Prozessor 2 frei ist, und der Scheduler entscheidet, dass Prozess X jetzt laufen soll, dann migriert er auf Prozessor 2. Würde der Scheduler das nicht machen, würde er den entsprechenden Prozess benachteiligen, im schlimmsten Fall sogar verhungern lassen.
Die Kriterien für die Auswahl eines Prozesses sind ziemlich schwierig (Prioritäten, Faireness, Ressourcenbindung, lauffähige, schlafende und blockierte Prozesse), und der Windows Scheduler ist auch nicht gerade für seine Effizienz bei großen Maschinen bekannt. Auf 2- oder 4-Prozessor Systemen dürfte das aber noch nicht so sehr ins Gewicht fallen.
 
ok, das heißt in jedem Fall, dass ein bearbeiteter Prozess für den Wechsel nicht explizit unterbrochen wird ???

Es ist dann also die Entscheidung:
Ziehe ich auf Prozessor 2 um, wo gerade auf mich gewartet wird
oder
warte ich noch eine unbestimmte Zeit bis mein Prozessor 1 endlich Zeit für mich hat.

So richtig?


Das ist ja irgendwie ähnlich bei Frauen *suspect*


*lol*
 
ok, das heißt in jedem Fall, dass ein bearbeiteter Prozess für den Wechsel nicht explizit unterbrochen wird ???
Richtig, extra dafür wird nie ein Prozess unterbrochen. Es gibt nur zwei, nein drei Möglichkeiten, wieso ein laufender Prozess unterbrochen wird.
1. Der Prozess hat sein Zeitkontingent ausgeschöpft, und muss einem andere Prozess Platz machen.
2. Es kommt ein höher priorisierter Prozess (Interrupt), welchem der laufende Prozess Platz machen muss.
3. Der Prozess muss auf ein externes Ereignis warten (I/O), und kann deshalb noch nicht weiter rechnen.

Es ist dann also die Entscheidung:
Ziehe ich auf Prozessor 2 um, wo gerade auf mich gewartet wird
oder
warte ich noch eine unbestimmte Zeit bis mein Prozessor 1 endlich Zeit für mich hat.

So richtig?
Ja, so in etwa kann man es ausdrücken. Es ist immer Sache des Schedulers zu entscheiden, welchen Prozess er jetzt auf den freien Prozessor schiebt. Für Mehrprozessorsysteme wird die Entscheidung schwerer als für Uniprozessorsysteme, für NUMA-Systeme wächst die Entscheidungskomplexität nochmal gravierend. Ein guter Scheduler vermeidet den Wechsel auf andere Prozessoren, aber nicht um jeden Preis.
 
So am Rande mal ne Grundsatzfrage worüber wir eigentlich hier reden:

Wenn ich eben viele Anwendungen habe die warum auch immer einen Kern lieber mögen, so ist doch trotzdem ein X2 besser wie ein alter SC oder nicht?

Ich sage mal selbst der stärkste Athlon64 zB der FX der aber unerschwinglich ist ist doch langsamer wie ein einzelner Kern zB eines Kuma oder nicht?

Also schalte ich einfach im Task Manager den Kern weg und feddich oder nicht?

So what?
 
Wenn eine SC CPU schneller ist wie ein einzelner Kern eines Mehrkernsystems (Mehr Cache, mehr Mhz etc), laufen auf diesem SC-Rechner Anwendungen, die kein Mehkern-System unterstützen, natürlich schneller.

Eine SC Anwendung profitiert grds. nicht von einem Mehrkernsystem, sofern er die volle CPU zur Verfügung hat.
Auf einem MC System kann ich aber problemlos 2 solcher SC Anwendungen mit vollem Tempo laufen lassen.
 
Ich sage mal selbst der stärkste Athlon64 zB der FX der aber unerschwinglich ist ist doch langsamer wie ein einzelner Kern zB eines Kuma oder nicht?

Athlon64: 4000+ // Kuma: 2700+

So weit ich mich entsinne, wurden Singlecores aufgegebn,
weil die Leistung aus einem Kern, bis aufs Letzte ausgereizt war.
 
Athlon64: 4000+ // Kuma: 2700+

So weit ich mich entsinne, wurden Singlecores aufgegebn,
weil die Leistung aus einem Kern, bis aufs Letzte ausgereizt war.


ich denke eher, was mit einem Kern möglich ist, geht dann auch in einer Mehrkern-CPU.
Die technischen Rahmenbedingungen sind ja identisch.
Da dies momentan der Trend ist, sind Einkernsysteme halt "out", ob es Sinn macht oder nicht....
Ob man 4 oder mehr Kerne braucht muss auch jeder individuell mit seiner benutzten Software abklären.

Mittlerweile haben es viele schon geschafft, 2 Kerne auch zu nutzen.
 
ich denke eher, was mit einem Kern möglich ist, geht dann auch in einer Mehrkern-CPU.
Die technischen Rahmenbedingungen sind ja identisch.
Nein, die termischen und elektrischen Bedingungen sind schon andere. Statt einem Kern sind es plötzlich mind. zwei, die Strom ziehen und Abwärme erzeugen. Deshalb gab es die Singlecores auch erstmal grundsätzlich höher getaktet als Multicores.

Da dies momentan der Trend ist, sind Einkernsysteme halt "out", ob es Sinn macht oder nicht....
Singlecores sind deshalb "out", weil die Gesamtleistung des Systems nicht mehr hinreichend steigerbar war. Beim Singlecore ist die Leistung prinzipiell nur steigerbar über Takt oder IPC. Beides ist zumindest momentan an seinen Grenzen angekommen. Deshalb ist man dazu übergegangen die Leistung per Parallelisierung des Problems zu erhöhen, also mehr Prozessoren. Das geht natürlich nur bei Problemen, die sich hinreichend parallelisieren lassen und ist für die Entwickler von Software wesentlich aufwändiger. Und deshalb dauert es auch so lange, bis aus Mehrprozessorsystemen auf breiter Front wirklich Nutzen gezogen werden kann.
Ein Vorteil bietet sich schon durch die Multitaskingsysteme, welche zunehmend ausgenutzt werden (Spamfilter, Antivirusprogramm und diverse anderer Kram im Hintergrund). Der wirkliche Nutzen wird sich erst erschließen, wenn es die Softwareentwickler hinbekommen, ihre Programme selber zu parallelisieren und multithreaded zu schreiben.
 
Ein Mehrkern Rechner hat aber auch eine größere Oberfläche die Abwärme auch besser ableitet *noahnung*
Ein Blick auf manche GPUs zeigen ja auch relativ deutlich, was da so alles physikalisch möglich ist ???


Ob man beim SingleCore an die Grenzen kommt?
Mittlerweile sind doch die 3 Ghz problemlos durchbrochen.
Das war vor 3-4 jahren auch noch undenkbar.
Vor 10 Jahren waren die 1 Ghz undenkbar.

Was ich eher meinte:
Ein Mehrkern macht nicht immer Sinn, bzw. bringt nicht die erhoffte Mehrleistung die man erwarten könnte.
Irgendwie muss man dem Kunden aber eine Mehrleistung verkaufen, ob nun nutzbar oder nicht.
Die Mehrleistung in Form von Mehrkernprozessoren ist aber sicherlich einfacher zu realisieren als die nächsten Ghz Grenzen zu durchbrechen.
Als aber die ersten 2Kern Prozessoren auf den Markt kamen, konnte doch noch kaum eine Alltagssoftware etwas damit anfangen. Im Alltagsbetrieb waren die Rechner dann seltens schneller.
 
Ein Mehrkern Rechner hat aber auch eine größere Oberfläche die Abwärme auch besser ableitet *noahnung*
Ein Blick auf manche GPUs zeigen ja auch relativ deutlich, was da so alles physikalisch möglich ist ???
Das bringt dir aber nichts, wenn die Gesamtleistung, die abzuführen ist, zu groß wird. Wenn jetzt statt 115W plötzlich 230W abzuführen sind, ist das für den Kühler irgendwann nicht mehr machbar. Die elektrischen Spezifikationen, die der Sockel zu erfüllen hat, sind auch ein Faktor.

Ob man beim SingleCore an die Grenzen kommt?
Mittlerweile sind doch die 3 Ghz problemlos durchbrochen.
Das war vor 3-4 jahren auch noch undenkbar.
Vor 10 Jahren waren die 1 Ghz undenkbar.
Und weiter? Mit dem P4 waren 10GHz anvisiert, was für den auch notwendig gewesen wäre. Die Steigerungsraten waren nicht mehr gegeben. Natürlich wird es auch weiterhin Verbesserungen geben, so dass die Leistung eines einzelnen Kerns steigt. Aber eben nicht mehr in dem Maße.

Was ich eher meinte:
Ein Mehrkern macht nicht immer Sinn, bzw. bringt nicht die erhoffte Mehrleistung die man erwarten könnte.
Irgendwie muss man dem Kunden aber eine Mehrleistung verkaufen, ob nun nutzbar oder nicht.
Die Mehrleistung in Form von Mehrkernprozessoren ist aber sicherlich einfacher zu realisieren als die nächsten Ghz Grenzen zu durchbrechen.
Als aber die ersten 2Kern Prozessoren auf den Markt kamen, konnte doch noch kaum eine Alltagssoftware etwas damit anfangen. Im Alltagsbetrieb waren die Rechner dann seltens schneller.
Genau. Zweiprozessorsysteme werden mittlerweile durch das Multitasking ganz gut ausgelastet. Und ansonst passt sich die Softwareindustrie ja auch langsam an. Intel investiert verdammt viel dort. Hier wird sich jetzt wahrscheinlich auch erstmal die Spreu vom Weizen trennen, da parallel zu programmieren doch deutlich anspruchsvoller ist.
 
Und weiter? Mit dem P4 waren 10GHz anvisiert, was für den auch notwendig gewesen wäre. Die Steigerungsraten waren nicht mehr gegeben. Natürlich wird es auch weiterhin Verbesserungen geben, so dass die Leistung eines einzelnen Kerns steigt. Aber eben nicht mehr in dem Maße.

Was ist denn "dem Maße" ?
Wurde bis jetzt eine Grenze erreicht?


Ich finde es ja nicht schlecht, dass man statt nur in die Höhe (Ghz) nun auch in die Breite denkt (Mehrkern), sehe aber irgendwie noch nicht so richtig, wo man an eine Grenze gestoßen ist.
 
Wurde bis jetzt eine Grenze erreicht?
Man ist in der Rentabilität an eine Genze angekommen. Physikalisch ist noch mehr drin, wie gesagt die 10GHz beim P4 waren angepeilt und durch eine angepasste Architektur ist da auch noch mehr drin, aber die daraus resultierende Verlustleistung und Technische Aufwand rechtfertigt die gewonnen Leistung nicht. Für Intel und AMD ist der Aufwand aus SC mach DC viel geringer. Wenn man will kann man Intel und AMD unterstellen sie schieben den schwarzen Peter an die Softwareentwickler weiter. Man selber kommt kann aus dem SC nicht mehr viel raushohlen also parallelisieren sie und überlassen es der Software ob diese Parallelisierung auch wirklich genutzt wird ;)
Aber was bleibt ihnen anders übrig? Die Steigerung der IPC ist sehr Aufwendig und Entwicklung dauert Zeit, man würde nur mit IPC Steigerung und SC heute nicht die Produkte anbieten könne die der Markt auch braucht. Mit Multi Core und angepasster Software geht das eben schon.
 
Zuletzt bearbeitet:
ich kritisiere die Richtung Mehrkern auch nicht ;)

Ich finde es immer gut, wenn man Optimierungen in viele Richtungen vorran treibt.
Trotzdem wurde die Ghz Zahl ja auch weiter gesteigert und stagnierte nicht bei 2.0-2,5Ghz.

Eine Verdopplung oder vervierfachung der Leistung bei speziellen Programmen würde man mit SC Prozessoren in dieser relativ kurzen Zeit auch nicht erreichen können.
 
Ich finde es immer gut, wenn man Optimierungen in viele Richtungen vorran treibt.
Trotzdem wurde die Ghz Zahl ja auch weiter gesteigert und stagnierte nicht bei 2.0-2,5Ghz.

Eine Verdopplung oder vervierfachung der Leistung bei speziellen Programmen würde man mit SC Prozessoren in dieser relativ kurzen Zeit auch nicht erreichen können.
Die Verlustleistung steigt ca. quadratisch mit dem Takt an.
Zudem sind vielen Algorithmen parallelisierbar.
Der seit Jahre vorhandene Erfolg der 3D-Grafik per GPU zeigt auch was nie eine x86-64 CPU allein geschafft hätte. Man müßte wahrscheinlich 100-500 GHz Single-Core bauen um jene Leistungen alternativ zu generieren (PCs mit Drehstromstecker sind etwas unpraktisch in der heimischen Plazierung - entweder Herd anschließen oder PC ... )

Bedingt wäre Single-Core Leistung noch zu bessern durch 64 Bit Software.Aber das ist das Potential begrenzt.

Multicore ist einfach sinnvoller und die Waferkapazitäten sind ja verfügbar.
 
also bisher ist der Verbrauch mit dem Takt linear und quadratisch mit der Spannung angestiegen ...
Vielleicht hat aber das Universum was an den physikalischen Gesetzmäßigkeiten geändert
 
Der seit Jahre vorhandene Erfolg der 3D-Grafik per GPU zeigt auch was nie eine x86-64 CPU allein geschafft hätte.

Das hat aber ganz andere Gründe...
Ich fahre auch kein Formel1 Rennen mit einem 30 Tonner + 20m Anhänger ....

Wenn man alten x86 Quatsch (sowie andere Kompatibilitäts-Merkmale) mal komplett ignorieren könnte, hätte man wohl auch bessere Möglichkeiten.
 
Das hat aber ganz andere Gründe...
Ich fahre auch kein Formel1 Rennen mit einem 30 Tonner + 20m Anhänger ....

Wenn man alten x86 Quatsch (sowie andere Kompatibilitäts-Merkmale) mal komplett ignorieren könnte, hätte man wohl auch bessere Möglichkeiten.

Äh, und die wären? Welche Architektur ist denn so viel besser und leistungsfähiger als x86? Und mit x86_64 sind ein großer Teil der alten Kompatibilitätszöpfe eh schon abgeschnitten worden.
 
Äh, und die wären? Welche Architektur ist denn so viel besser und leistungsfähiger als x86? Und mit x86_64 sind ein großer Teil der alten Kompatibilitätszöpfe eh schon abgeschnitten worden.


Welche Architektur (bzw. Betriebssystem) ist denn "Neu" und wird Flächendeckend eingesetzt?
Eben, keine... :( (Wobei ich mich bei Großrechnern etc. nicht auskenne)

Würde man wieder exakt das x86 Design wählen, wenn man von Null anfangen würde?
 
Zurück
Oben Unten