"Verwalten der Prozessorzugehörigkeit in Multiprozessorsystemen
Wenn Sie einem Prozessor einen bestimmten Prozess oder ein bestimmtes Programm zuweisen möchten, um die Leistung zu Lasten anderer Prozesse zu erhöhen, klicken Sie im Task-Manager auf Zugehörigkeit festlegen. Diese Option ist nur bei Multiprozessorsystemen verfügbar.
Das Steuern der Prozessorzugehörigkeit kann sich leistungssteigernd auswirken. Dadurch wird die Häufigkeit herabgesetzt, mit der der Cache des Prozessors gelöscht wird, während Threads zwischen den Prozessoren verschoben werden. Dies ist eine gute Option für dedizierte Dateiserver. Das Zuweisen eines Programms zu einem bestimmten Prozessor kann das Migrieren anderer Programmthreads auf den am wenigsten ausgelasteten Prozessor verhindern."
Quelle :
http://www.microsoft.com/windows2000/de/server/help/default.asp?url=/windows2000/de/server/help/sag_mpmonperf_18.htmDas standartmässig aktive Loadbalancing (also Verteilung der Threads eines Prozesses eines Programms auf die 2 Cores) des XP-Schedulers ist normal immer die bessere Wahl (also kein manueller Eingriff)
ausser man will wie auch oben steht "die Leistung zu Lasten anderer Prozesse zu erhöhen".Die Sache ist doch logisch : Natürlich ist das Loadbalancing immer eine gute Wahl, es sorgt dafür das alle laufenden Threads der Prozesse schön gleichmässig in ihrer Codeausführung auf die 2 Cores verteilt werden, weise ich jetzt manuell einer Anwendung (deren Prozess) für welche ich maximale Resourcen auf einem Core haben will dieser deswegen nun einen Core zu und lege eine andere Anwendung (deren Prozess) auf den anderen Core (damit sie meinem "reservierten Core" keine Resourcen wegnimmt) ist das Ergebniss unter Umständen nicht besser.Zwar kann jetzt dadurch die eine Anwendung der anderen bezüglich Core-Auslastung nichts mehr wegnehmen, dafür aber läuft die Anwendung für welche ich maximale Leistung will nicht mehr auf 2 Cores (nutzt kein auf den zweiten core "auslagerndes" Loadbalacing).Ob dieser Verlust im Endeffekt nun grösser ist als andererseits der Gewinn durch aufgezwungene Corezuweisung kommt darauf an.
Bei Programmen welche explizit DualCore-optimiert sind ist hier ein manuelles Eingreifen in jedem Fall nicht sinnvoll da hier neben dem Scheduler auch die DC-Optimierungen des Programmes verloren geht wenn man ihm "einen Core wegnimmt" - in jedem Fall Unsinn, Logo.Bei nicht DC-optimierten Programmen aber kann ein kleiner Leistungsvorteil entstehen weil der Scheduler das Loadbalancing möglicherweise schlechter handhabt als wenn man manuell eingreift zumal WindowsXP mit der noch vom uralten WindowsNT/2000-Kernel herrührenden, ebenso uralten und daher nicht gerade ausgereiften Multiprozessorunterstützung daherkommt (Wird bei Vista sicher besser mit wesentlich inteligenterem Kernel und dazugehörigen Scheduler) Und : (und das ist nicht zu vernachlässigen) : Das Loadbalancing kostet ansich auch Leistung welche in jedem Fall deren Nutzen abzuziehen ist, dieser Verlust ist bei manueller Zuweisung geringer (wenn auch nicht ganz weg).Das ganze ist dann schon sehr komplex zu beurteilen und da würde ich dann echt mal sagen : "Probieren geht übers studieren"
