ZIDline
Software-Server 4. Generation, ein kleiner Schritt in Richtung Kyoto
Helmut Mastal, Werner Steinmann
Mit der Anschaffung der vierten Generation des Software-Servers Sun Fire T2000 konnte gezeigt werden, dass Leistungssteigerungen gleichzeitig mit einer deutlichen Reduktion des Stromverbrauchs möglich sind. Auch im Softwarebereich haben Solaris 10 und Samba 3.0 wesentliche Strukturverbesserungen für den Software-Server gebracht.

Die SunFire T2000 taucht auf

Im Dezember 2005 war es nicht wirklich klar, dass der bestehende Software Distribution Server Sun Fire 3800 abgelöst werden sollte, der trotz 4 ½  Jahren bereits erbrachter Leistung als ausreichend verlässlich und schnell galt, um wie vom Campus erwartet zu funktionieren. Lediglich für die Administration des Software-Servers war schon abzusehen, dass die für die Benutzer unsichtbaren, aber für den Betrieb notwendigen Hintergrundjobs bereits alle Zeitreserven in den Abend- und Nachtstunden auszufüllen begannen.

Da kündigte die Firma Sun ein neues System Sun Fire T2000 an, mit dem Codenamen Niagara. Es sollte sich um ein neuartiges Multithreading System handeln, das auf dem in den letzten zwei Jahren entwickelten T1-Prozessor beruhte. Die wesentlichen Aussagen waren, dass die Sun Fire T2000 besonders gut für Webserver und ähnliche Download-Server geeignet sein soll, für andere Applikationen aber eher wenig brauchbar sei (was sich jetzt nach 1 ½ Jahren als eine zu konservative Aussage herausstellte). Und außerdem wurde von dem T2000 System behauptet, dass es extrem stromsparend arbeitet, was uns als die auch für die Server-Infrastruktur der Abteilung Zuständigen und als energiebewusste Menschen besonders ansprach.

Die Abteilungsleitung entschloss sich noch zur Jahreswende 2005/2006, ein Sun Fire T2000 System mit einem T1 Prozessor, der aus 8 Cores besteht und mit 1 GHz getaktet ist, zu einem günstigen Einstiegspreis anzuschaffen. Mit diesem T2000 System sollte untersucht werden, inwieweit der T1 Prozessor für den Betrieb als Software-Server geeignet wäre, sowohl bei den internen Prozessen wie beim Downloading der Benutzer.

Der T1 Prozessor und die T2000 Hardware

Der UltraSparc T1 Prozessor ist ein 64Bit-Prozessor, der aus 4, 6 oder 8 Cores bestehen kann, und der Architektur Sparc V9 (ECC-geschützt) entspricht bzw. der Hardware-Klasse sun4v angehört (im Gegensatz zu sun4u bei den bisherigen Sun Fire Maschinen). Jeder Core kann bis zu 4 Threads mit der Chip Multithreading Technology (CMT) gleichzeitig bearbeiten, wobei die für das Abspeichern von Daten in das Memory oder Laden aus dem Memory notwendigen Pausen dazu verwendet werden, weiteren Threads die Gelegenheit zum Fortsetzen ihres Tasks zu geben. Auf diese Weise kann der T1 Prozessor in den 8 Cores bis zu 32 Threads gleichzeitig abarbeiten (Das top Command im Solaris 10 Betriebssystem zeigt auch wirklich bis zu 32 CPUs an!). Allerdings ist der Prozess-Scheduler von Solaris 10 so intelligent, dass er die momentanen CPU-Anforderungen möglichst gleichmäßig auf die 8 Cores verteilt, sodass den ersten 8 Anforderungen auf jeden Fall die volle Prozessorleistung zur Verfügung steht.

Der Integer/Logic Teil des Instruktionssatzes wird in jedem der 8 Cores angeboten, der Floating-Point Teil nur einmal pro T1 Prozessor. Diese Einschränkung hat ursprünglich zu der Aussage geführt, dass der T1 Prozessor nur für sehr spezielle Aufgaben wie Webserver geeignet ist. Inzwischen wird umgekehrt gesagt, dass der T1 für alles – ausgenommen High Performance Floating-Point Anwendungen – gut verwendet werden kann.

