E/A-Architektur. Seminar Großrechneraspekte (Mainframe) Thomas Scheffler Friedrich-Schiller-Universität Jena. Thomas.Scheffler@uni-jena.



Ähnliche Dokumente
Seminar Großrechneraspekte (Mainframe): Von Betriebssystemen bis zur Datenbank und darüber hinaus. E/A Architektur

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Datensicherung. Beschreibung der Datensicherung

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Anleitung zur Nutzung des SharePort Utility

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Dokumentation IBIS Monitor

Herzlich Willkommen bei der nfon GmbH

Root-Server für anspruchsvolle Lösungen

Primzahlen und RSA-Verschlüsselung

OPERATIONEN AUF EINER DATENBANK

lldeckblatt Einsatzszenarien von SIMATIC Security-Produkten im PCS 7-Umfeld SIMATIC PCS 7 FAQ Mai 2013 Service & Support Answers for industry.

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Installation SQL- Server 2012 Single Node

5. PC-Architekturen und Bussysteme

Lizenzen auschecken. Was ist zu tun?

1 topologisches Sortieren

WLAN Konfiguration. Michael Bukreus Seite 1

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

How-to: Webserver NAT. Securepoint Security System Version 2007nx

DER SELBST-CHECK FÜR IHR PROJEKT

Reporting Services und SharePoint 2010 Teil 1

ICS-Addin. Benutzerhandbuch. Version: 1.0

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

MetaQuotes Empfehlungen zum Gebrauch von

Die Online-Meetings bei den Anonymen Alkoholikern. zum Thema. Online - Meetings. Eine neue Form der Selbsthilfe?

Staatlich geprüfter EDV-Führerschein

Anleitung zur Inbetriebnahme einer FHZ2000 mit der homeputer CL-Software

EasyWk DAS Schwimmwettkampfprogramm

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Netzwerk einrichten unter Windows

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Professionelle Seminare im Bereich MS-Office

icloud nicht neu, aber doch irgendwie anders

Mikrocontroller Grundlagen. Markus Koch April 2011

Tips, Tricks und HOWTOs Virtualisierung für Profis und Einsteiger Serverkonsolidierung, Testumgebung, mobile Demo

Eine Anwendung mit InstantRails 1.7

QUICK INSTALLATION GUIDE

Lizenzierung von System Center 2012

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Fragen und Antworten. Kabel Internet

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden

Inbetriebnahme Profinet mit Engineer. Inhaltsverzeichnis. Verwendete Komponenten im Beispiel:

Kommunikation mehrerer PCs über Hubs

Bojendaten Übertragung mit UMTS

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 14 und VMware Player

ANYWHERE Zugriff von externen Arbeitsplätzen

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player

1 Dokumentenmanagement

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Individuelle Formulare

Verwendung des Terminalservers der MUG

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Speichernetze (Storage Area Networks, SANs)

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Fax einrichten auf Windows XP-PC

SharePoint Demonstration

Swisscom TV Medien Assistent

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Multimedia und Datenkommunikation

Der Support für Windows Server 2003 endet endgültig alles was Ihnen dann noch bleibt ist diese Broschüre.

How-To-Do. Fernwartung einer VIPA Steuerung via Ethernet

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Facharbeit Informatik. Thema:

Anbinden der Visualisierung GILLES TOUCH (VNC)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Printserver und die Einrichtung von TCP/IP oder LPR Ports

Installation und Inbetriebnahme von SolidWorks

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern

Guide DynDNS und Portforwarding

Benutzerverwaltung Business- & Company-Paket

Wenn keine Verbindung zwischen den Computern besteht, dann bist du offline.

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

1 Mathematische Grundlagen

Zunächst empfehlen wir Ihnen die bestehenden Daten Ihres Gerätes auf USB oder im internen Speicher des Gerätes zu sichern.

Schulberichtssystem. Inhaltsverzeichnis

Grundlagen verteilter Systeme

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken. Upload- / Download-Arbeitsbereich

Eigene Dokumente, Fotos, Bilder etc. sichern

Das Leitbild vom Verein WIR

1Computergrundlagen = 1*16 + 0*8 + 1*4 + 1*2 + 0*1

1. Einführung. 2. Archivierung alter Datensätze

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

Handbuch PCI Treiber-Installation

Windows 10 > Fragen über Fragen

