Der Engpaß liegt im IO-Bereich

Multiport-Boards sorgen für schnelle Übertragung im Netz

19.07.1991

Unix-PCs gehören sicher zu den preiswerteren Multiuser-Anlagen. Wenn allerdings mehrere User gleichzeitig mit CAD-Programmen arbeiten, zeigt sich, daß hohe Geschwindigkeitsverluste durch Harddisks oder l/O-Karten auftreten. Gerid Wagner* beschreibt Lösungsansätze mit Cache Memory, Multiport-Boards und X-Terminals.

Nur etwa 23 Prozent der Arbeit entfallen auf den I/O-Bereich, der Rest, also mehr als drei Viertel, wird vom Prozessor erledigt. Um so erstaunlicher ist es, wenn man nun berechnet, wieviel Verarbeitungszeit die CPU und wieviel der I/O-Bereich beansprucht.

Legt man einen 80386-PC mit 33 Megahertz Taktrate zugrunde, verhält sich der Zeitverbrauch wie folgt: Systemprozessor-Zeit zur Ausführung einer Instruktion: 30 Nanosekunden, Systemspeicher-Zugriffszeit für Suchen oder Schreiben: 120 Nanosekunden (viermal langsamer) Festplatten-

Zugriffszeit für Suchen oder Schreiben: 28 Millisekunden (über eine millionmal langsamer).

Der Engpaß liegt bei der Festplatte

Der Flaschenhals ist also zweifelsfrei die Harddisk. Der Prozessor kann nichts an der Verarbeitungsgeschwindigkeit ändern. Selbst bei einem doppelt so schnellen Prozessor, der nur 15 Nanosekunden Ausführungszeit benötigt, führt das lediglich zu einem Zeitgewinn von 0,00025 Prozent.

Reduziert man dagegen die durchschnittliche Zugriffszeit der Festplatte, indem statt der oben angenommenen 28-Millisekunden-Platte eine 17-Millisekunden-Platte eingebaut wird, bewirkte dies einen Zeitgewinn von 40 Prozent.

Festplatten mit SCSI-Controller sind zumeist leistungsfähiger als die PC-typischen RLL- oder MFM-Platten. Der SCSI-Controller sollte darüber hinaus über ein ausreichend großes Cache-Memory verfügen, einen Zwischenspeicher, der aus Chips mit unter 70 Nanosekunden Zugriffszeit aufgebaut ist. Er dient als Zwischenspeicher für Daten, die häufig abgefragt werden. Auf diese Weise entfallen die langen Zugriffszeiten auf die Festplatte. Dennoch muß auch der Cache-Inhalt einmal von der Harddisk geladen und auch wieder darauf geschrieben werden.

Der Unix-PC als Single-User-Workstation wäre damit ausreichend optimiert. Im Multiuser-Betrieb mit angeschlossenen Terminals entstehen plötzlich weitere Probleme mit der Datenübertragungs-Geschwindigkeit. Ein seriell über RS232

angeschlossenes Terminal mit einer Übertragungsrate von 9600 Bit/s hat normalerweise einen Bildschirm mit 24 Zeilen

und 80 Spalten. Ein Zeichen besteht dabei aus zehn Bit: Acht Daten-Bits, ein Parity-Bit, ein Start- und/oder Stop-Bit. Insgesamt benötigt man für einen vollen Bildschirm also 19 200 Bits. Der komplette Bildschirmaufbau dauert rund zwei Sekunden.

Zwei Sekunden sind unter Umständen eine Wartezeit, die zumutbar wäre. Zu berücksichtigen ist allerdings, daß moderne Applikationen immer mehr eine Mischung aus Grafik und Text werden und somit ein grafikfähiges Terminal benötigen. Bei

durchschnittlichen Grafikterminals mit 640 x 480 Bildpunkten Auflösung und 16 Farben besteht ein Bildschirm sogar aus

1 228 800 Bits. Der Bildschirmaufbau braucht demnach bei 9600 Bits/s 128 Sekunden, also über zwei Minuten. Diese Zeitspanne ist demzufolge sechzigmal so lang als bei Bildschirmen mit 24 Zeichen und 80 Spalten.

Daß das nicht mehr zumutbar ist, bedarf keiner Erklärung. Das Problem liegt an der Übertragungsgeschwindigkeit zwischen CPU und Terminal.

Der Anschluß mehrerer Terminals an den Unix-PC setzt normalerweise den Einbau einer Multiseriell-Karte voraus, da die Rechner selten über mehr als zwei serielle Schnittstellen verfügen. Der Unix-Kernel schafft die Daten über das Unix-Utility "Streams", einen vollduplex Datenkanal der etwa 100fach schneller als übliche Treiber arbeitet. Die maximale Übertragungsgeschwindigkeit serieller Daten in einem Unix-System beträgt 38,4 KBaud. Damit lassen sich bei Verwendung der üblichen RS232-Kabel fünf Meter überbrücken. Mit

eise 1200 Meter Kabellänge. Unter bestimmten Voraussetzungen kann ein Terminal, das über RS422 angeschlossen wird, bis zu 3600 Meter vom Rechner entfernt sein.

Bei synchroner Datenübertragung, beispielsweise über das IBM 3270-Protokoll, werden bis zu 1,2 Mbit/s erreicht. Allerdings ist diese Form der Datenübertragung für PC-Unix-Systeme in den meisten Fällen zu aufwendig.

