PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vista skaliert mit maximal 4 CPU-Cores


AnarchX
2007-05-24, 11:49:52
Wie bei einer Podiumsdiskussion von Ty Carlson, dem Direktor für technische Strategie bei Microsoft, zugegeben wurde, nutzt Vista maximal vier CPU-Kerne optimal aus. Für mehr CPU-Kerne sei der Thread-Scheduler nicht ausgelegt. Der Thread-Scheduler verteilt die einzelnen gleichzeitig laufenden Threads auf die einzelnen CPU-Kerne.
[...]

http://www.pcgameshardware.de/?article_id=602038
:|

Stimmt das wirklich?
Da könnte ja AMD QuadFX mit Agena FX oder Intel Skulltrail gleich canceln.

nggalai
2007-05-24, 11:52:48
Golem hatte das auch drin:

http://www.golem.de/0705/52474.html

Überrascht bin ich nicht. Es ist nicht ganz trivial, viele Kerne zu unterstützen. OS X Tiger hat damit (je nach Software) auch seine Probleme; After Effects CS 3 läuft sehr gut mit 8 Kernen, während z. B. Cinema4D gerade mal 45% Mehrleistung gegenüber 4 Cores hinkriegt …

Ganon
2007-05-24, 12:08:09
Überrascht bin ich nicht. Es ist nicht ganz trivial, viele Kerne zu unterstützen. OS X Tiger hat damit (je nach Software) auch seine Probleme; After Effects CS 3 läuft sehr gut mit 8 Kernen, während z. B. Cinema4D gerade mal 45% Mehrleistung gegenüber 4 Cores hinkriegt …

Das liegt dann aber an der Software.

Diese News meint eher das man unter Vista nicht mehr als 4 CPUs auslasten kann, auch mit unabhängigen (!) Programmen, da die Thread-Verwaltung von Vista da nicht mitmacht.

OS X Tiger (Panther afaik nur 4) kann 16 CPUs effektiv verwalten. In Leo sollen es mehr werden.

nggalai
2007-05-24, 12:37:11
Das liegt dann aber an der Software.
Jo. Denke ich auch. Aber das dürfte noch auf einige Software zutreffen … für eine ganze Weile gab’s maximal Quadcores von Apple; C4D wurde offensichtlich auf Quad optimiert, was sich jetzt rächt.

Ich bin mal gespannt, wie das mit der Servervariante von Vista aussehen wird. Ich sehe schon Designer ein Server-OS auf ihre Workstations installieren, damit sie auch was von ihren teuren Okto-Rechnern haben. :D

iDiot
2007-05-24, 12:52:04
Wieso? Die Software, die die Kerne nutzt, verlässt sich doch nicht auf den Windows Scheduler?

Ganon
2007-05-24, 12:53:29
Wieso? Die Software, die die Kerne nutzt, verlässt sich doch nicht auf den Windows Scheduler?

Die Software startet doch auch nur Threads, die dann Windows verwaltet.

iDiot
2007-05-24, 12:59:12
ja aber die software weist den threads die cpus zu, und nicht Windows... somit wärs egal.

Ganon
2007-05-24, 13:05:49
Die Software erstellt, wie gesagt, nur die Threads. Unter Windows (geht unter Linux(?) und MacOSX nicht) kannst du dann noch die Threads den CPUs zuweisen, aber das macht dann trotzdem Windows. Und auch wenn du halt jedem Thread sagt das er nur auf einer CPU laufen soll, kann Vista dann nur 4 CPUs auf ein mal verwalten. Die anderen warten.

Im Normalfall werden einfach nur entsprechend viele Threads erzeugt und fertig. Den Rest macht der Windows Scheduler.

iDiot
2007-05-24, 13:10:35
Das kann ich mir nicht vorstellen... wir haben hier einen 8-Wege Server auf WinServer 2003 am laufen, da sind bei vielen Datenbankzugriffen auch 8 Kerne am rechnen... und Vista basiert ja auf dem 2003er Kernel

ich glaube, es ist eher vista selbst gemeint, das die Hintergrundprozesse die mit windows laufen sich auf nicht mehr als 4 Kerne vernünftig verteilen lassen.
Erzeugt eine Anwendung die Threads wird das wohl nicht so sein, da kapiert win das und verteilt die threads auf die einzelnen Kerne.

