Multiprozessorsysteme/So richtig gut wird erst die 64-Bit-Version

Windows 2000 - die Skalierbarkeit

03.03.2000
Microsoft adressiert mit Windows 2000 auch den Markt der Enterprise-Server, der bisher von IBM mit OS/390 und OS/400 sowie AIX, Sun Solaris und einigen anderen Unix-Derivaten dominiert wird. Dabei spielt die Skalierbarkeit des Betriebssystems eine zentrale Rolle.Von Martin Kuppinger*

Die Skalierbarkeit wird von vielen Faktoren beeinflusst: dem Zusammenspiel von Hard- und Software, von SMP-Fähigkeit, Cluster-Unterstützung und Cluster-fähigen Anwendungen, der optimalen Konfiguration des Systems und der Vermeidung von Engpässen bei n-Tier-Architekturen, wie sie für komplexe E-Business-Anwendungen typisch sind. Die maximale Zahl der unterstützten Prozessoren oder Knoten in einem Cluster spielt dabei noch die geringste Rolle - entscheidend ist, wie sich die theoretische Leistungsfähigkeit in praktischen Anwendungen umsetzen lässt.

Microsoft hat bei der Weiterentwicklung von Windows 2000 daher auch in einer Vielzahl von Bereichen Verbesserungen vorgenommen, um die Gesamtleistungsfähigkeit des Systems zu erhöhen. Das Network Load Balancing (NLB) für die Realisierung von Clustern auf IP-Ebene, COM+ als integrierte Transaktionsdienste, die Cluster-Funktionalität, mehr adressierbarer Hauptspeicher und eine bessere Nutzung von mehr Prozessoren waren neben einer generell erhöhten Effizienz des Systems die Entwicklungsziele. Von den drei Server-Versionen von Windows 2000 adressiert dabei insbesondere der "Datacenter Server", der im Sommer 2000 erhältlich sein soll, den Highend-Markt. Aber auch der "Advanced Server" stellt von seinen Leistungsdaten bereits manche Verbesserung im Vergleich mit der "Enterprise Edition" von Windows bereit.

Mit einem Failover-Clustering über zwei Knoten hat Windows NT im reinen numerischen Vergleich mit anderen Plattformen bisher nicht glänzen können. Microsoft hat hier in zwei Bereichen gearbeitet, um die Leistungsfähigkeit des Systems zu erhöhen.

Zum einen hat man mit dem Network Load Balancing eine Unterstützung für das Koppeln auf IP-Ebene realisiert. NLB ist eine Weiterentwicklung des "Windows NT Load Balancing System" (WLBS), das von Microsoft für den Windows NT Server 4.0, Enterprise Edition, zugekauft wurde. NLB wird mit dem Advanced Server und dem Datacenter Server geliefert.

Zum anderen soll der Datacenter Server auch Failover-Cluster mit bis zu vier Knoten unterstützen. Schließlich können entsprechend entwickelte Anwendungen auch in Active-/active-Konfigurationen im Cluster ausgeführt werden. Nicht zu unterschätzen sind zudem viele Detailverbesserungen wie die Unterstützung von WINS-(Windows-Internet-Naming-Service-) und DHCP-(Dynamic-Host-Configuration-Protocol-)Servern auf einem Cluster oder die "rollenden Upgrades", bei denen sich System-Updates innerhalb eines Clusters Knoten für Knoten im laufenden Betrieb durchführen lassen.

NLB erlaubt eine Verteilung von eingehenden IP-Requests auf bis zu 32 Knoten. Dabei lässt sich auch steuern, welche Dienste von welchen Knoten in einem solchen Cluster bereitgestellt werden. Der NLB ist eine sehr schlanke Implementierung mit nur wenig Overhead, die insbesondere für Betreiber von Web-Server-Farmen von Interesse ist.