Mail-Account Unimail mit der Einstellungen für Outlook Express 5.0

Transkript:

E/A-Architektur Seminar Großrechneraspekte (Mainframe) Thomas Scheffler Friedrich-Schiller-Universität Jena Thomas.Scheffler@uni-jena.de 15. Mai 2003 Kurzfassung In der Seminararbeit geht es um eine der Hauptaspekte der modernen Mainframearchitektur. Es geht um die Organisation und Anbindung von Ein-/Ausgabe-Einheiten an ein Computersystem, im speziellen an die eines S/390 Systems. Was diese Architektur, deren Wurzeln bis in die 1960er zurückgeht bis heute überlebensfähig gemacht hat, soll hier angeschnitten und in Teilen vertieft werden. Kernpunkt dieser Arbeit nimmt dabei das Channel-Subsystem ein, einer Eigenart, die diese Architektur für Ein-/Ausgabe- Anwendugen prädestiniert.

Inhaltsverzeichnis 1 Einführung 1 2 zseries Architektur 2 3 Ein/Ausgabe Topologie 3 3.1 Memory Bus Adapter............................. 4 4 Channel Subsystem 5 4.1 Der Kanal.................................... 5 4.2 Der Unterkanal................................. 5 4.3 Das Kanalprogramm.............................. 6 4.4 Aufgabenteilung................................ 6 4.5 Optimierungsmöglichkeiten.......................... 7 5 Common I/O Card 8 5.1 PC & Workstation Welt............................ 8 5.2 Funktionsweise der Common I/O Card.................... 8 6 Queued Direct I/O Protokolle 10 7 Zusammenfassung 11 A Vergleich: Datenspeicherung 12 Literatur 13

1 Einführung Auf den modernen Schlachtfeldern - denen der Technik - herrscht ein erbitterter Krieg um die Vormachtstellung von Firmen auf dem Weltmarkt. Ständig sprießen neue Ideen und Technologien hervor und trotzdem sind in dieser Welt die Dinosaurier noch nicht ausgestorben. Zugegeben, die Dinosaurier, um die es sich hier dreht, sind keine 65 Millionien Jahre alt, sondern nicht mal 40. Es gab bisher keinen Asteroid, der mächtig genug wäre, die Daseinsberechtigung diesen Riesen zu entziehen. Die Evolution, will man das Beispiel noch ein wenig ausreizen, tut ihr übriges, damit sich die Mainframes auch weiterhin behaupten können und ihren Platz in der IT-Welt verteidigen. Warum sind Mainframes immer noch wichtig? Die Zahl der elektronischen Daten steigt beständig,und um so schwieriger wird es diese zu verwalten und schnell auf sie Zugriff zu erlangen, genau in dem Moment, in dem sie gebraucht werden. IBM s zseries nimmt in diesem Bereich in sofern eine Sonderstellung ein, als das ihre Wurzeln bereits bis in das Jahr 1964 zurückgehen, als IBM die Rechnerfamilie S/360 vorstellte. Damals begründete man eine neue Rechnerarchitektur und versprach Entwicklern und Verantwortlichen dies so gut gemacht zu haben, dass einmal geschriebener Code auf jeder zukünftigen Großrechnerplatform von IBM lauffähig sein würde. Ein Versprechen,das IBM bis heute nicht brechen mußte. Das diese Tatsache nicht mit Innovationsmangel und Langsamkeit erkauft wurde, wird man nach diesem kurzem Abriss über die Ein-/Ausgabe-Architektur dieser Rechnerfamilie leicht sehen. Oft genug wird für das Leistungsverhalten eines Computers und seiner Geschwindigkeit die rohe Geschwindigkeit seiner CPUs genommen. Dies is zweifellos ein wichtiger Aspekt in der Beurteilung, aber auch andere Punkte, die sich auf die Geschwindigkeit eines Systems auswirken, gilt es zu beachten. Zum einen spielt die Größe des Hauptspeichers und seine Anbindung an das System eine Rolle, wie auch die gesamte Organisation des Ein-/Ausgabesystems. So fallen von Anwendungsfall zu Anwendungsfall die einzelnen Charakteristiken mehr oder minder schwer ins Gewicht. Im Abschnitt A wird noch einmal kurz gegenübergestellt, welche zusätzlichen Optimierungen im Dateizugriff auf einem Mainframe möglich sind. Für wissenschaftlich mathematische Arbeiten kommen oft sogenannte Numbercruncher zum Einsatz, die besonders hohe Rechenleistung besitzen. Sie lösen Probleme, deren Lösungsgeschwindigkeit durch die CPU limitiert ist. Auf der anderen Seite sind es die großen Daten, die von Programmen und Anwendern verarbeitet werden. Oft werden darauf nur primitive Operationen angewandt, wie zum Beispiel das Ausgeben auf Bändern, oder den Bildschirm. Wie man sieht, ist hier die kritische Grenze wohl kaum die CPUjedenfalls sollte sie es nicht sein- sondern vielmehr wie schnell die Daten von einem Ort geholt und an die entsprechende Verarbeitungseinheit gebracht werden können. Man nennt solche Probleme Ein-/Ausgabe- limitiert. Wie aber kann man dafür sorgen, dass für den letzten Fall die Daten mit geringem zusätzlichem Aufwand schnell ihr Ziel erreichen? Eine Lösung für diesen Ansatz stellt IBMs zseries Architektur bereit. 1

