Kapitel 11 Fallbezogene Aufgaben
Eine große Universität mit mehr als 20.000 Studierenden setzt für die Unterstützung der Lehr- und Lernprozesse ein umfangreiches E-Learning-System ein, das die Studierenden und die Lehrenden beim Lernen/Lehren und Kommunizieren über das Internet unterstützt. Das System wird auf Basis von Open-Source-Software gemeinsam mit anderen Universitäten weiterentwickelt und bietet lehrveranstaltungsbezogene Information (Syllabus, Kalender, An- und Abmeldung von Lehrveranstaltungen und Prüfungen, Notenbuch) und Lernmaterialien (Folien, Kontrollfragen, Musterklausuren, Lecturecasts, Aufgaben, Lern-Apps), die Unterstützung der Kommunikation in Foren oder Wikis, sowie weitere Online-Services wie Lehrveranstaltungsverzeichnis, Prüfungseinsicht, Lehrveranstaltungsevaluierung, elektronische Einreichung, Speicherung und Plagiatsüberprüfung von Abschlussarbeiten. In der Zeit der Prüfungsvorbereitung lösen Studierende bis zu 600.000 Beispiele online, wobei bis zu 2.500 Studierende gleichzeitig aktiv sind. Die durchschnittliche Antwortzeit des Systems beträgt weniger als 0,1 Sekunden.
Die Systemkonfiguration besteht derzeit aus einem Entwicklungs- und einem Produktionsserver mit jeweils zwei Intel-Xeon-E5-2560 Prozessoren mit je 2,6 GHz. Jeder dieser Prozessoren hat acht Kerne. Zur Erhöhung der Ausfallsicherheit dienen noch zwei weitere Rechner mit identischer Ausstattung, die im Normalbetrieb für Zusatzdienste genutzt werden. Als Speichersystem wird ein universitätsweites SAN-Speichersystem von IBM genutzt, das über Glasfaserkabel mit den Serverrechnern verbunden ist. Die Rechner werden unter dem Betriebssystem Linux betrieben. Das E-Learning-System speichert die Daten im relationalen Datenbanksystem PostgreSQL. Der Umfang der Datenbank beträgt derzeit etwa 50 GB, wobei der Umfang pro Jahr etwa 10 GB zunimmt. Die etwa 1.200 Lecturecasts liegen im Dateisystem und belegen etwa 1,5 TB. Die von den Benutzern in das System hoch geladenen Dateien (beispielsweise Studienführer, Folien, Literatur, Dateiablage, Abgabe von Hausübungen) umfassen 1,9 TB mit einem Wachstum von etwa 300 GB/Jahr. Der skalierbare, Internet-basierte Zugriff wird über einen Webserver namens NaviServer realisiert, der über eine interpretierte Sprache mit Anwendungslogik erweiterbar ist und im laufenden Betrieb weiterentwickelt werden kann. Sowohl PostgreSQL als auch der NaviServer sind in einer kompilierten Sprache implementiert, um möglichst kurze Verarbeitungszeiten zu gewährleisten. Während PostgreSQL für die Abarbeitung von SQL-Abfragen mehrere Prozesse verwendet, sind beim NaviServer durchschnittlich etwa 50 Threads gleichzeitig mit der Abarbeitung von Benutzeranfragen beschäftigt. Das E-Learning-System benutzt ein modulares Community-System auf Open-Source-Basis, für das mehrere hundert Erweiterungskomponenten entwickelt wurden. Der Gesamtumfang beträgt etwa 2 Millionen Zeilen Programmcode, von denen etwa ein Drittel im Learn@WU-System im Einsatz ist. Die Basiskomponenten wurden weiterverwendet, zahlreiche Komponenten wurden weiter entwickelt, einzelne Komponenten wurden neu entwickelt.
- Eignet sich das System für die Nutzung von Prozessoren mit mehreren Prozessorkernen?
- Welche Programmiersprache(n) würden sich für so ein System eignen?
- Warum sind einige Systemkomponenten in kompilierten, andere in interpretierten Programmiersprachen realisiert?
- Welche Rolle spielt Modularität und Wiederverwendung von Softwarekomponenten bei dem skizzierten System?
- Was sind die Vor- und Nachteile der Nutzung eines SAN-Systems gegenüber der Nutzung von lokalen Festplatten?
- Welche Faktoren spielen bei der Planung des Dateisystems eine Rolle?
- Handelt es sich beim Betrieb des Systems um einen Ein- oder Mehrprogrammbetrieb, beziehungsweise um einen Ein- oder Mehrbenutzerbetrieb?