Die als "Cluster-Dienst" bezeichnete Funktionalität von Windows 2000 arbeitet dagegen auf der Anwendungsebene. Sie stellt eine Verbesserung der mit der Enterprise Edition von Windows NT gelieferten Features dar. Im Kern handelt es sich in der zunächst lieferbaren Implementierung beim Advanced Server wiederum um einen Zwei-Knoten-Failover-Cluster. Allerdings können auf beiden Knoten Applikationen ausgeführt werden, für die der jeweils andere Knoten die Failover-Funktionalität bereitstellt. Es handelt sich also nicht um eine reine Active-/passive-Lösung im Sinne eines Standby-Servers. Je nach Art der Anwendung sollen sich auch echte Active-/active-Konfigurationen realisieren lassen. Mit dem Datacenter Server will Microsoft dann bis zu vier Knoten in einem Cluster unterstützen.

Zusätzlich kann über die Transaktionsdienste von COM+ - bei denen es sich im Kern um den nun in das System integrierten Microsoft Transaction Server handelt - auch die Business-Logik in n-Tier-Anwendungen über mehrere Systeme verteilt werden. Die Microsoft-Lösung bietet damit auf den relevanten Ebenen insbesondere von E-Business-Applikationen eine Cluster-Unterstützung, die bei richtigem Design die Realisierung sehr leistungsfähiger Systeme zulassen sollte.

SMP-UnterstützungWindows NT war bei der Unterstützung von Mehrprozessorsystemen sicherlich nicht so schlecht, wie manchmal behauptet wird. Faktisch lag aber die Grenze, bei der ein weiterer Prozessor einen signifikanten Zugewinn an Leistung bringt, in den meisten Fällen bei sechs bis acht Prozessoren. Eine Unterstützung für mehr als acht Prozessoren wird für Windows NT allerdings ohnehin nur von wenigen Hardwareherstellern angeboten, die spezielle OEM-Versionen des Betriebssystems ausliefern. Und je nach eingesetzter Applikation lässt sich auch mit mehr CPUs noch eine spürbare Performance-Steigerung erreichen.

Windows 2000 wird nun, so die Redmonder, bis zu 32 Prozessoren unterstützen. Die Frage, die sich dabei stellt, ist, ob es auch wirklich gelingt, sie alle sinnvoll zu nutzen. Microsoft hat viel Arbeit in das Feintuning des SMP-Codes gesteckt, um die lineare Skalierbarkeit zu verbessern.

Im Bereich von bis zu acht Prozessoren scheint das, wie die bisher vorliegenden Benchmarks zeigen, auch verhältnismäßig gut gelungen zu sein. Allerdings werden in vielen Fällen zunehmend die 32-Bit-Architektur und das Speicher-Management von Windows 2000 zu einschränkenden Faktoren. Das wird sich auch erst mit einer 64-Bit-Version des Betriebssystems grundlegend ändern. Wie gut die Skalierbarkeit hingegen beim Einsatz von mehr als acht Prozessoren ist, wird sich noch zeigen müssen. Peter Houston, Microsofts Lead Product Manager für Windows 2000, zeigt sich jedenfalls davon überzeugt, dass die Skalierbarkeit auch beim Einsatz von weit mehr als acht Chips weitgehend linear verlaufen wird und dass Microsoft die selbst so hoch gelegte Messlatte überspringen kann.

Performance-DatenSo kurz nach der Verfügbarkeit eines Betriebssystems sind Standard-Benchmarks noch kaum erhältlich. Dennoch gibt es schon einige Zahlen, die darauf hindeuten, dass Microsoft ein wesentlicher Schritt gelungen ist. Besonders eindrucksvoll ist dabei der von Compaq am 17. Februar, also zum Launch von Windows 2000, publizierte Tpc-c-Benchmark, der unter http://www.tpc.org veröffentlicht wurde.

Mit etwas über 227000 tmpC wurde dabei ein absoluter Rekord für diesen Benchmark aufgestellt, der um etwa 90000 tmpC über den bis dato höchsten publizierten Werten von Sun, Bull und IBM liegt. Der Systempreis der von Compaq eingesetzten Konfiguration, einem Cluster mit insgesamt 96 Prozessoren, liegt dabei nur knapp über der Hälfte der von IBM und Bull genannten Werte und bei etwa einem Drittel der Konfiguration von Sun.