2 zseries Architektur Die zseries Architektur hat ihre Wurzeln im Jahr 1964, in einer Zeit als man sich als Pionier in der Computer-Technik noch schnell seine Lorbeeren verdienen konnte und viel experimentiert wurde. Damals entstand unter der Federführung von Amdahl, Blaauw und Brooks die S/360 Architektur. In Zeiten, als eine neue Computer-Architektur das zwangsweise Umschreiben von vielen Programmen bedeutete, versprach IBM, das dies zukünftig nicht mehr notwendig sein werde, denn alle Architekturen, die aus der S/360 weiterentwickelt werden, sollten rückwärtskompatibel zu dieser Platform sein. Etwas, was damals wie heute einen Meilenstein darstellt. Welche Auswirkungen dies auf die moderne Rechnerwelt hatte, wird deutlich, wenn man bedenkt, das vieles was damals festgelegt und entwickelt wurde, heute noch gültig ist bzw. seine Wurzeln dort zu finden sind. So stammt die Festlegung das ein Byte 8 bit sind von dieser Architekur. Der SCSI- Standard wurde von einem S/360 Standard abgeleitet und so läßt sich die Liste fast beliebig weiterführen. So werden auch Aspekte der modernen zseries wohl nicht mehr auf ewig nur dort exklusiv zu finden sein, ganz einfach deshalb, weil sie auch auf normalen PC ihre Existensberechtigung haben, wo vergleichbares fehlt. Somit stellt ein Blick in ein zseries-system auch einen möglichen Blick in die Zukunft der PCs. Zu den Eigenschaften eines zseries-system zählen[ls03]: ein fortschrittliches Cache-Coherence Network, das allen CPUs eines symmetrischen Multiprozessors (SMP) einen schnellen Zugriff über den jeweils lokalen L1- Cache auf einen gemeinsam genutzten L2-Cache erlaubt, und über diesen mittels eines Main Storage Controllers auf den Hauptspeicher, eine hohe Bandbreite zum L2-Cache und zum Hauptspeicher, eine große Anzahl von leistungsfähigen I/O-Hubs, deren Ports zum 1st order SAN (System Area Network) oder zu E/A-Adaptern führen, eine große Anzahl von verschiedenen E/A-Adaptern, die ihrerseits den Zugang zu verschiedenen Kommunikationsnetzwerken wie LANs, WANs, oder zu 2nd order SANs (Storage Area Networks) wie ESCON, FICON oder Fibre Channel Fabrics ermöglichen (siehe Abschnitt 3), Einrichtungen zur Fehlererkennung und -korrektur auf allen Hardware- und Software-Ebenen, die damit einen Beitrag zu der erreichten Ausfallsicherheit von 99,999% einer zseries- Installation leisten (siehe Abschnitt 5.2), das Offloading von E/A-Operationen weg von der (oder den) CPU(s) hin zu einem (oder mehreren) System Assist Prozessoren (SAP), die im Wesentlichen das zseries Channel Subsystem beherbergen (siehe Abschnitt 4), die Weiterentwicklung von Start Subchannel/Channel Command Word basierenden E/A-Protokollen hin zu Request Queue/ Control Block basierenden Eigenschaften (siehe z.b. QDIO in Abschnitt 6). 2