Mr.Gonzo
2007-05-24, 13:13:06
ja aber die software weist den threads die cpus zu, und nicht Windows... somit wärs egal.

Das ist die Aufgabe von Windows. Du kannst zwar die Affinität manuell setzen, aber selbst das ist keine 100% Garantie (eher ein Wunsch, den man anfordert), ob das der Scheduler dann auch wirklich so macht. Anders sieht es z.B. bei der Entwicklung auf der XBOX 360 aus. Dort musst du jeden Thread eine explizite Affinität zuweisen. Da muss man aber auch nicht auf ein perfektes Load Balancing achten, da eben nur ein Spiel läuft.

Ganon
2007-05-24, 13:29:05
Das kann ich mir nicht vorstellen... wir haben hier einen 8-Wege Server auf WinServer 2003 am laufen, da sind bei vielen Datenbankzugriffen auch 8 Kerne am rechnen...

Das Windows 2003 das nicht kann, sagt ja keiner. Windows 2003 kann afaik 32 Kerne verwalten.

In Vista wurde aber wohl einiges verschlimmbessert. Steht da ja auch:

Die Skalierfähigkeit der Desktop-Versionen von Windows, vor allem bei Windows XP, ist arg begrenzt. In der Kritik steht dabei immer wieder der Thread-Scheduler, der die hunderte von gleichzeitig laufenden Threads an die einzelnen Kerne verteilt. Dieser Teil des Kernels soll mit Windows Vista gründlich überarbeitet worden sein, bei vier Kernen ist nun offenbar aber Schluss. Ob sich bei Servern der Windows Server 2008 wesentlich anders verhält, ist noch ungeklärt

---

Erzeugt eine Anwendung die Threads wird das wohl nicht so sein, da kapiert win das und verteilt die threads auf die einzelnen Kerne.

Eben genau dieser Part ist in Vista auf 4 Kerne begrenzt...

PatkIllA
2007-05-24, 13:32:31
Eben genau dieser Part ist in Vista auf 4 Kerne begrenzt...Der ist nicht auf 4 begrenzt, sondern man könnte es bei mehr als 4 Kernen besser machen. Vielleicht schieben sie ja auch mal ein Kernelupdate nach.
Wie es wirklich gut gewesen wäre, weiß man eh erst dann wenn der Job abgearbeitet ist und es zu spät ist. Andererseits darf man beim Scheduler auch nicht zuviel CPU-Zeit verbrauchen, sonst dauert das Erstellen des Schedules nachher länger als die Ausführung.

Ganon
2007-05-24, 13:35:12
Der ist nicht auf 4 begrenzt, sondern man könnte es bei mehr als 4 Kernen besser machen. Vielleicht schieben sie ja auch mal ein Kernelupdate nach.

Wie man es ausdrücken möchte ;)

Ich denke mal das dort was mit SP1 oder SP2 geändert wird. Müssen sie ja, sonst kann man Vista ja in einigen professionellen (nicht Server) Bereichen ja einmotten. Denn unter OS X profitieren Anwendungen wie C4D ja schon von 8 CPUs.

PatkIllA
2007-05-24, 13:36:40
Denn unter OS X profitieren Anwendungen wie C4D ja schon von 8 CPUs.Das wird auch unter Vista davon profitieren.

iDiot
2007-05-24, 14:13:48
Das wird auch unter Vista davon profitieren.

Genau das meine ich ja. Professionelle Anwendungen, die viele CPU Kerne benötigen setzen da imho nicht auf den Standard Windows Scheduler.

Ganon
2007-05-24, 14:26:54
Genau das meine ich ja. Professionelle Anwendungen, die viele CPU Kerne benötigen setzen da imho nicht auf den Standard Windows Scheduler.

Welchen dann? Liefern die einen eigenen Windows-Kernel mit, oder wie?

Nicht umsonst laufen Multithread-Anwendungen (z.B. Datenbanken) unter jedem System unterschiedlich schnell. Wenn man nicht den System-Scheduler nutzen würde (wie auch immer das gehen soll), würden die ja überall gleich schnell laufen.

iDiot
2007-05-24, 14:36:41
Das Datenbanken auf manchen Systemen schneller laufen, liegt hauptsächlich am Dateisystem. ZFS von Solaris ist hier das schnellste, imho.