Abb. 1: Sun Fire T2000 Server mit UltraSparc T1 Prozessor
Abb. 2: Blockdiagramm eines 8-Core UltraSparc T1 Prozessors, aus: Sun Fire T1000 and T2000 Server Architecture, Sun Microsystems White Paper

Der T1 Prozessor kann derzeit mit 1 GHz, 1.2 GHz oder 1.4 GHz getaktet sein. Die acht Cores sind untereinander und mit den L2 Caches über einen 134 GByte/s schnellen Crossbar Switch verbunden. Die L2 Caches haben beim T2000 System ein vierfaches schnelles Interconnect zum DDR2-Memory (max. 64 GB) von insgesamt 25.6 GBytes/s. In dem 2U hohen T2000 Gehäuse haben 2 PCI-X Interfaces (von denen meist leider eines vom internen SAS-Controller belegt ist) sowie 3 PCI-Express Interfaces Platz. Die beiden redundanten Power-Supplies sind hot swappable.


Abb. 3: Stromverbrauch, Sun Fire T2000 Server Power Calculator

Besonders überzeugend ist aber der niedrige Energieverbrauch der T2000-Systeme, und verbunden damit die niedrigen Anforderungen an die Klimatisierungseinrichtungen. Unser Testsystem (1 GHz 8 Core T1 Prozessor, 16 GB Memory, 3 interne SAS-Platten) verbraucht nur 1.3 Ampere Strom (ca. 300 W Leistung), und dieser Wert deckt sich genau mit dem vom Power Calculator vorherberechneten. Wegen des sehr guten Wertes für Performance pro Watt wurde der T2000 Server von SearchDatacenter.com auch als Top-Server des Jahres 2006 ausgezeichnet.

Die Performance-Messungen am Testsystem mit vorhandenen Scripts des SWD-Servers übertrafen alle Erwartungen, die Leistungssteigerungen lagen zwischen 30 % (entsprechend der Taktungsrate) und einem Faktor 3 gegenüber der alten Sun Fire 3800 Maschine. Diese Faktoren sind nur dadurch erklärlich, dass beim SWD-Betrieb kaum Floating Point Instruktionen gebraucht werden, und die wesentliche Beschränkung von der Bus-Kapazität stammt. Die behauptete Effizienzsteigerung in der Leistung pro Energieverbrauch von einem Faktor 6 ließ sich damit ebenfalls verifizieren.

Die Testergebnisse waren so überzeugend, dass zunächst eine zweite Sun Fire T2000 Maschine, diesmal mit einem 1.2 GHz T1 Prozessor, angeschafft wurde, sodass mit der eigentlichen Umstellung des SWD-Server Clusters begonnen werden konnte. Ende 2006 wurde schließlich noch eine dritte T2000 Maschine bestellt, die den abteilungsinternen NAS-Server aufnehmen wird.

Abb. 4: Sun Fire T2000 1GHz, SWD-Server am ZID, darüber Sun Fire V240

Software-Umstellungen: Solaris 10 und Samba 3.0

Alle T2000- und T1000-Systeme verlangen als Betriebssystem Solaris 10 und sind mit diesem vorinstalliert. Von den neuen Features unter Solaris 10 – Service Management Facility (SMF), ZFS, iSCSI, Solaris Containers und DTrace – verwenden wir derzeit nur die SMF. Somit sollte Solaris 10 im Wesentlichen voll aufwärts kompatibel sein. Trotzdem ergaben sich bei einigen Scripts notwendige Änderungen, sei es weil Systemprogramme geänderte Pfadnamen hatten oder einen geringfügig geänderten Output erzeugten, sei es weil alte Bugs erst unter Solaris 10 sichtbar wurden. Der Anschluss an das vorhandene und an das neue Hitachi Storage-System war problemlos, nachdem der Umstieg auf eine neue Generation von Host Bus Adapter (HBAs) von Qlogic (Sun Storage Tek) erfolgt war, die für die PCI-Express Slots geeignet waren und damit ebenfalls zur Durchsatzsteigerung beitrugen.