3 Ein/Ausgabe Topologie Bei der zseries wird der Kern des Systems als Central Electronic Complex bezeichnet. Abbildung 1 zeigt seine schematische Darstellung mit den Anschlussmöglichkeiten an externe Netze und Storage Area Networks. Das obere Drittel der Abbildung zeigt dabei die Komponenten des sogenannten Multi Chip Modules (MCM), die als einzelne Chips realisiert sind, mit jeweils unterschiedlichen Funktionen. Hierbei sei auf die Ausarbeitung von Henry Wilhelm verwiesen, der einen Vortag zu diesem Thema im Rahmen dieses Seminars hielt. Auf diesem MCM befindet sich unter anderem der L2-Cache, an den alle Prozessoren direkt angeschlossen sind. Von den auf einer z900 (dem ersten zseries- System) 20 vorhandenen Prozessoren, sind 16 CPU (also im eigentlichen Sinne), 3 System Assist Prozessoren, auf denen das Channel Subsystem (Abschnitt 4) ausgeführt wird, der letzte (also mindestens einer) ist als sogenannter Spare definiert. Dieser nimmt genau dann seine Arbeit, wenn ein anderer aufgrund Abbildung 1: zseries SMP E/A Konfiguration von Fehlern gezwungen wird in den Ruhestand zu wechseln. Desweiteren sitzen auf dem MCM vier Memory Bus Adapter (MBA), sie sorgen für die Anbindung der Ein-/Ausgabe-Geräte und des Hauptspeichers. Da alle Verbindungen auf dem MCM direkt geführt sind, bedarf es eines komplizierten und teuren Aufbaus, ermöglicht aber gleichzeitig, dass jeder Prozessor direkt auf den L2-Cache zugreifen kann. Diese Punkt-zu-Punkt-Verbindungen sind mit 450 MHz getaktet und sorgen dafür, dass jeder Prozessor eine Bandbreite von ca. 14,5 GB/s zum L2-Cache besitzt bei einer Latenz von 20 ms. Insgesamt existiert über alle Prozessoren eine Bandbreite von 290 GB/s. 3

3.1 Memory Bus Adapter Wie bereits ausgeführt wurde, existieren auf dem MCM gleich vier MBA. Jeder von ihnen besitzt sechs byte-serielle full-duplex Busse, die mit 500 MHz (Double Data Rate) getaktet sind, was ca. eine Netto-Datenrate von 750 MB/s ermöglicht[ls03]. Da der Hauptspeicher mit über 29 GB/s an das System angebunden ist, ist auch der Gesamtdurchsatz über alle MBAs und Busse auf diesem Level. Abbildung 2: zseries System Area Network Die Busse der MBA verwenden das sogenannte Self Timed Interface (STI). Die Funktionsweise ist ähnlich der des, bei PCs und Workstation üblichen, PCI-Busses, jedoch bei höherem Takt und Kabellängen von bis zu 15 Metern. Meistens sind an den MBA Switches angeschlossen, die vier weitere full-duplex STI-Busse zu Verfügung stellen, mit Datenraten von 333 MB/s oder 500 MB/s. Das ermöglicht also 96 Ausgänge die in 3 sogenannten E/A-Rahmen (I/O-Cages)[SBC + 02] untergebracht sind. Je Käfig sind aber 4 Ausgänge für Verwaltung etc. schon vorbelegt, so dass insgesammt 84 Ausgänge nutzbar sind. Über den Integrated Cluster Bus (ICB)[GPE01] und den Inter System Channel (ICS) beide sind in der Abbildung eingezeichnet kann man Verbindungen zu anderen MBA herstellen, die sich meistens in einem anderen Central Electronic Complex befinden. Auf die Art und Weise baut man dann einen Parallel Sysplex auf, über den es eine seperate Ausarbeitung gibt. 4