Nein, sie liefern keinen eigenen Kernel mit. Aber z.B.: Sony Vegas kann die Berechnungen sogar auf mehreren Rechnern durchführen ( für 1 User) - wie soll das gehen wenn die Programme die Rechenlast nicht selbst verwalten?

Mr.Gonzo
2007-05-24, 14:41:42
Welchen dann?

Einen eigenen. Der MS SQL Server ab Version 7 hat auch seinen eigenen "Usermode" Scheduler (UMS) und verwendet nicht mehr den von Windows.

Armaq
2007-05-24, 14:48:34
Vista skaliert heißt nicht alle Programme skalieren. Für mich steht da, dass Vista selbst mit bis zu 4 Kernen gut umgehen kann. Was ein Programm da macht ist nicht erheblich.

iDiot
2007-05-24, 14:48:59
Einen eigenen. Der MS SQL Server ab Version 7 hat auch seinen eigenen "Usermode" Scheduler (UMS) und verwendet nicht mehr den von Windows.
Oha. Daher weht der Wind :smile:
Danke!

Ganon
2007-05-24, 14:53:41
Das Datenbanken auf manchen Systemen schneller laufen, liegt hauptsächlich am Dateisystem. ZFS von Solaris ist hier das schnellste, imho.

Nope. Am Dateisystem liegt es sicher nicht und ZFS ist auch nicht wirklich das schnellste System bei all den Checksummen ;)

Aber z.B.: Sony Vegas kann die Berechnungen sogar auf mehreren Rechnern durchführen ( für 1 User) - wie soll das gehen wenn die Programme die Rechenlast nicht selbst verwalten?

Das ist distributed Computing und hat weniger was mit Threads zu tun. Hier werden Aufgaben (Datenpakete) an andere PCs im Netzwerk geschickt, damit diese die abarbeiten (wiederum in Threads). Bekannt ist auch Xgrid von OS X.

Ganon
2007-05-24, 15:00:00
Einen eigenen. Der MS SQL Server ab Version 7 hat auch seinen eigenen "Usermode" Scheduler (UMS) und verwendet nicht mehr den von Windows.

Ich finde Informationen dazu nur zu M$ SQL-Server. Wie sieht es mit C4D, Maya, MySQL, PostgreSQL und sonstige andere Anwendungen aus?

puntarenas
2007-05-24, 15:11:50
Und wie soll ein solcher Usermode Sheduler dann bitte an CPU-Zeit kommen, wenn nicht über den Sheduler im Systemkern? Möglicherweise gewichtet er die anwendungseigenen Threads nochmal nach sinnvollen Kriterien, aber irgendwann müssen sie abgearbeitet werden und die CPU steht schließlich nicht exklusiv zur Verfügung.

Ich bin wahrlich kein Fachmann, aber Anwendungen, die sich selbst CPU-Zeit zuteilen können sollen, das klingt für mich nach Chaos und gegenseitiger Behinderung. Außerdem heißt das Ding sicher nicht von ungefähr "Usermode", also immer schön hinten anstellen.

Macht mich schlau!

iDiot
2007-05-24, 16:11:34
Ich finde Informationen dazu nur zu M$ SQL-Server. Wie sieht es mit C4D, Maya, MySQL, PostgreSQL und sonstige andere Anwendungen aus?

Diese liefen doch schon vorher auf Windows mit mehr als 4 Kernen... ich kann mir da keinen Reim drauf machen.
Das der Scheduler von vista schlechter ist als der von 2003 wird nicht stimmen.

Und wenn Profi-Software vom Scheduler des OS abhängig ist, warum ist es dann so, dass diese verschieden agiert, wie ngallai behauptet hat?

Im Internet hab ich darüber noch nichts gefunden...

Ganon
2007-05-24, 16:32:28
Wer sagt denn das Windows Vista keine Software unterstützt die mehr als 4 Kerne nutzt/nutzen würde? Vista kann diese laut M$ halt nur nicht effektiv verwalten... "wird nicht stimmen" ist keine Aussage, wenn ein Microsoft-Manager was anderes sagt ;)

Und wie Multithread-Software von 8 Kernen profitiert ist auch abhängig von der Software selbst. Nur bringt es nix, wenn die Software super 8 CPUs auslasten könnte, aber das Betriebssystem da nicht mitmacht.

puntarenas
2007-05-24, 16:35:01
Und wenn Profi-Software vom Scheduler des OS abhängig ist, warum ist es dann so, dass diese verschieden agiert, wie ngallai behauptet hat?