Eine besondere Herausforderung stellte der Übergang von Samba 2.2.8 auf Samba 3.0.x dar. Während unter Samba 2.2.x aus historischen Gründen die interne Darstellung der Pfadnamen am SWD-Server nach Codepage 850 erfolgte, bestand unter Samba 3.0 die Möglichkeit, grundsätzlich alle Sichtweisen der Pfadnamen unabhängig von der Zugriffsmethode (Samba, FTP, Shell, ...) entsprechend ISO 8859-15 darzustellen. Diese Chance wurde genützt, sodass auf dem Software-Server der 4. Generation Sun Fire T2000 auch die Pfadnamen einheitlich nach ISO-Norm dargestellt werden. Dazu mussten aber bei einer Reihe bestehender Campus-Produkte, die in Pfadnamen über den ASCII-Code hinausgehende Zeichen (z. B. deutsche Umlaute) enthalten, Konversionen der Pfadnamen durchgeführt werden. Zur Konvertierung wurde schließlich das Public-Domain Perl-Script convmv verwendet.

Am alten Software-Server, der noch unter Samba 2.2.8 lief, waren zwischenzeitlich die ersten Tests mit Clients unter Windows Vista durchgeführt worden, die sehr unbefriedigend verliefen, da die Protokoll-Versionen von Netbios zu unterschiedlich waren. Glücklicherweise ging der neue Software-Server mit Samba 3.0 im Jänner 2007 in den Produktionsbetrieb, zu einem Zeitpunkt, als auch bereits einige Vista-Systeme im Campus zu arbeiten begannen.

Schlussbetrachtung

Es ist mit der vierten Generation des Software-Servers erstmalig gelungen, in Form der Sun Fire T2000-Server Systeme zu installieren, die eine deutliche Leistungssteigerung mit einem deutlich niedrigeren Energieverbrauch kombinieren. Eine unmittelbare Folge davon war, dass die Anschaffung einer weiteren USV (Unterbrechungsfreie Stromversorgung), die für heuer schon fix geplant war, unterbleiben konnte. Wünschenswert wäre allerdings eine tatsächliche Verringerung des Gesamtenergiebedarfs der eigenen Systeme, also ein Näherkommen an das Kyoto-Ziel im eigenen Bereich. Hoffnung dazu gibt, dass auch die Storage-Systeme neuester Bauart weniger Energie fressen als noch vor 5 Jahren. Es gehört aber auch die Disziplin dazu, dass man die ausgedienten Systeme wirklich abschaltet, und nicht deswegen weiter laufen lässt, weil man sie in einem Jahr vielleicht noch für einen Systemtest benötigen könnte.

Seit kurzem ist bereits ein T2 Prozessor von Sun angekündigt, der wie der T1 sehr gute Energieverbrauchswerte haben soll, aber da jeder Core eine eigene Floating-Point Einheit haben wird, auch in diesem Bereich wesentliche Leistungssteigerungen bringen soll.

Literatur

Sun Fire T1000 and T2000 Server Architecture, White Paper, December 2005, www.sun.com/servers/coolthreads/coolthreads_architecture_wp.pdf

Sun Fire T2000 Server Documentation,  www.sun.com/products-n-solutions/hardware/docs/Servers/coolthreads/t2000/index.html

Sun Fire T2000 Server Specifications, www.sun.com/servers/coolthreads/t2000/specs.xml

UltraSPARC T1 Supplement to the UltraSPARC Architecture 2005, Draft D2.0, opensparc-t1.sunsource.net/specs/

Solaris 10 Operating System Documentation, www.sun.com/documentation/

Solaris 10 Sources, www.opensolaris.org/source/

Rolf Dietze, Tatjana Heuser, Jörg Schilling: OpenSolaris für Anwender, Administratoren und Rechenzentren, Springer 2006

Sun StorageTek PCI-E 4 Gigabit FC Host Bus Adapter, www.qlogic.com/products/fc_san_hostadapers.asp

Gerald Carter, Jay Ts & Robert Eckstein: Using Samba, Third Edition, O’Reilly 2007

Samba SMB/CIFS Software Documentation, www.samba.org/samba/docs/