4 Channel Subsystem Dieser Abschnitt beschreibt eine Speziallität der zseries Architektur, die es überhaupt erst ermöglicht, dass das System solch große Datenmengen schnell verarbeiten kann. Als Channel Subsystem (CSS) bezeichnet man die Hard- und Software die auf der zseries benötigt wird um sämtliche Datenströme zu koordinieren und zu verarbeiten. Da dies eine große Aufgabe ist und der Überblick schwer fallen kann, existiert eine hierarchische Struktur, die nicht nur logisch konstruiert ist, sondern sich auch auf die physische Ebene erstreckt. Grob besteht das CSS aus Kanälen (Channel Path), die wiederum in Unterkanäle (Subchannel) unterteilt sind. Unterkanäle führen Kanalprogramme (Channel Program) aus. Wie die einzelnen Elemente zusammenspielen, sollen die folgenden Abschnitte klären. 4.1 Der Kanal Da die neue zseries z990 und ihre Nachfolger mehr als ein Channel Subsystem enthalten können, beziehen sich die folgenden Zahlen immer auf ein Channel Subsystem und mit der Anzahl derer steigt dann auch die Anzahl der hierarchisch niedrigeren Komponenten (Kanäle, Unterkanäle). Als Kanal (Channel) bezeichnet man die physische Komponente, die dem CSS untergeordnet ist. Es bezeichnet also einen leistungsfähigen E/A-Adapter, der besondere Anforderungen hinsichtlich der Schlagworte Reliability, Availability, Serviceability[IBM01] erfüllt. Wichtigstes Beispiel ist die Common I/O Card, die im Abschnitt 5 weiter beschrieben wird. Der Kanal ist verwandt mit dem SCSI-Bus/-Interface, stammen doch beide von dem S/360-Kanal ab. Ein Kanal verbindet Steuereinheiten (zseries Control Units) mit dem Channel Subsystem, welches bis zu 256 Kanäle verwalten kann. Als Kanal (Channel) wird häufig die physikalische Verbindung zwischen einem System (bzw. seinem Channel Subsystem) und einer Control Unit bezeichnet. Währenddessen ein Channel Path sowohl die logische, als auch die physische Verbindung zwischen einem System und einer Control Unit bezeichnet. Letztere ist übrigens auch die offzielle Bezeichnung, die IBM in seinen Principle of Operation definiert. [HKS03] 4.2 Der Unterkanal Der Unterkanal als tieferliegende hierarchische Stufe verbindet die E/A-Einheiten mit den Steuereinheiten und ist im CSS eindeutig charakterisiert durch eine 16 Bit Adresse. Es gibt also bis zu 256 Unterkanäle für jeden Kanal. Ihm ist ein fester Speicherbereich zugeordnet, der die Anfangsadresse des Kanalprogramms und zusätzlich den sogenannten Channel Path Identifier [HKS03] enthält. E/A-Einheiten sind in der Regel physikalische E/A-Geräte, die von den Steuereinheiten kontrolliert werden, können aber prinzipiell auch mehrfach pro physikalischem Gerät vorkommen. 5

4.3 Das Kanalprogramm Ein Kanalprogramm wird eingeleitet durch den CPU-Befehl Start Subchannel (SSCH) und besteht aus speziellen Maschinenbefehlen, die man als Channel Command Words bezeichnet. Die Abarbeitung erfolgt dabei parallel zu den CPUs durch das Channel Subsystem auf den System Assist Prozessoren, dem Kanal und der Steuereinheit. Nachdem die Verarbeitung abgeschlossen ist, wird eine Unterbrechung an die aufrufende CPU gesendet mitsamt den Statusinformationen. Eine zseries-besonderheit ist ja, dass mehrere Betriebssysteme gleichzeitig in der Hardware laufen. Zusätzlich dazu ermöglicht das CSS, dass jedes davon nahezu gleichzeitig und für das Betriebssystem transparent auf die E/A-Geräte zugreifen kann. Das CSS stellt dann sicher, dass sich die E/A-Operationen dabei nicht gegenseitig stören. 4.4 Aufgabenteilung Abbildung 3: zseries E/A Architektur Die Aufgabenteilung ist an dem hierarchischen Aufbau der zseries E/A Architekur orientiert. So führt der System Assist Processor ein Kanalprogramm aus, dass durch "Start Subchannel" gestartet wurde. Danach liest der Channel Path die CCW aus dem Speicher, um ihn dann z.b. via FICON an die Steuereinheit zu senden. Diese führt dann letztendlich das Programm mit Hilfe der E/A-Elektronik aus. Zu den typischen Aufgaben z.b. einer Festplatten-Steuereinheit gehören u.a.: E/A Kommandos (CCW) ausführen: SEEK, SEARCH, READ, WRITE, etc. 6

