"Linux soll möglichst überall laufen"

25.05.2005
Von Hermann Gfaller
Für welche Plattformen sich Linux eignet, darüber sprach Ralf Schiefelbein, IT-Architekt und Spezialist für Mainframe-Linux bei IBM, mit Hermann Gfaller*.

CW: Linux wurde für 386er-Intel-Maschinen entwickelt. Erübrigt sich da nicht die Frage, welches die optimale Plattform für das Betriebssystem ist - zumal die Implementierungszahlen die gleiche Sprache sprechen?

Schiefelbein: Linux ist leicht auf andere Plattformen portierbar und läuft auch auf allen Servern. Insofern ist die Intel-Herkunft nicht so wichtig. Allerdings wird das Betriebssystem nicht von allen Hardwareherstellern aktiv unterstützt.

CW: Nun unterscheiden sich Intel-Plattformen etwa bei der Registerverwaltung (Little und Big Endian) grundsätzlich von Risc-Maschinen oder I-Series-Rechnern. Ist das kein Hindernis für Linux?

Schiefelbein: Nein. Das sind lediglich Implementierungsvarianten. Limitierungen zeigen sich eher in der Skalierbarkeit. Ein traditionelles Unix unterstützt bis zu 64 Prozessoren und mehr. Die aktuelle Linux-Version 2.6 hat gerade die Grenze von 16 Prozessoren überwunden. Es wäre zwar einfach, ein speziell optimiertes 32-Wege-Linux etwa für die Z-Series-Großrechner zu bauen, aber damit würden wir die Einheitlichkeit von Linux auf allen Plattformen zunichte machen.

CW: Früher war klar: Das DEC-Betriebssystem VMS und Unix sind für die Fertigung und den technischen Einsatz, im Büro wird Windows genutzt, und die betriebswirtschaftlichen Backends laufen auf einem Mainframe-Betriebssystem. Kann man Linux ähnlich klar einsortieren?

Schiefelbein: Eher nein. Linux ist in einem Bereich zu Hause, der damals noch keine Rolle spielte, dem Internet. Rund 80 Prozent der Web-Server laufen unter der Open-Source-Software Apache, und davon wiederum 60 Prozent auf Linux.

CW: Eigentlich ist Unix und damit Linux für die vielen Zugriffe im Web gar nicht so optimal geeignet. Schließlich startet das Betriebssystem für jede noch so kleine Aufgabe einen neuen Thread. Führt das nicht rasch zu Overhead?

Schiefelbein: Im Prinzip schon. Das Management der Tasks durch den Scheduler kostet Zeit, und gerade beim Aufbau von dynamischen Web-Seiten kommen sehr viele Anfragen auf einen Server zu. Das können andere Betriebssysteme besser. Die aktuelle Version von Linux wurde aber gerade auch hier verbessert. Zudem ist die Hardware heute so leistungsfähig, dass dieser Nachteil kaum mehr durchschlägt.

CW: Ein anderer Einordnungsversuch: Eignet sich Linux eher für Anforderungen mit hohem Durchsatz wie bei betriebswirtschaftlichen Anwendungen oder eher für hohe Prozessorleistung wie bei technischen Aufgaben?

Schiefelbein: Der Trend geht generell eher in Richtung Betriebswirtschaft. Unser Blue-Gene-Mainframe ist allerdings ein Gegenbeispiel, weil es sich hier um ein hochverfügbares Cluster unter Linux handelt, das für wissenschaftlich-technische Anwendungen konzipiert ist. Das Einsatzgebiet von Linux hängt also eher von der darunter liegenden Hardwarearchitektur ab als vom Betriebssystem selbst.

CW: Welcher Server ist optimal für Linux?

Schiefelbein: Auf so eine Frage antworten Ingenieure immer mit einem vieldeutigen: Das kommt darauf an. Zum Beispiel darauf, ob Sie eine Scale-up- oder Scale-out-Architektur verwenden. Scale up bedeutet im Extremfall, dass der Anwender eine große Maschine hat, die man logisch unterteilt und nach Bedarf mit zusätzlichen Prozessoren oder Speicherbausteinen ausbaut. Scale out dagegen bedeutet, dass man für jede Anwendung eine Maschine verwendet. Das heißt, dass Systemressourcen nicht geteilt werden und auf jedem Rechner Betriebssystem und Anwendung aufgespielt werden müssen, während es am Mainframe nur ein Betriebssystem und eine Anwendung braucht. Das Scale-out-Verfahren ist bei Web-Servern gängig.

CW: Was bedeutet das für die Frage nach dem optimalen Linux-Server?

Schiefelbein: Anwendungen mit ähnlichen Belastungsprofilen eignen sich für Scale-out-Architekturen. Sprich: Man nimmt die für das Profil günstigste Architektur - im Falle von Web-Servern die rechenstarken und preiswerten Intel-Systeme - und vervielfältigt dieses Profil in Farmen. Reichen die Systeme bei Spitzenbelastungen nicht aus, werden weitere gleichartige Systeme zugeschaltet. Gibt es dagegen kein festes Anforderungsprofil, ändern sich die Belastungscharakteristiken, dann ist es sinnvoller, ein großes flexibles System zu nutzen, das bei Bedarf Ressourcen wie Prozessoren, Speicher oder Betriebssystem-Instanzen zuschalten kann.

CW: Das gilt nicht nur für Linux.

Schiefelbein: Es geht um die Hardware-Voraussetzungen. Ein Intel-System beweist zwar bei einer Aufgabe große Rechenleistung, lässt sich aber nicht über längere Zeiträume stark auslasten. Das sehen Sie sehr gut, wenn Sie einen Virenscanner laufen lassen und damit alle anderen Anwendungen verlangsamen. Großrechner dagegen haben aufwändige I/O-Prozessoren und deren Betriebssystem über Jahrzehnte ausgereifte Mechanismen für Virtualisierung und Aufgabenverteilung, die derzeit auch auf Unix und Linux übertragen werden.

CW: Es kommt also eher auf die Zahl der Anwendungen an, die gleichzeitig bedient werden müssen?

Schiefelbein: Zumindest sind Intel-Architekturen nicht dafür gebaut. Dort fehlen nicht nur I/O-Prozessoren, sondern häufig auch umfangreicher Cache, um die vielen Anforderungen nah am Prozessor im Speicher zu halten, bis sie abgearbeitet werden können. Bei Intel-Architekturen hat man viel Geld und Aufwand in Prozessorleistung gesteckt, beim Mainframe eben mehr in die Optimierung des Durchsatzes.

CW: Welche der Architekturen nutzt Linux nun am besten?

Schiefelbein: Die Entwickler verfolgen nicht den Anspruch, das Betriebssystem für eine bestimmte Architektur zu optimieren. Es soll möglichst überall laufen und überall gleich wirken. Wenn man aufgrund der Anwendungen und der erwarteten Geschäftsentwicklung ganz besondere Anforderungen hat - also Durchsatz, Scale up, Scale out etc. - , dann landet man auf den verschiedenen Hardwarearchitekturen und den dafür optimierten Betriebssystemen. Für die meisten Bereiche aber lässt sich mit Linux ein plattformübergreifend einheitliches Rechenzentrumskonzept verfolgen, weil es als einziges Betriebssystem für alle Hardwarearchitekturen zur Verfügung steht. (ue)