REFERAT-MenüDeutschGeographieGeschichteChemieBiographienElektronik
 EnglischEpochenFranzösischBiologieInformatikItalienisch
 KunstLateinLiteraturMathematikMusikPhilosophie
 PhysikPolitikPsychologieRechtSonstigeSpanisch
 SportTechnikWirtschaftWirtschaftskunde  



Grobrechner



Großrechner




Definition laut Duden Informatik:


Großrechner (engl. main frame oder host): Dies sind für vielfältige Zwecke einsetzbare Computer der obersten Leistungsklasse. Sie werden vorwiegend von Rechenzentren betrieben. Tagsüber können sie auf Grund ihrer hohen Rechenleistung sehr viele Benutzer (in der Regel mehrere hundert) gleichzeitig bedienen; nachts führen sie sehr rechenintensive Arbeiten ohne Unterbrechung durch, z. B. Lohn- und Gehaltsabrechnung, Aktualisieren von Datenbanken, Produktionsplanungen oder technische Berechnungen. Großrechner werden zur Zeit zum einen durch Rechnernetze, in denen viele Arbeitsplatzstationen, file server und PCs zusammengefaßt sind, und zum anderen durch Rechner für Spezialaufgaben (oft mit hoher Parallelverarbeitung) verdrängt.


Definition laut SEP-Skriptum des 4. Jahrgangs:




Großrechner verfügen fast immer über zentrale Pufferspeicher, Fließbandverarbeitung, Hilfsprozessoren, benötigen Klimaanlagen sowie spezielles Bedienungspersonal und bieten die Möglichkeit, eine große Anzahl von Bildschirmarbeitsplätzen und sonstigen Peripheriegeräten zu betreiben. Mehrprogrammbetrieb ist bei dieser Kategorie die Regel. Traditionelle Aufgabenbereiche werden weiterhin bestehen bleiben. Die Vernetzung von Mikro- und Minicomputern mit den Großrechenanlagen gewinnt jedoch immer mehr an Bedeutung (verteilte Datenverarbeitung). Der Großcomputer als zentraler Verwalter von Massendaten stellt Informationen für die Weiter- oder Einzelbearbeitung auf Mikros oder Minis zur Verfügung. Die neueren Entwicklungen am Großrechnersektor gehen eindeutig in Richtung Supercomputing, dessen Anwendungen für Klein- und Mittelbetriebe allerdings kaum in Frage kommen. Der Einsatz derartiger Anlagen ist eher bei komplizierten wissenschaftlich-technischen und militärischen Anwendungen zu sehen.


Allgemeines und Beschreibung zu Großrechnern


Mainframes oder Großrechner sind heutzutage die Dinosaurier unter den Computern: Groß, schwer und es gab schon mal mehr davon.


Viele Anwendungen wurden bereits auf kleinere Systeme wie PC- oder Workstation-Netze ausgelagert, die im Unterhalt nicht so kostspielig sind.


Großrechner waren von Anfang an als Mehrbenutzersysteme konzipiert, und sowohl die Hardware als auch die Betriebssysteme sind darauf speziell ausgelegt. Auf diesem Gebiet sind die Mainframes selbst schnellen Workstations heute noch überlegen: Auf dem zentralen Großrechner des Forschungszentrums Jülich sind bis zu 500 Leute eingeloggt, ohne daß dies für das System ein Problem darstellen würde, während man bei Hochleistungsworkstations oft schon bei 4 bis 5 eingeloggten Usern deutliche Performance-Einbrüche erlebt. Zusätzlich bieten Großrechner garantierte Antwortzeiten.


Großrechner sind auf die Verarbeitung großer Datenmengen abgestimmt: Ihre Input/Output-Fähigkeiten werden nur noch von Supercomputern übertroffen. Welches ein Grund ist, warum sie in Verwaltungszentralen noch immer ihren Platz haben, wobei nicht nur die Geschwindigkeit sondern auch die hohe Datensicherheit eine Rolle spielt.


Großrechner werden in der Regel von speziellen Terminals aus bedient (nur Text und ab und zu auch Graphikfähig). In den letzten Jahren häuft sich der Einsatz von Mikrocomputern und Workstations mit Kopplungsprogrammen als Terminal, weil die Terminals auf Grund der niedrigen Stückzahlen sehr teuer sind und auf diesen Ersatzterminals auch ohne den zentralen Rechner etwas gemacht werden kann.