Fehlerkorrektur E/A Befehlswiederholung Statusinformationen sammeln und SAP weitergeben Unterbrechungssignale erzeugen und an SAP weitergeben eine von mehreren Festplatten selektieren Cache- und RAID-Management... 4.5 Optimierungsmöglichkeiten Bisher haben wir nur gezeigt, wie ein E/A-Gerät prinzipiell an den Central Electronic Complex angeschlossen wird. Was fehlt sind einfache Methoden, um Performance und Ausfallsicherheit zu erhöhen. Der einfachste Weg findet auch hier Anwendung: es ist die Einführung von zusätzlicher Redundanz. 1. E/A-Geräte können über bis zu 8 Channel Paths mit dem Channel Subsystem verbunden sein. Dabei können E/A-Operationen über einem Kanal initiiert werden, während über einen anderen der Datentransfer erfolgt. Das CSS ermöglicht die Priorisierung von Datenpaketen und sucht automatisch eine andere Route zum E/A-Gerät, sollte eine bestimmte gerade belegt sein. 2. Weiterhin kann ein E/A-Gerät an mehrere Steuereinheiten angeschlossen sein. Zum Beispiel gibt es einen Strang an SCSI-Platten, die von zwei SCSI-Controllern betrieben werden. Fällt einer aus, oder ist einer beschäftigt, springt der andere ein. An diesem Beispiel sieht man leicht die Rolle zusätzlicher Steuereinheiten für Performance und zusätzliche Redundanz. 3. Die Steuereinheiten. Diese können im Rahmen eines Parallel Sysplex nämlich auch an mehrer zseries-rechner angeschlossen werden. 7

5 Common I/O Card 5.1 PC & Workstation Welt Um die Verwendung und den Aufbau der Common I/O Card zu verstehen, bedarf es eines kurzen Ausflugs in die Welt der PCs und Workstations. Die Funktionsweise von E/A-Operationen sieht dort ganz anders aus und beherbergt an einigen Stellen Fehlerquellen, um das System nicht zusätzlich abzubremsen. Wie auf dem Mainframe initiiert das Betriebssystem oder eine Applikation eine E/A-Operation, die kontrolliert von der CPU (oder mehreren) abgearbeitet wird. Dabei kann das Programm über Memory Mapped I/O (MMIO) direkt auf die Register und Datenbereiche der Adapterkarte zugreifen. Um den Hauptprozessor nicht unnötig zu belasten, sind heute alle PCI-Adapterkarten als Busmastergeräte in das System integriert. Das heißt, dass die Daten zwischen PCI- Karte und Hauptspeicher ohne Umweg über den Prozessor direkt übetragen werden. Die Folge ist, da es keine zentralle Schutzinstanz gibt, jede PCI-Karte kann den Systemspeicher beschreiben und trägt damit potentiell zur Instabilität des Systems bei. Schutzmechanismen die dies verhindern können, finden sich erst in den Nachfolgebussystemen PCI-X und PCI-Express, die über einen Error Correction Code die Gültigkeit von Daten sicherstellen können. Trotzdem schützt dies nicht vor Fehlberechnungen der Adapterkarte, auf der sich oft genug keine eigene Logik befindet, die Prüfmechanismen integriert. Dadurch besteht die Gefahr, dass aufgrund von Adressierungsfehlern falsche Speicherbereiche überschrieben werden. Das führt zu der Situation, dass jede PCI-Karte die Stabilität und Sicherheit des Gesamtsystems beeinflusst - eine nichthaltbare Situation im Mainframebereich. 5.2 Funktionsweise der Common I/O Card In den frühen Tagen wurden Kanäle durch diskrete Bauteile realisiert, was einem eine erweiterte Kontrolle über die Funktionsweise und damit die Eingrenzung zusätzlicher Fehlerquellen bot. Allerdings führte die komplette Selbstentwicklung proprietärer Bauteile, die in relativ geringen Stückzahlen gebraucht wurden zu hohen Preisen. Heutzutage ist es aber zwingend nötig, für Kunden ein attraktives Preis-/Leistungsverhältnis bereitzustellen, um auf den Markt eine genügend große Stückzahl an Mainframes zu verkaufen. So wich man auf Standardkomponenten aus dem PC-Bereich aus, die unschlagbar günstig sind, aber leider nicht uneingeschränkt zu empfehlen sind (siehe 5.1). Trotzdem spielen PCI-Adapter eine wesentliche Rolle im Aufbau der zseries. Erreicht hat man das dadurch, dass gegenüber den PCs der Central Electronic Complex wesentlich stärker gegenüber den PCI-Karten abgeschirmt ist. Der Schwachpunkt in der PC-Architektur war, dass er Busmastergeräten erlaubt, direkt in den Speicher zu schreiben. Bei der zseries ist das so nicht möglich, da als zusätzliche Kontrolleinheit die Common I/O Card dazwischen geschaltet ist, die den zseries- Hauptspeicher gegenüber den PCI-Karten versteckt. 8