Microsoft hat den Workaround zwar erfunden, aber ein Patent darauf haben sie nicht.

Im Artikel steht:
Wie bei einer Podiumsdiskussion von Ty Carlson, dem Direktor für technische Strategie bei Microsoft, zugegeben wurde, nutzt Vista maximal vier CPU-Kerne optimal aus.
Das bedeutet ja nicht, dass maximal 4 Kerne unterstützt werden, nur läßt wohl die Effizienz bei mehr Kernen noch Wünsche offen. Mal angenommen, dies war auf einem älteren Sheduler anders, heißt das ja nicht per se, dass der Vista-Sheduler schlechter ist.

xxxgamerxxx
2007-05-24, 16:56:32
Nur bringt es nix, wenn die Software super 8 CPUs auslasten könnte, aber das Betriebssystem da nicht mitmacht.

Wenn die SW selbst die 8 CPUs voll auslasten könnte, wäre das Problem auch nicht vorhanden.

HellHorse
2007-05-24, 17:24:46
Nope. Am Dateisystem liegt es sicher nicht und ZFS ist auch nicht wirklich das schnellste System bei all den Checksummen ;)
Gibt auch ganz lustige Datenbanken, die das Dateisystem umgehen und roh auf das Gerät schreiben.

Ganon
2007-05-24, 18:02:18
Wenn die SW selbst die 8 CPUs voll auslasten könnte, wäre das Problem auch nicht vorhanden.

Wenn du >theoretisch< ein OS hast, welche nicht mehr als 1 CPU nutzen kann. z.B. Linux ohne SMP-Kernel, dann funktioniert es garantiert nicht. Da kann die Software noch so viele Threads erstellen...

Eine Software könnte im Idealfall nur 8 Threads erstellen, die komplett unabhängig voneinander laufen. Und wann ein Thread auf welcher CPU läuft bestimmt das Betriebsystem.

Und wenn Vista hier, laut MS-Manager, nicht mehr als 4 CPUs effektiv versorgen kann, dann hilft alles nix.

Die gelbe Eule
2007-05-24, 18:25:09
Da ist die News doch sehr gut. Endlich wird dann bestehende Hardware weiter optimiert. Bedenkt man, daß nichtmal DC überall Wirkung zeigt, was will man dann schon mit 8 Kernen?

#44
2007-05-24, 18:34:27
Und wenn Vista hier, laut MS-Manager, nicht mehr als 4 CPUs effektiv versorgen kann, dann hilft alles nix.
Das kann viel bedeuten.

Wenn nun alle Kerne je einen Thread dauerhaft bearbeiten, der sie 80% auslastet und alle restlichen Threads (kleinkrams) nun zusätzlich von maximal 4 Cores abgearbeitet werden können wäre das auch nicht "Optimal"...

Ohne konkrete Zahlen und Fakten wie und wieviel man nun vom Optimum entfernt ist, fischen wir im Trüben. Und ohne optimalen Scheduler werden wir keine Vergleichszahlen bekommen.

Die Skalierfähigkeit der Desktop-Versionen von Windows, vor allem bei Windows XP, ist arg begrenzt. Und das bei Vista vlt. nichtmal so unabsichtlich...

Coda
2007-05-24, 19:16:14
Da wird mal wieder viel heißer gekocht als gegessen. Was da steht ist: "Der Thread-Scheduler ist darauf ausgelegt optimal mit 4 Kernen zu arbeiten", das heißt aber noch lange nicht, dass er es mit 8 nicht auch kann.

Dafür müsste MS das Scheduling schon verdammt versaut haben.

Avalox
2007-05-24, 19:42:45
Der ist nicht auf 4 begrenzt, sondern man könnte es bei mehr als 4 Kernen besser machen. Vielleicht schieben sie ja auch mal ein Kernelupdate nach.
Wie es wirklich gut gewesen wäre, weiß man eh erst dann wenn der Job abgearbeitet ist und es zu spät ist. Andererseits darf man beim Scheduler auch nicht zuviel CPU-Zeit verbrauchen, sonst dauert das Erstellen des Schedules nachher länger als die Ausführung.


Glaub ich nicht.

Vista ist kein Server Betriebssystem. Die entsprechenden Windows Server werden ja noch nachgeschoben und diese werden sich sicherlich anders verhalten.

