[Kaufberatung] Dual oder Quad in Hinblick auf moderne (Linux)kernel & Scheduler

MoonKid

Enthusiast
Thread Starter
Mitglied seit
19.08.2011
Beiträge
31
Die FAQ hab ich natürlich brav gelesen. Insbesondere

Mein Prozessor hat einen Takt von 2 GHz und zwei Kerne. Ist er nun so schnell wie ein Single-Core-Prozessor mit 4 GHz?

und

Soll ich einen Dual- oder Quadcore kaufen? Welcher ist besser wofür?.

Es "befriedigt" mich jedoch nicht so ganz. :d

Bevor ich ins Detail gehe, vielleicht meine Gedanken kurz zusammengefasst:
Ich habe die Vorstellung, dass ein QuadCore effizienter arbeitet, als ein DualCore, da moderne Betriebssysteme (z.B. aktuelle Linux Kernel) doch in der Lage sein müssten, die mehrfahcen aktiven Prozesse in einem System auf vier Kerne verteilen zu können. Geschwindigkeit (im Sinne von Takt) spielt eigentlich keine Rolle, da ich keine Spitzenlasten (mit Games, Kompilieren, Bild-/Videobearbeitung, etc) produziere.

btw: Aktuell laufen laut ``ps -eLf | tail -n+2 | wc -l`` 498 Prozesse (aber nicht alle aktiv denke ich).

Es ist ein simpler Office Rechner. Bisl Programmieren tue ich auch und bisl Daten rumschubbsen. Aber nix was eine HighEnd CPU erfordert.
Als Software-Entwickler ist mir die Verteilung von Threads durchaus klar. Allerdings verstehe ich das Betreiben von Schedulern scheinbar falsch, den es ist scheinbar immer noch nicht so einfach, die vielen Prozesse auf mehrere Kerne zu verteilen.
Die Kiste soll mind. 5 Jahre laufen. Eigentlich so lange bis sie abraucht. btw: Derzeit arbeite ich mit einem AMD-K7 1GHz. ;)
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ich habe die Vorstellung, dass ein QuadCore effizienter arbeitet, als ein DualCore, da moderne Betriebssysteme (z.B. aktuelle Linux Kernel) doch in der Lage sein müssten, die dutzenden aktiven Prozesse in einem System auf vier Kerne verteilen zu können. Geschwindigkeit (im Sinne von Takt) spielt eigentlich keine Rolle, da ich keine Spitzenlasten (mit Games, Kompilieren, Bild-/Videobearbeitung, etc) produziere.

Ja, aber bei Deinem Anwendungsgebiet würden 3 Kerne schlafen gelegt und einer arbeitet dann bei nur 20% seiner maximalen Leistungsfähigkeit alle Threads ab, weil
  1. Sind die Kerne nicht stufenlos getaktet, wie ein Volume- Regler beim Radio
  2. Kosten aktive Kerne mehr Strom als wenn einer dafür stärker belastet ist
 
@MoonKid
Ich sehe ein Quad auch eher im Vorteil gegenüber einem Dual Core.
Das Verteilen von vielen Aufgaben geht sehr gut bisher, aber das verteilen von Aufgaben in Abhängigkeit der Lösung ist schwierig.
Inzwischen wird vieles über "Queues" gelöst, Aufteilen der Aufgaben und sammeln von Ergebnisse im Cache um sie wieder zu nutzen.

Der Windows 10 Scheduler ist flexible in der Hinsicht (CPU Auslastungs Diagramm: rot= Linux VM client - grün=Windows 10 host)
http://www.abload.de/img/universehome_lubuntuxi9k38.jpg
 
D.h. es ist auch mitentscheiden, wie stark die Prozesse die CPU auslasten? Also habe ich vier Prozesse die je 1% pro Kern auslasten, wird der Scheduler nicht die anderen drei Kerne anschmeißen? ;)
 