Allerdings werden in diesem Benchmark auch die Grenzen der linearen Skalierbarkeit deutlich, da Compaq mit einer Cluster-Konfiguration mit insgesamt 48 Prozessoren immerhin noch auf rund zwei Drittel der Performance des Gesamtsystems kam. Das bedeutet, dass die Hälfte der CPUs die Leistung nur mehr um ein Drittel steigern konnte. Diese Werte werden auch durch die allerdings noch sehr wenigen Tpc-h-Benchmarks, die bisher vorliegen, gestützt.

In anderen Vergleichen der Performance von Windows 2000 zeigen sich ähnliche Ergebnisse. So hat Hewlett-Packard bereits mit der Beta-3-Version des Betriebssystems einen Benchmark für Web-Server durchgeführt, bei dem auf der gleichen Hardware Windows NT und Windows 2000 getestet wurden. Das neue Betriebssystem hat dabei insbesondere in den Mehrprozessorkonfigurationen deutliche Zugewinne an Leistung gebracht. Auch die SPECweb96-Werte, die Microsoft unter anderem auf der eigenen Website veröffentlicht hat, zeigen, dass Windows 2000 im Bereich von acht Prozessoren ebenfalls noch eine gute Skalierbarkeit bietet.

Windows 2000 ist, soweit sich das zu diesem frühen Zeitpunkt sagen lässt, ein deutlich besser skalierbares Betriebssystem als Windows NT. Allerdings gibt es auch Einschränkungen insbesondere im Bereich des Speicher-Managements, die erst mit der 64-Bit-Version des Betriebssystems vollständig überwunden sein werden. Die ersten Benchmark-Tests machen aber deutlich, dass Microsoft die Erwartungen hier wohl eher übertreffen als enttäuschen wird.

Zusammen mit den vielen Verbesserungen im Kernel, mit denen die Verfügbarkeit des Systems erhöht werden soll, hat das Unternehmen zweifellos wieder einen Schritt in Richtung Enterprise-Markt gemacht. Ob es aber reichen wird, um das obere (beispielsweise von IBM mit seinen SP2-Systemen abgedeckte) Segment zu erreichen, ist zu bezweifeln. Die Gates-Company ist auf ihrem Weg zum Anbieter von Enterprise-Systemen allerdings ein gutes Stück vorangekommen - nicht nur durch bessere Skalierbarkeit, sondern auch durch ein deutlich professionelleres Storage-Management oder die massiv reduzierte Zahl von Reboot-Situationen. Und, wie die Benchmarks- Ergebnisse insbesondere auch bei einem Preis-Leistungs-Vergleich zeigen: Windows 2000 ist in den Performance-Bereichen, die von dem System abgedeckt werden, eine relativ kostengünstige Alternative.

* Martin Kuppinger ist freier Autor in Stuttgart.

64-Bit-Windows-2000Microsoft arbeitet seit geraumer Zeit auch an einer 64-Bit-Version von Windows 2000. Diese wird auf der IA-64-Prozessorarchitektur basieren, gleichzeitig aber die Kompatibilität mit den Windows-2000- und bestehenden 32-Bit-Windows-Anwendungen bieten. Ziel ist die Auslieferung noch im Jahr 2000, was allerdings in Anbetracht des aktuellen Projektstatus eher unwahrscheinlich ist. Zwar wurde das System Ende August 1999 der Öffentlichkeit schon einmal demonstriert. Noch ist es aber deutlich vom Betastadium entfernt.

Derzeit steht für Entwickler eine Sammlung von 64-Bit-Entwicklungswerkzeugen im Rahmen des Windows-2000-SDK (Software Development Kit) und -DDK (Device Driver Kit) zur Verfügung. Mit dieser Version werden auch einige bestehende Engpässe wie der Paged Pool und der Non Paged Pool beim Hauptspeicher beseitigt. Mit bis zu 16 TB adressierbarem Hauptspeicher im Vergleich zu derzeit 8 GB beim Advanced Server und internen Speicherbereichen, deren maximale Größe in den meisten Fällen um Faktoren zwischen 300 und 1024 wächst, werden viele Begrenzungen, die sich heute aus der 32-Bit-Plattform ergeben, aufgehoben sein.

Abb.: Windows 2000 lässt sich dank NLB und Data Center Server besser skalieren als der Vorgänger NT. Quelle: CW