Mit 4 Kernen ist Vista gut für die zu erwartenden Quadcores gerüstet. Mehr nicht.
Die Veralterung von Vista ist schon mit eingebaut, könnte man vermuten.

Andy67
2007-05-24, 21:26:25
X-bit hat gerade ein zum Thema passendes Preview:Intel V8 Eight-Core Platform Preview (Two quad-core Intel Xeon X5365 ) (http://www.xbitlabs.com/articles/cpu/display/intel-v8.html)

Alle Benchmarks wurden unter Vista 64bit gemacht. Dabei zeigt sich, das auch je nach Anwendung auch 8 Kerne unter Vista noch skalieren können

Schlecht skaliert:
http://www.xbitlabs.com/images/cpu/intel-v8/photoshop.png

Sauber skaliert:
http://www.xbitlabs.com/images/cpu/intel-v8/cinebench.png

Ein gutes Argument für 8Kerne Office-Rechner :wink:
http://www.xbitlabs.com/images/cpu/intel-v8/excel.png

Hier bremst die Plattform aus (FSB+Speicher), klares Plus für die AMD-Technik,
und Vista kommt auch mit 12 Prozessen und 8 Kernen klar:
http://www.xbitlabs.com/images/cpu/intel-v8/multitasking.png

und zum Schluss noch ein Blick auf die Stromrechnung ;D
http://www.xbitlabs.com/images/cpu/intel-v8/power-1.png

Also wieder eine von den News, jeder schreibt von anderen ab und mehr als heisse Luft kommt nicht bei raus...

iDiot
2007-05-25, 10:38:12
Naja, dann ist Vista für die Zukunft ja gut gerüstet :)

PrefoX
2007-05-26, 21:30:04
Da ist die News doch sehr gut. Endlich wird dann bestehende Hardware weiter optimiert. Bedenkt man, daß nichtmal DC überall Wirkung zeigt, was will man dann schon mit 8 Kernen?
die werden noch nich richtig ausgenutzt weil immer nur ein core da war.

also willst du die entwicklung genauso wieder einbremsen indem es bei 2 stehen bleibt?

wenn ein paar jahre nur noch CPUs mit X cores auf dem markt sind, werden die programme schon genug Threads erstellen damit genügend CPUs ausgelastet werden.

Leonidas
2007-05-27, 06:28:02
Da wird mal wieder viel heißer gekocht als gegessen. Was da steht ist: "Der Thread-Scheduler ist darauf ausgelegt optimal mit 4 Kernen zu arbeiten", das heißt aber noch lange nicht, dass er es mit 8 nicht auch kann.


Hier hat aber auch die Presse ihre Schuld. Aus den Worten des MS-Mitarbeiters werden Sachen entnommen, der der nicht gesagt und auch nicht so gemeint hat. Die versammelte Presse dichtet daraus aber gleich wieder den Schlimmstfall - Schlagzeilen machen das Geschäft.






Also wieder eine von den News, jeder schreibt von anderen ab und mehr als heisse Luft kommt nicht bei raus...


Jeder? 3DC hat sich in den News seinen eigenen Kopf zum Thema gemacht und nicht einfach nur abgeschrieben.

Andy67
2007-05-27, 16:38:33
Jeder? 3DC hat sich in den News seinen eigenen Kopf zum Thema gemacht und nicht einfach nur abgeschrieben.

Eure News (25.05. 13:03:37) gab es zum Zeitpunkt meines Beitrags (24.05. 21:26:25) noch nicht.

Das dort dann auch auf die V8-Plattform verwiesen wird...freut mich um so mehr :biggrin:

olegfch
2007-05-27, 17:58:40
wenn ein paar jahre nur noch CPUs mit X cores auf dem markt sind, werden die programme schon genug Threads erstellen damit genügend CPUs ausgelastet werden.
Ich denke nicht. Bis die Software die bei 8 core system vorteile bringt, massig erscheint, wird es noch viel länger, als 2 Jahre dauern. Die aktuelle Situation mit dualcore CPUs beweist es.
Dazu kommt noch, das man nicht alle Anwendungen in beliebig viele parallele Threads splitten kann, um die Last zwischen mehreren Kernen optimal zu verteilen, was die Effektivität von mehrkern Systems stark einschränkt.

BananaJoe
2007-05-30, 16:18:26
Wieviele Kerne "dapackt" eigentlich Linux in seiner aktuellen Version?