Großrechner müssen eine hohe Ausfallsicherheit gewährleisten. Niedrige Ausschaltzeiten können nur mit einer hohen Redundanz erreicht werden. Um dies zu gewährleisten müssen alle Komponenten doppelt vorhanden sein (Netzteil, Controller, Festplatte, Ersatzprozessor der zumindest ein sicheres Herunterfahren des Systems gewährleistet) und die meisten Komponenten während des laufenden Betriebes austauschbar sein. In dem mehrere Rechner zu einem Cluster zusammengeschlossen werden, kann die Sicherheit auch noch erhöht werden.

Datensicherheit wird bei Großrechnern großgeschrieben: Systeme werden jede Nacht gebackupt und das Hacken ist auf solchen Systemen auch wesentlich schwerer.



Geschichte der Großrechner


Kurz nach dem 2. Weltkrieg kamen die ersten Großrechner auf den Markt. Man konnte jedoch nur einfache Operationen damit durchführen. Diese Rechner benötigten große Klimaanlagen, spezielles Bedienpersonal und mehrere Benutzer mußten sie diesen einen Rechner teilen. Diese Rechner ähnelten in Größe und Form sehr den heutigen Großrechnern, konnten jedoch aber nicht viel mehr als ein Taschenrechner.


Mark1 von IBM, war ein typischer Rechner dieser Zeit. Er wog ca. 6 t, war sehr groß und mit heutigen Rechnern verglichen, extrem langsam. Aufgebaut war dieser Rechner aus elektromechanischen Relais. Eine Neuheit stellte dieser Rechner deshalb dar, weil er Additionen in weniger als einer Sekunde durchführen konnte. Einige Jahrzehnte später brachte IBM die Produktfamilie S/360 auf den Markt. Diese Rechner wurden bereits in Serie verkauft und verfügten über ein Betriebssystem. Diese gehörten bereits der 3. Generation an und implementierten bereits Mehrprogrammbetrieb. Technik und Leistungsfähigkeit wurden zwar im Laufe der Zeit enorm verbessert, jedoch sind die Grundprinzipien des Mehrprogrammbetriebs heute noch immer die selben wie vor 30 Jahren.


Grundlegende Eigenschaften von Großrechnern


Multi-User-Fähigkeit


Dabei sind mehrere Benutzer über ein Terminal mit einem Rechner verbunden. Da ein Großrechner Timesharing beherrscht, kann er zwischen den Prozessen der einzelnen Benutzer hin- und herschalten und erweckt trotzdem den Eindruck als würde er dem Benutzer alleine zur Verfügung stehen. Das Betriebssystem muß jedoch zahlreiche Sicherheitsfunktionen implementieren.


Das Terminal, welches die Verbindung zum Großrechner darstellt besteht aus einem Bildschirm, einer Tastatur und einem Verbindungsgerät zum Großrechner. Die Eingabe der Benutzer werden an den Großrechner geschickt, von diesem verarbeitet und die Ausgaben werden zurückgeschickt. Die einzige Aufgabe des Terminals ist es die Ein- und Ausgaben zu puffern.


Diese Art der Rechnerverwendung wurde früher geführt, weil sich einzelne Benutzer keinen Rechner leisten konnten. Später wurde dieser Betrieb in Rechenzentren geführt, wo die Rechnerbenutzung an andere vermietet wurde.


Ausfallsicherheit


Ein Großrechner muß gewährleisten, daß nur unter Einbeziehung bestimmter Sicherheitsmaßnahmen, mehrere Benutzer auf einem Großrechner gleichzeitig arbeiten und auf die Ressourcen zugreifen.


Maßnahmen zur Sicherheitsgewährleistung:

Meißtens durch Login-ID und Passwort Authentifizierung jedes Benutzers

Zugriffe auf Ressourcen werden protokolliert

Rechte der Ressourcen darf nur der Besitzer festlegen

Versehen jeder Ressource mit einer Zugriffsliste (Access Control List)


Timesharing


Der Mehrprogrammbetrieb wurde anfangs durch das Timesharing-Prinzip gewährleistet. Bei diesem Prinzip werden mehrere Anwendungen gleichzeitig im Hauptspeicher gehalten. Die CPU wird zwischen den Anwendungen vom Scheduler, einer übergeordneten Instanz, in kurzen Zeitabständen hin- und hergeschalten, so daß der Anwender glaubt, daß alle Anwendungen gleichzeitig ablaufen. Um den aktuellen Status der Anwendungen zu sichern, müssen viele Informationen gesichert werden, die von den CPU-Registern über sogenannte Speichersegment-Zeiger bis zum aktuellen Dateiverzeichnis reichen. Vom Scheduling-Algorithmus hängt ab in welcher Reihenfolge den Programmen Rechenzeit zugeteilt wird. Es gibt hier eine Vielzahl solcher Algorithmen. Z.B.:


Scheduling aus Thread-Sicht



Die Thread-Library stellt das Programmierer-Interface zur Erzeugung und Verwaltung von Applikationsthreads dar. Sie verteilt die Threads eines Prozesses auf die zum Prozeß gehörigen LWPs. Es gibt zwei Möglichkeiten, wie LWPs Threads ausführen: gebunden oder ungebunden. Ungebundene Threads werden gemäß ihrer internen Priorität einem beliebigen, gerade zur Verfügung stehenden LWP zugeordnet und von ihm nach Erkennung des Thread-Status ausgeführt. Wenn ein solcher Thread durch einen Synchronisationsmechanismus blockiert wird oder ein anderer Thread ausgeführt werden soll, wird der Thread-Status gesichert, und mit einem anderen (ungebundenen) Thread wird genauso verfahren. In manchen Fällen, z.B. bei Realtime-Anwendungen, ist es nötig, daß Threads eine ganz bestimmte, systemweite Priorität haben. Dies ist bei ungebundenen Threads nicht möglich, da sie nur innerhalb des Prozesses sichtbar sind. Deshalb gibt es gebundene Threads, bei deren Erzeugung auch ein LWP erzeugt wird. Dieser LWP führt nur diesen einen Thread aus, und der Thread erhält dadurch implizit die systemweite Priorität des LWPs. Grundsätzlich ist die Thread-Library in der Lage zu bestimmen, wieviele LWPs nötig sind, um den Pool von ungebundenen Threads auszuführen. Wichtig ist dabei, daß nicht dadurch eine Blockierung des Prozesses eintritt, daß es keine (unblockierten) LWPs mehr gibt, obwohl noch lauffähige Threads in dem Prozeß vorhanden wären. Auf der anderen Seite wäre es nicht sinnvoll, für jeden Thread ein LWP zu erzeugen, weil dann einige LWPs ungenutzt wären und unnütz System Ressourcen verbrauchen würden. Deshalb erzeugt die Library zunächst eine Default-Anzahl von LWPs. Wenn nun alle LWPs blockiert sind (z.B. durch Terminal Operationen), erhält der Prozeß vom Betriebssystem ein Signal (SIGWAITING), und die Thread-Library erzeugt einen neuen LWP, sofern es noch lauffähige Threads in dem Prozeß gibt.




Scheduling aus Prozeß-Sicht



Es gibt drei Scheduling-Klassen, Timeshare (TS), System (SYS) und Realtime (RT). Jeder Prozeß erhält seine Scheduling-Klasse und die entsprechende Priorität innerhalb dieser Klasse von dem Prozeß, der ihn erzeugt hat. Das Ziel der Timesharing-Strategie ist es, sowohl interaktiven Prozessen gute Antwortzeiten zu liefern, als auch für einen guten Durchsatz von rechenintensiven Prozessen zu sorgen. Deshalb wird jedem (Timesharing-)Prozeß eine Zeitscheibe von wenigen hundert Millisekunden zugeordet. Diese ist bei Prozessen mit höherer Priorität kürzer und bei Prozessen mit niedriger Priorität länger. Innerhalb der Timesharing-Klasse werden die Prioritäten dynamisch verändert. Die Priorität von einem 'schlafenden' Prozeß wird erhöht, wenn er zuvor nur sehr kurz die CPU belegt hat und dann unterbrochen oder blockiert wurde. Entsprechend wird die Priorität eines Prozesses gesenkt, der schon recht lange die CPU belegt. Dies ist die systemgesteuerte Komponente der Timesharing-Priorität. Die System-Scheduling-Klasse hat feste Prioritäten und ist ausschließlich für Kernel- Prozesse (-threads) reserviert. Anwender können der System-Klasse weder einen Prozeß hinzufügen noch einen aus ihr entfernen und auch deren Priorität nicht ändern. Auch die Prioritäten der Realtime-Scheduling-Klasse werden vom System nicht verändert, damit diese (zeitkritischen) Prozesse in einer vorherbestimmbaren Reihenfolge abgearbeitet werden können. Die Realtime-Prioritäten können nur von privilegierten Benutzern geändert werden. Aus den Prioritäten der einzelnen Scheduling-Klassen werden globale Prioritäten errechnet. Die (lauffähigen) Prozesse werden in Dispatch-Queues eingeordet. Die Prozesse innerhalb einer Dispatch-Queue haben die gleiche globale Priorität. Innerhalb der Dispatch-Queue wird das Round-Robin-Verfahren angewendet, d.h. neu ankommende und gerade bearbeitete Prozesse werden hinten angefügt, so daß jeder Prozeß dieser Priorität einmal an der Reihe ist. Der Kernel-Scheduler ordnet immer den ersten Prozeß der Dispatch-Queue mit der höchsten Priorität einer verfügbaren CPU zu. Wird ein Prozeß mit höherer Priorität lauffähig, wird dieser anstelle des gerade laufenden Prozesses der CPU zugeordnet, und letzterer suspendiert. Das bedeutet, solange es noch lauffähige Realtime-Prozesse gibt, können keine System- und keine Timesharing-Prozesse laufen. Nicht-lauffähige, also 'schlafende', Prozesse werden in Sleep-Queues eingeordnet. Prozesse in derselben Sleep-Queue warten auf das gleiche Ereignis, z.B. daß ein Synchronisationsobjekt frei wird. Innerhalb dieser Sleep-Queue sind sie nach ihrer Priorität geordnet. Tritt nun dieses Ereignis ein, wird der Prozeß, der an erster Stelle steht, also der mit der höchsten Priorität, lauffähig.


Wenn nicht genügend Hauptspeicher zur Verfügung steht, um alle zur Zeit aktiven Prozesse darin zu verwalten, werden einzelne Seiten davon in den

Sekundärspeicher ausgelagert, der Prozeß bleibt dabei aber lauffähig. Diesen Vorgang nennt man Paging. Wenn diese ausgelagerten Seiten gebraucht werden, muß der Prozeß solange schlafen, bis diese Seiten zurück in den Hauptspeicher gelesen wurden. Wenn noch größerer Speichermangel auftritt, müssen Prozesse

vollständig auf den Sekundärspeicher ausgelagert werden. Dies ist unter Swapping zu verstehen. Beim Paging, aber besonders beim Swapping, kommt es zu

Verzögerungen in der Ausführung, bis der Prozeß wieder im Speicher verfügbar ist. Dies ist für zeitkritische Anwendungen, also Realtime-Prozesse, nicht akzeptabel.

Deshalb haben Realtime-Prozesse die Möglichkeit, Speicherseiten im Hauptspeicher dauerhaft zu belegen.

Grafik zeigt vereinfacht alle Zustände, in denen sich ein Prozeß befinden kann.



Chip-Technogien


BIPOLAR


Die Bipolar-Familie war historisch gesehen, die erste, zum Chipbau verfügbare Technologie. Diese Technologie verwendet im Gegensatz zu CMOS strombetriebene Transistoren. Diese Technologie wird zwar teilweise auch heute noch verwendet, hatte aber jedoch ihren Höhepunkt gegen Ende der siebziger Jahre erreicht. Die ELC (Emitter-Coupled Logic) -Version dieser Technologie war wohl die populärste während dieser Periode.


CMOS


CMOS steht für Complementary Metal Oxide Semiconductor. Diese Technologie setzt spannungsbetriebene Transistoren ein und wurde nach und nach während der frühen achtziger Jahre eingeführt, ausgelöst durch eine immer stärkere Kundennachfrage nach immer größeren Arbeitsspeicherkapazitäten.

Vorteile gegenüber Bipolar:

höhere Verkleinerungsraten können erzielt werden

weniger Wärmeentwicklung -> dadurch Umstellung vieler Rechner von Wasser auf Luftkühlung


Nachteil gegenüber Bipolar:

langsamer



Tendenzen der CMOS-Technologie






Dichte





Maximale Taktfrequenz (MHz)





Typische maximale Transistorenanzahl pro Chip





Stromversorgung

5 V

5 V

3,3 V

3,3 V

Waferdurchmesser

150 mm



150 mm

200 mm

200 mm



Beispiele für Großrechner


Bull DPS 7000/MT Compact Models

Model

MT11

MT21

MT31

MT41

MT51

MT61

Zentraleinheit

Anzahl CPU's







Anzahl CDP's







Service- Prozessoren







Hauptspeicher (MB)







Transaktionen pro Sekunde







Integrierte Peripherie

Plattenprozessoren







Anzahl Platten-Einheiten







Plattenspeicher-Kapazität(GB)







Anzahl 8-mm Kasetten-Systeme







Externe Small Disk Array 7

(RAID 1)

Plattenspeicher-Kapazität (GB)







Cache-Speicher (MB)







Gesamte (physische) Plattenkapazität/GB









Nutzer-Kapazität in GB (unformatiert)







Weitere Pheripherie

Kassetten-Systeme

Kassettensystem-Prozessoren







Kassetten-Laufwerke







Magnetband-Systeme (nur Wiederanschluß)







Band-Prozessoren







Magnetband-Einheiten







Kassetten-Bibliotheken

WolfCreek TM CTL







PowderHorn TM CTL







CTLD001 (TimberWolf TM







Drucker

Zeilendrucker







Matrix-Zeilendrucker







Non-Impact-Drucker









Netzwerk-Prozessoren

CNP 7-II







MainWay







ISL Accesses







FCP 7 (FDDI Communication Processor 7)







Aktive Terminals (TDS-IDS/II)







Aktive Terminals (02) (TDS-Oracle)







Aufrüstbar auf

MT21

MT31

MT41

MT51

MT61






Kriterienkatalog


Zentraler Pufferspeicher

Hilfsprozessoren

Batch-Verarbeitung

Multiuser-Fähigkeit

Multiprocessing-Fähigkeit

Redundante HW

Klimaanlage

Gewicht

Hohe Kosten

Hohe Ausfallsicherheit

Spezielles Personal




Hersteller und deren Produkte und Adresse


IBM

Produkte: S/390 G3, S/390 G4, S/390 G5

Adresse: IBM Österreich

Obere Donaustraße 95

1020 Wien

Telefon: 0222/21145

Homepage: http://www.ibm.com


Siemens

Produkte: C80-2, S110, S115, S130, S135, S150, SR2000-A, SR2000-B

Adresse: Siemens Österreich

Siemensstraße 88-92

1210 Wien

Telefon: 0222/1707

Homepage: http://www.ibm.at


BULL

Produkte: DPS 7000, DPS 9000/500, DPS 9000/700, DPS 9000/900

Adresse: Bull AG Österreich

Linke Wien Zeile 192

1000 Wien

Telefon: 0222/89136

Homepage: http://www.bull.at


Tandem

Produkte: S700 Servers, S7000 Servers, S70000 Servers

Adresse: Tandem Computer GesmbH

Hietzinger Hauptstr 34

1130 Wien

Telefon: 0222 / 87816

Homepage: http://www.tandem.at


HP

Produkte: HP 3000 9x9KS, HP 3000 9x8, HP 3000 9x8

Adresse: Hewlett-Packard GesmbH

Lieblgasse 1

1220 Wien

Telefon: 0222/25000-0

Homepage: http://www.hp.com


Digital Equipment GesmbH

Produkte: Alpha Server 800, Alpha Server 1000A, Alpha Server 1200,

Alpha Server 4000/4100, Alpha Server 8200/8400

Adresse: Compaq Computer Austria GesmbH

Ziedlergasse 21

1231 Wien

Telefon: 0222/86630-0

Homepage: http://www.compaq.at


Fujitsu

Produkte: M-1800 - Serie, M-780/40

Adresse: Fujitsu Deutschland GmbH

Frankfurter Ring 211

D-80807 München

Telefon: (+49 89) 32378-0

Homepage: http://www.fujitsu.de










Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen







Neu artikel