Für kleinere Installationen sind sicherlich einfache Multiport-Karten ausreichend. Wichtig ist hierbei nur, daß sie über einen ausreichend großen Pufferspeicher verfügen, um keine allzu großen I/O-Engpässe entstehen zu lassen. Für Installationen, bei denen acht und mehr "Power-User" das System belasten, benötigt man intelligente" Schnittstellenkarten zur Aufrechterhaltung einer annehmbaren Performance.

Worin liegt nun die "lntelligenz" einer solchen Karte? Diese Multiport-Boards enthalten ein eigenes Betriebssystem und einen eigenen Prozessor. Diese CPUs können dem Systemprozessor wesentliche Teile der TTY-Steuerung abnehmen. Die Karten-CPU stellt beispielsweise das XON-XOFF-Protokoll bereit und verarbeitet es oder korrigiert eventuelle Übertragungsfehler.

Intelligente Karten entlasten das Netz

Zusätzlich können bestimmte intelligente Karten die Start- und Stop-Bits verarbeiten, das heißt, an das Rechner-Betriebssystem werden lediglich "Nettodaten" geliefert, da die I/O-Karte auch Zeichenformatierungen und ähnliche Konvertierungen übernimmt.

Manche intelligente Schnittstellenkarten verfügen neben dem eigenen Betriebssystem und eigenen, anwendungsoptimierten Bussystemen über Dual ported RAM und die Möglichkeit, Betriebssystem-Funktionen wie Streams zu nutzen. Die Smart-Hostess-Karten können Daten in das synchrone X.25-Protokoll umwandeln und somit "Pakete" mit 1,2 Mbit/s beispielsweise über Datex-P verschicken .

RlSC-Board bringt es auf 1,8 Mbit/s

Schnittstellenkarten auf Basis von RISC-Prozessoren unterstützen einen Datendurchsatz von bis zu 1,8 Mbit/s. Mit 24 angeschlossenen Ports ist zum Beispiel das RISC-Board "Megaport" noch in der Lage, konstant mit 38,4 Kbit/s zu übertragen.

Die Problematik der Übertragung grafischer Anwendungen zum Terminal läßt sich allerdings auch mit einer noch so schnellen I/O-Karte nicht befriedigend lösen. In Window-orientierten Applikationen sind Aktionen wie "copy" und "paste" laufend gefragt. Eine Antwort darauf ist das X-Window-System. Hier werden die Grafik- und Window-relevanten Teile von einer Workstation lokal bearbeitet. Zusätzlich hat diese Konzeption noch alle Vorteile eines echten Ethernet-LANs also die hohe Übertragungsgeschwindigkeit mit 10 Mbit/s und die Möglichkeiten der LAN-internen Kommunikation.

Allerdings stellt dies eine nicht ganz billige Lösung dar. Zwar sind X-Terminals billiger als Grafik-Workstations, aber erheblich teurer als normale Farbgrafik-Terminals oder VGAPCs. Es gibt jedoch auch hier preiswertere Auswege. Will man beim X-Window-Konzept bleiben, bieten sich X-Window-Emulationen wie "PC-Xview" an.

Bei dieser Hard- und Softwarekombination von Spectagraphics wird ein normaler 80286-PC mit VGA-Karte unter MS-DOS mit einer Ethernet-Karte, TCP/lP und NFS ausgerüstet und ist damit ein vollwertiger Client im Netz. Die Gesamtkosten liegen so für einen kompletten Arbeitsplatz inklusive Hardware bei etwa 4000 Mark.

X-Terminals für den CAD-Bereich

Grafische Applikationen lassen sich bei einem Unix-PC mit der entsprechenden Grafikkarte immer von der Konsole aus starten. Indem man nun für die angeschlossenen Terminals konsolähnliche Bedingungen schafft, kann man die Schwierigkeiten mit Grafikterminals ebenfalls umgehen. Es handelt sich bei dieser Terminal-Konzeption um Bildschirm-Tastatur-Kombinationen, die an mehrere oder mehrfach genutzte VGA-Karten angeschlossen werden. Die Probleme der Übertragungslänge treten hier jedoch sehr zu Tage. Wegen der Übermittlung analoger RGB-Informationen sind im Normalfall Leitungslängen von mehr als 30 Meter nicht möglich. Einen Ausweg würden Lichtwellenleiter bieten, die aber aus Kostengründen kaum zum Einsatz kommen.

Eine andere Alternative stellt ein VGA-Grafik-Cluster dar. Im Rechner selbst steckt eine Host-Adapterkarte, an die sich wiederum bis zu vier Cluster-Adapter anschließen lassen. Die Kabellänge zwischen Rechner und Cluster-Adapter kann bis zu 60 Meter betragen, wobei die Übertragungsrate bei maximal 100 Mbit/s liegt, also dem Zehnfachen eines Ethernets. Im Cluster-Adapter stecken bis zu vier VGA-Karten in normalen 16-Bit-Slots, an die wiederum Grafikstations-Adapter mit bis zu acht Meter langen Leitungen angeschlossen werden können. An einem Grafikstations-Adapter hängen dann VGA-Bildschirm, Tastatur und Maus. Auf diese Weise lassen sich bis zu 16 VGA-Arbeitsplätze pro Host-Adapter karte anschließen.

X-Terminals eignen sich für CAD-Applikationen oder andere Anwendungen, die höchste Grafikauflösung verlangen und gleichzeitig große Datenmengen zu bewältigen haben.

Für reine Dateneingabe, einfache Textverarbeitung oder Datenbankanwendungen sind hingegen alphanumerische Terminals mit einer der Leistung angepaßten Multischnittstellenkarte ausreichend.