Zusätzlich - und daher kommt ihr Name - stellt sie neben einem PCI (oder PCI-X) Bus auch noch Anschlüsse für FICON, Fibre-Channel, Gigabit Ethernet, ATM und andere bereit. Auf der Common I/O Card sind alle wichtigen Elemente doppelt ausgeführt, dazu gehören der PowerPC-Prozessor und der Memory Controller. Weiterhin enthält sie einen lokalen Speicher und eine STI-PCI Bridge. Die zusätzliche Redundanz dient ausschließlich der Sicherheit, so sind jeweils ein Memory Controller und Prozessor als Master ausgeführt, der jeweils andere als Checker. Prinzipiell rechnen alle das gleiche und im Anschluss an die Berechnung wird geprüft, ob die Ergebnisse übereinstimmen. Ist dies nicht der Fall, führt das automatisch zum Abbruch der E/A-Operation. Damit will man verhindern, dass durch Adressierungsfehler Daten in einen falschen Speicherbereich geschrieben werden. So führen DMA-Zugriffe der PCI-Karte nur auf den Puffer-Speicher der Common I/O Card von dort gelangen sie dann erst über DMA in den Hauptspeicher der zseries, nachdem hoffentlich alle fehlerhaften Daten abgefangen wurden. Zusätzliche Schutzmechnismen sorgen nämlich dafür, dass Datentransfer- und Adressierungsfehler ausgeschlossen sind. Die STI-PCI Bridge hat also die Funktion einer Firewall für das System. Die zseries Architektur stellt sicher, dass auf dem Weg zwischen Common I/O Card und Prozessor die Daten nicht verfälscht werden. Sämtliche Daten werden an jeder Station mit einer CRC-Prüfsumme abgeglichen. Bei der persistenten Speicherung von Daten sichert man neben dem Datum und seiner Prüfsumme zusätzlich noch die Adresse, an der sie gespeichert sind. Dies verhindert, dass durch einen Hardwarefehler die falschen Daten beim erneuten Auslesen übertragen werden. Es werden also nicht nur die Informationen korrekt übertragen, sondern auch mit dem richtigem Inhalt. 9

6 Queued Direct I/O Protokolle Bisher haben wir betrachtet, durch welche Maßnahmen die CPUs entlastet werden können, so beschränkt sich ihre gesamte Aufgabe darauf, eine I/O Operation zu initiieren und nach einer gewissen Zeit das Ergebnis in Empfang zu nehmen. Leider verursacht diese auf ein Minimum beschränkte Arbeit noch immer zwei Unterbrechungen in den Systemprozessoren, die die Abarbeitungsgeschwindigkeit vermindern. Ziel bei der Einführung der QDIO-Protokolle, die von der Common I/O Card (Abschnitt 5) unterstützt werden, war daher die Unterbrechungen auf das nötigste zu reduzieren. Diese Protokolle basieren auf theoretisch unendlich laufenden Kanalprogrammen. Dabei definiert man zwei Warteschlangen, eine zu den E/A-Geräten die sogenannte Output- Queue oder auch Request-Queue und eine davon zurück, die Input- oder Completion- Queue. In diese Warteschlangen füllt man immer wieder Daten rein, abhängig in welche Richtung sie fließen sollen. Worin unterscheidet sich das von der bisherigen Arbeitsweise? Der Prozessor der die Daten abarbeitet greift solange auf den Kopf der Warteschlange zu, arbeitet ihn ab und geht zum nächsten bis diese leer ist. Dafür braucht er nur eine Unterbrechungsaufforderung, um mit der Arbeit zu starten und diese bekommt er immer dann, wenn eine E/A-Anforderung oder das Ergebnis in eine leere Queue gesteckt wird. Bei Protokollen, die viele kleine Pakete verschicken, wie das TCP/IP, wird so die Geschwindigkeit gesteigert, und auf line-speed beschleunigt. Das heißt, in einem Gigabit-Netzwerk werden Daten auch mit einem Gigabit pro Sekunde verschickt, was durchaus nicht selbstverständlich ist. Zusätzlich dazu, wird die Arbeitszeit der Prozessoren besser genutzt und nicht durch Unterbrechungen verkürzt. Abbildung 6 zeigt in einer schematischen Darstellung noch mal die Funktionsweise von QDIO-Protokollen. Abbildung 4: Queued Direct I/O Channel Schnittstelle 10