Evt. hilft dir auch Process Lasso um die Möglichkeiten zu sehen die einem Prozess zugewiesen werden können: https://bitsum.com/
Das ging Vorher natürlich nicht direkt im Programm, aber inzwischen schon.
Process Lasso hat den Vorteil, Regeln für die .exe (Execute) zu erstellen wie der Taskmanager von Windows.
Was Process Lasso anders macht, ist das merken der Regeln und automatisch Anwenden sobald die Anwendung startet.
Beim Taskmanager musst nach jedem Programm neustart die Regeln neu konfigurieren und es sind bei weitem nicht so viele Prios möglich.
Bsp: http://abload.de/img/processlasso_prios0sswn.jpg
 
das wissen wir nicht, da musst du den Scheduler-Code befragen. Wenn du allerdings tatsächlich noch einen Single-Core von 2005 verwendest, wird alles, was man heute sinnvoll neu kaufen kann schneller sein. Da das eigentlich auch mit dem Preis skaliert und nur im Niedrigpreissegment die Frage Kerne (AMD) oder Takt (Intel) relevant ist und diese wiederum von anderen Punkten (Stichwort FPU, IGP) in den Hintergrund gedrängt wird, ist deine Frage mehr oder weniger sinnlos und ich empfehle dir einen Intel zu kaufen, weil der die gleiche Rohleistung hat, wie ein AMD, bei niedriger Auslastung sowieso runtertaktet und bei Vollast dank der Fertigungsvorteile auch nicht viel mehr braucht (und Vollast ist eher selten). Wenn du aber einen guten Deal für einen AMD mit 4 Kernen findest, ist das aber schon auch ok, einen AMD mit 2 Kernen würde ich, wie auch einen Atom Celeron N mit 2 Kernen eher meiden, es sei denn, Board+CPU kosten weniger als 40€.
 
Zuletzt bearbeitet:
@Phantomias88
Sieht aus wie Windows-Software? No!
Nebenbei wäre das grundsätzlich eine schlechte Von-hinten-durchs-auge-lösung auf einem Desktop-System.
Ich halte das Betriebssystem (auch Windows) grundsätzlich für intelligenter als den User selbst, weshalb es diese Zuteilung selbstständig vornehmen sollte. Das OS hat einfach mehr Infos über die Prozesse als der User.

@flxmmr
Verstehe - halb. Bei AMD ist leider das Problem, dass ich keinen passenden Barebone finde.
 
Zuletzt bearbeitet:
Würde einen einfachen Intel Desktop-Celeron (z.B. G1840, G3900) empfehlen, alles andere wäre wohl Overkill bei dem Anwendungsszenario.
 
Bevor ich ins Detail gehe, vielleicht meine Gedanken kurz zusammengefasst:
Ich habe die Vorstellung, dass ein QuadCore effizienter arbeitet, als ein DualCore, da moderne Betriebssysteme (z.B. aktuelle Linux Kernel) doch in der Lage sein müssten, die mehrfahcen aktiven Prozesse in einem System auf vier Kerne verteilen zu können. Geschwindigkeit (im Sinne von Takt) spielt eigentlich keine Rolle, da ich keine Spitzenlasten (mit Games, Kompilieren, Bild-/Videobearbeitung, etc) produziere.
In der Realität bringt hier ein Quadcore keinen Vorteil, eher den gegenteiligen Effekt wirst Du sehen. Solange die Kerne nicht voll ausgelastet sind, solange bringen mehr Kerne nicht viel. Man kann etwas sparen indem die Zeit zwischen den Kontextwechseln (also das Umschalten zwischen Prozessen und eingeschränkter zwischen Threads) verringert wird, da die Prozesse auf unterschiedlichen Kernen laufen können und somit die Zahl der Kontextwechseln verringert wird. Bei Server kann man unter Linux spezielle konfigurierte Kernel nehmen, die die Zeit zwischen den Kontextwechsel erhöhen und somit die Effizienz steigern. Dafür wird das System träger, weil die Latenzen ansteigen. Für Desktopnutzung oder für Serveraufgaben mit dem Bedarf niedriger Latenzen ist dies nichts.

Bei einem Bürosystem ist eher wichtiger, daß man für kurze Zeiträume möglichst hohe Singlethreadleistung zur Verfügung hat. Die bekommt man bei einem i3 deutlich billiger als bei einem i5 oder i7, denn nur die teuersten Modelle von i5 und i7 erreichen die SingleThread Performance eines i3-6100.
 

Ähnliche Themen

Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh