User's Manual

White Paper | Sizing Guide | Terminal Server Sizing Guide Ausgabe: 3.3 | Dezember 2006
Anzahl Prozessoren
Darüber hinaus lässt sich die Rechenleistung eines Systems durch den Einsatz mehrerer Prozessoren
erhöhen. Man bezeichnet den Einsatz mehrerer gleicher physikalischer Prozessoren auch als »symmetric
multiprocessing« (SMP). Alle Ressourcen einer CPU sind mehrfach, d.h. auf jeder physikalischen CPU
vorhanden, so dass mehrere Prozesse gleichzeitig ausgeführt werden können. Aktuelle Prozessoren der
Dual-Core-Technologie besitzen zwei vollwertige Prozessorkerne auf einem Chip. Im Gegensatz dazu tritt
beim
Hyper-Threading, s.o., eine physikalische CPU wie zwei logische CPUs auf.
Die Skalierung mit wachsender Anzahl Prozessoren ist nur im Idealfall einer optimal parallelisierbaren
Anwendung linear. Je mehr Zugriffe jedoch auf gemeinsame Ressourcen wie Arbeitsspeicher, Festplatten
oder Netzwerk erfolgen, und somit eine Koordination zwischen den Prozessoren bedingen, umso mehr flacht
die Skalierungskurve ab. Im Extremfall kann es bei sehr großen Anzahl Prozessoren und sehr hohem
Koordinations-Anteil der Prozessoren untereinander sogar zu einem »Umkippen« der Skalierung kommen.
(vgl. auch »
Scale-Up«). Designer von großen Multiprozessorsystemen wirken dem entgegen, indem sie den
Prozessoren große Caches beiseite stellen oder Gruppen von Prozessoren bilden und diesen eigenen
Arbeitsspeicher und I/O-Komponenten zuordnen. Letzteres bedingt für optimale Performance jedoch speziell
angepasste Betriebssysteme und Anwendungen, wie z.B. Windows Server 2003 Enterprise und Datacenter
Edition mit »nonuniform memory access« (NUMA) Support.
Die Skalierung über die CPU-Anzahl bei Terminal Server wurde an zwei Beispielen untersucht.
Die nebenstehende Grafik zeigt die
Skalierung der PRIMERGY RX800 mit einem
bis acht Prozessoren Pentium Xeon MP bei
gleicher Taktfrequenz von 2.2 GHz. Hyper-
Threading war eingeschaltet. Wie beim
Dualprozessorsystem PRIMERGY RX300 S2
oben sieht man auch beim dem PRIMERGY
RX800 System die Leistungssteigerung durch
Hinzufügen von Prozessoren: die
Performancesteigerung von einem Prozessor
auf zwei Prozessoren beträgt 66% und von
zwei auf vier Prozessoren 25%. Natürlich
kann sich die Anzahl Benutzer bei einer
Verdoppelung der CPU-Anzahl nicht um
100% erhöhen! Durch weitere Prozessoren
kommt seitens des Betriebssystems ein
höherer Synchronisationsaufwand hinzu; die
Prozesse (genauer gesagt, die Threads) müssen verteilt und die Zugriffe auf die anderen Ressourcen, die ja
unverändert geblieben sind, koordiniert werden. Bei der Skalierung von vier auf acht Prozessoren sieht man,
dass sich »
Amdahl’s Gesetz« in der Praxis leider bestätigt. Für Terminal Server Anwendungen bringt eine
nochmalige Verdoppelung der Prozessoranzahl keine weitere Erhöhung der Anzahl Benutzer. Der Terminal
Server kann keine weiteren Sitzungen mehr verwalten, obwohl noch CPU Leistungsreserven vorhanden sein
müssten.
(Medium Lastprofil, Microsoft Office 2003, Microsoft Terminal Services,
Windows Server 2003 Enterprise Edition, 32-bit)
Bei den Dual-Core Prozessoren der aktuellen
Generation, die auch Hyper-Threading unter-
stützen, laufen bereits acht physikalische, d.h.
sechzehn logische, Prozessoren parallel. Bei
dieser Konfiguration kommt man mit der Be-
nutzeranzahl in Größenordnungen, die ein 32-
bit Betriebssystem nicht mehr optimal ver-
walten kann. Auf einer PRIMERGY RX600 S3
mit einem 64-bit Windows wurde die Skalie-
rung über die Anzahl Prozessoren ebenfalls
untersucht. Bei Dual-Core Prozessoren
werden mit jedem weiteren Prozessor zwei
Prozessorkerne hinzugefügt, d.h. die
Skalierung ist mit 62% noch gut, und auch
eine weitere Verdoppelung der Anzahl
Prozessorkerne bringt noch einmal eine
Steigerung der Benutzeranzahl.
(Medium Lastprofil, Microsoft Office 2003, Microsoft Terminal Services,
Windows Server 2003 Enterprise Edition, 64-bit)
© Fujitsu Siemens Computers, 2006 Seite 36 (68)