7 Zusammenfassung Die zseries-architektur bietet eine hohe Erweiterbarkeit durch die Möglichkeit über 65.000 E/A-Geräte (Abschnitt 2) anzuschließen hohe Durchsatzraten durch neue QDIO-Protokolle (Abschnitt 6) und das Channel Subsystem (Abschnitt 4) eine hohe Verfügbarkeit durch Redundanz an allen systemkritischen Stellen. Dies führt auch zu einer hohen Sicherheit, die dank der Common I/O Card (Abschnitt 5) auch durch potentiell unsichere (Abschnitt 5.1) PCI-Karten nicht kompromitiert wird. Die ganze Architektur mit all ihren modernen Erweiterungen, die so noch einmalig sind, weil sie 1964 so gut angelegt wurde, heute dort wo sie ist. Sie schafft Investitionssicherheit, weil heute geschriebene Anwendungen auch auf zukünftigen Platformen weiterhin laufen werden, neben denen die in den 60er Jahren geschrieben wurden. Die zseries ist der sprichwörtliche Dinosaurier unter den Computern, der von der Evolution nicht überrannt wurde, sondern sie für seinen Vorteil zu nutzen verstand. 11

A Vergleich: Datenspeicherung UNIXe, NT Zuordnung nur durch Partition Den Ort innerhalb dieser bestimmt Betriebssystem verschiedene Dateisysteme für unterschiedliche Anforderungen OS/390 Dateien müssen bezüglich Größe und physikalischen Adressbereich manuell eingerichtet werden Dateisystem identisch mit Inhalt des Datenträgers: drei verschieden Dateiformate: DAM Datei mit direktem Zugriff SAM Datei mit sequentiellen Zugriff VSAM Datei mit indexsequentiellen Zugriff Zugriff über Verzeichnisstruktur Vorteile: einfache Verwaltung dynamische Vergrößerung optimale Speicherplatznutzung Nachteile: Fragmentierung der Dateien keine optimale Leserate Zugriff über Control-Blöcke, die Datenbasis für Betriebssystemfunktionen sind Vorteile: keine (kaum) Fragmentierung der Dateien optimale Platzierung = bessere Leserate Nachteile: Speicherplatzver- wohlmöglich schwendung erhöhter Verwaltungsaufwand 12

Literatur [GPE01] T. A. Gregg, K. M. Pandey und R. K. Errickson. The Integrated Cluster Bus for the IBM S/390 Parallel Sysplex. IBM Technical Journals, 43(5), 2001. Also available as http://www.research.ibm.com/journal/rd/435/gregg.html. [HKS03] P. Herrmann, U. Kebschull und W.G. Spruth. Einführung in z/os und OS/390. Oldenbourg Verlag, 2003. ISBN 3-486-27214-4. [IBM01] IBM. The IBM eserver pseries 690 Reliability, Availability, Serviceability. http://www-1.ibm.com/servers/eserver/pseries/hardware/ whitepapers/p690_ras.html, 2001. [LS03] H. Lehmann und W.G. Spruth. Eigenschaften einer modernen Ein-/Ausgabe- Architektur. it - Information Technology, 45(01):020 029, 2003. Also available as ftp://ftp.oldenbourg.de/pub/download/frei/it/it0301_020.pdf. [SBC + 02] D. J. Stigliani Jr., T. E. Bubb, D. F. Casper, J. H. Chin, S. G. Glassen, J. M. Hoke, V. A. Minassian, J. H. Quick und C. H. Whitehead. IBM eserver z900 I/O subsystem. IBM Technical Journals, 46(4), 2002. Also available as http://www.research.ibm.com/journal/rd/464/stigliani.html. 13