Aufgabe 1 – Multiple Choice

(a) Was wird in einem Grid durch die Kombination aus der Speicherhardware (Backend) und der kontrollierenden Software (z. B. ein Dateisystem) definiert?

  • Eine Speicherresource
    Begründung: Die Kombination aus physischem Speicher und steuender Software (z. B. Dateisystem) definiert eine Speicherresource.

(b) Welche Aussagen über das sogenannte Pinnen von Dateien sind richtig?

  • Eine gepinnte Datei wird vor Löschung im Disk-Cache geschützt.
  • Ein lokales System kann auch ein Remote-System auffordern, eine Datei zu pinnen.
    Begründung: Beim Pinnen wird die Datei aus dem Cache-Löschalgorithmus ausgenommen; außerdem kann in verteilten Speichersystemen auch ein lokaler Knoten ein entferntes System anweisen, eine Datei zu pinnen.
    (Die Aussagen zu höherer Übertragungsgeschwindigkeit bzw. global gültigem Pfad sind falsch.)

(c) Welche der folgenden Aussagen beschreiben, welche der fünf Basic Grid Layers nach Foster dazugehören?

  • Fabric
  • Collective
    Begründung: Foster gliedert Grids in die Schichten: Fabric, Connectivity, Resource, Collective und Applications. “Platform” und “Transport” gehören nicht dazu.

(d) Welche Aussagen über das Green Computing sind korrekt?

  • Ein Ziel ist die Verringerung der Umweltbelastung, zum Beispiel durch die Reduzierung von Treibhausgasen.
  • Die Implementierung von Umweltmanagementsystemen kann zur Reduzierung von Umweltauswirkungen beitragen.
  • Die Nutzung von ICT-Technologien kann zur Verringerung des ökologischen Fußabdrucks anderer Prozesse und Sektoren beitragen.
    Begründung: Recycling gehört zu Green Computing – daher ist die Aussage „Recycling von Elektronikgeräten ist nicht im Sinne von Green Computing“ falsch.

(e) Welche Art der Anwendung charakterisiert man als Many-Task Computing (MTC)?

  • Parallele Ausführung vieler unabhängiger kurzer Berechnungen
    Begründung: MTC umfasst viele kleine, voneinander unabhängige Tasks, die parallel abgearbeitet werden.

(f) Welche Aussagen treffen auf JSDL (Job Submission Description Language) zu?

  • Beschreibt Anforderungen zur Job-Submission.
  • Normatives XML-Schema.
    Begründung: JSDL definiert per XML Jobanforderungen und wird häufig über Webservices eingebunden. Es führt selbst keine Aktivitäten aus.

(g) Was zählt zu den Aufgaben eines Meta-Schedulers?

  • Verwaltung von Job-Warteschlangen.
    Begründung: Der Meta-Scheduler koordiniert Aufgabenplanung und Ressourcenzuteilung über mehrere Systeme – Deployment, VO-Management oder Datenverwaltung sind in der Regel lokale Aufgaben.

(h) Welche der folgenden Informationen können bedenkenlos veröffentlicht werden, ohne dass Sicherheitsprobleme entstehen?

  • Public Key
  • X Zertifikat
    Begründung: Öffentliche Schlüssel und X-Zertifikate sind für jedermann sichtbar. Private Keys (auch von X‑Proxy‑Zertifikaten) dürfen niemals veröffentlicht werden.

(i) Welche Aussagen sind im Hinblick auf die wechselseitige Authentifizierung korrekt?

  • Dient zur Sicherstellung der Authentizität von Kommunikationspartnern u. a. via X-Zertifikaten.
    Begründung: Wechselseitige Authentifizierung nutzt unter anderem X-Zertifikate, um beide Parteien zu verifizieren. Die anderen Aussagen sind falsch.

(j) Welche Definitionen der Cloud-Akteure sind zutreffend?

  • Ein Cloud Carrier ist ein Vermittler, der die Konnektivität und den Transport von Cloud Services von Cloud-Providern zu Cloud-Konsumenten bereitstellt.
  • Ein Cloud Consumer ist eine Person oder Organisation, die eine Geschäftsbeziehung mit einem Cloud-Provider unterhält und dessen Dienste nutzt.
  • Ein Cloud Broker ist eine Entität, die die Nutzung, Leistung und Bereitstellung von Cloud-Diensten verwaltet und die Beziehungen zwischen Cloud-Providern und Cloud-Konsumenten aushandelt.
    Begründung: Die Rolle des Cloud Auditors wird hier falsch beschrieben.

Aufgabe 2 – Kurzfragen

(a) Autorisierungsmodell (1 Punkt)

Antwort:
Es handelt sich um ein zentralisiertes Autorisierungsmodell – bei dem der Ressourcenzugriff (a → b) von einer zentralen Instanz (c) anhand von Berechtigungsanfragen geprüft und freigegeben bzw. verweigert wird.


(b) Cloud Computing – essentielle Charakteristika (3 Punkte)

Mögliche Antworten (nach NIST):

  • On-Demand Self-Service
  • Broad Network Access
  • Rapid Elasticity
    (Alternativ können auch “Resource Pooling” und “Measured Service” genannt werden.)

(c) Storage-Hierarchie (2 Punkte)

Antwort:
Zwei gegenläufige Dimensionen sind:

  • Kosten: Archive-Tiers sind kostengünstiger als Performance-Tiers.
  • Performance: Archive-Tiers bieten längere Zugriffszeiten und geringere I/O-Bandbreiten als Performance-Tiers.

(d) Lancium – Herausforderung und Lösung (2 Punkte)

Antwort:

  • Herausforderung: Nutzung von heterogenen und kurzfristig verfügbaren (nicht immer zuverlässigen) Ressourcen, etwa Desktop-PCs.
  • Lösung: Einsatz eines adaptiven, fehlertoleranten Schedulers, der den aktuellen Ressourcenstatus berücksichtigt und die Jobverteilung dynamisch anpasst.

(e) Blauer Engel – Bewertungskriterien (2 Punkte)

Antwort:
Neben der reinen Energieeffizienz werden etwa folgende Kriterien bewertet:

  • Nutzung erneuerbarer Energien
  • Effiziente Kühltechniken und Abwärmerückgewinnung

Aufgabe 3 – Von-Neumann-Architektur

(a) Leistungsbalance-Komponenten (3 Punkte)

Antwort:
Die drei wesentlichen Komponenten sind:

  • CPU (Prozessorleistung)
  • Memory (Speicherbandbreite und -kapazität)
  • I/O bzw. Kommunikationsleistung (Interconnect/Peripherie)

(b) Darstellung der Komponenten (2 Punkte)

Antwort:
Eine mögliche Darstellung ist ein Dreieck, das die wechselseitigen Abhängigkeiten zeigt:

flowchart LR
    CPU[CPU]
    MEM[Memory]
    IO[I/O & Interconnect]
    CPU --- MEM
    MEM --- IO
    IO --- CPU

(c) Abkürzungen HTC und HPC (1 Punkt)

Antwort:

  • HTC: High Throughput Computing
  • HPC: High Performance Computing

(d) Positionierung von HTC und HPC (2 Punkte)

Antwort:

  • HPC:
    Position: Zentral im System, da HPC-Anwendungen eine enge Kopplung zwischen CPU, Memory und I/O benötigen.
    Begründung: HPC fokussiert auf Spitzenleistung und geringe Latenz in eng gekoppelten Systemen.
  • HTC:
    Position: Eher verteilt/loser gekoppelt, da HTC aus vielen unabhängigen Tasks besteht.
    Begründung: HTC optimiert den Gesamtdurchsatz, indem es Aufgaben auf viele (oft unabhängige) Ressourcen verteilt.

(e) Capacity vs. Capability Computing (3 Punkte)

(i) Definitionen:

  • Capacity Computing:
    – Ziel: Hoher Gesamtdurchsatz, d. h. viele Jobs oder Tasks abzuarbeiten.
  • Capability Computing:
    – Ziel: Maximale Leistung bei einzelnen, rechenintensiven Aufgaben.

(ii) Zuordnung:

  • HTC wird dem Capacity Computing zugeordnet.
  • HPC gehört zum Capability Computing.

(f) Anwendungsbeispiele HTC/HPC (5 Punkte)

(i) Use Case:
Angenommen, im Vorlesungsbeispiel wurden viele unabhängige, kurzlaufende Simulationen (z. B. Monte-Carlo-Simulationen) gezeigt – dies ist ein HTC-Use Case.
Begründung: Die Aufgaben sind unabhängig und können parallel über viele Knoten abgearbeitet werden.

(ii) Anderes Beispiel:
Ein klassischer HPC-Use Case wäre die numerische Simulation der Strömungsdynamik (Computational Fluid Dynamics).
Begründung: Diese Anwendung erfordert eine enge Kopplung der Rechenknoten, geringe Latenz und hohe Kommunikationsleistung, um einen großen, parallelisierten Rechenjob in Echtzeit zu lösen.


Aufgabe 4 – Grid

(a) Basic Grid Layers nach Foster (4 Punkte)

Tabelle ausfüllen:

LayerName
5Applications
4Collective
3Resource
2Connectivity
1Fabric

(b) Zuordnung von Services (4 Punkte)

Antwort:

  • Single Sign-On: Layer 2 (Connectivity)
  • File Transfer Service (z. B. GridFTP): Layer 3 (Resource)
  • Co-Allokation: Layer 4 (Collective)
  • Informations- und Management-Protokolle: Layer 4 (Collective)

(c) GRID-Job – Komponenten (6 Punkte)

Mögliche Komponenten (7 Schritte):

  1. User Interface (Client): Der Nutzer, der den Job einreicht.
  2. Job Description Interpreter (z. B. JSDL): Übersetzt die Jobanforderungen.
  3. Resource Broker / Meta-Scheduler: Sucht passende Ressourcen.
  4. Job Submission Service: Leitet den Job an die Zielressource weiter.
  5. Local Resource Management System (LRMS): Lokales Scheduling (z. B. PBS, LSF).
  6. Execution Environment (Worker Node): Führt den Job aus.
  7. Data Management Service: Transfer von Eingabe- und Ausgabedaten.

(d) Detailfragen zu GRID-Komponenten (8 Punkte)

(i) Aufgaben von Komponente 2 (Resource Broker / Meta-Scheduler):

  • Matching: Vergleicht die Jobanforderungen mit aktuellen Ressourcendaten.
  • Reservation und Scheduling: Reserviert und plant Ressourcen für den Job.

(ii) Benötigte Informationen für Komponente 2:

  • Jobanforderungen: z. B. benötigte Anzahl von Nodes, Laufzeit (Walltime).
  • Ressourcenstatus: Aktuelle Verfügbarkeit, Auslastung und Leistungsparameter der Ressourcen (häufig über Informationsservices).

(iii) Aufgaben von Komponente 3 (Job Submission Service):

  • Übernahme und Weiterleitung: Nimmt den zugeteilten Job entgegen und leitet ihn an das lokale Resource Management System weiter.
  • Überwachung: Kontrolliert den Fortschritt des Jobs und meldet Statusänderungen zurück.

(iv) Administrative Zuständigkeit von Komponente 3:

  • Antwort:
    Die Verwaltung erfolgt lokal durch die Administratoren der jeweiligen Rechenzentrumsressource.
    Begründung: Eine lokale Verwaltung gewährleistet detaillierte Kontrolle über Sicherheit und Ressourcenmanagement. Würde dieselbe Instanz wie beim globalen Resource Broker (Komponente 2) diese Komponente steuern, käme es zu Interessenkonflikten und mangelnder Kenntnis der lokalen Systemdetails.

Aufgabe 5 – Scheduling

Gegeben:

  • Cluster mit 80 Nodes
  • Jobs in der Queue (in Prioritätsreihenfolge): A, B, C, D, E, F

Job-Daten:

Job-IDAnzahl NodesWalltime (Min)
A20210
B7530
C2060
D50120
E10120
F2575

Vorgehen (Aggressives Backfilling):

  1. t = 0:

    • Job A: Startet sofort (20 Nodes, läuft bis 210).
      → Verfügbare Nodes: 80 − 20 = 60
    • Job B: Kann nicht starten (benötigt 75 Nodes); erhält daher eine Reservierung (ursprünglich geplant ab t = 210, wenn A endet).
    • Job C: Benötigt 20 Nodes, Laufzeit 60 Min. → Startet, da 0+60 = 60 < 210.
      → Freie Nodes: 60 − 20 = 40
    • Job D: Benötigt 50 Nodes, Laufzeit 120 Min. → Kann aktuell nicht starten (freie Nodes 40 < 50).
    • Job E: Benötigt 10 Nodes, Laufzeit 120 Min. → Startet, da 0+120 = 120 < 210.
      → Freie Nodes: 40 − 10 = 30
    • Job F: Benötigt 25 Nodes, Laufzeit 75 Min. → Startet, da 0+75 = 75 < 210.
      → Freie Nodes: 30 − 25 = 5
  2. t = 60:

    • Job C endet → +20 Nodes.
      → Freie Nodes: 5 + 20 = 25
  3. t = 75:

    • Job F endet → +25 Nodes.
      → Freie Nodes: 25 + 25 = 50
    • Job D: Nun können 50 Nodes bereitgestellt werden.
      Job D startet bei t = 75 (alternativ ca. 75–80 Min, je nach Rundung).
      → Endet bei 75 + 120 = 195
  4. t = 120:

    • Job E endet → +10 Nodes.
      → Freie Nodes: (nach D’s Start und E’s Ende) bleiben aber reservierte Belegungen erhalten.
  5. t = 210:

    • Job A endet → +20 Nodes.
    • Jetzt stehen insgesamt 80 Nodes zur Verfügung, sodass Job B (reserviert, 75 Nodes) starten kann.
      → Job B startet bei t = 210 und läuft 30 Min, endet bei 240.

(a) Aggressives Backfilling – Finaler Schedule (5 Punkte)

Korrekte Tupel:

  • <A, 20, 0>
  • <C, 20, 0>
  • <E, 10, 0>
  • <F, 25, 0>
  • <D, 50, 75>
    (Alternativ kann hier ein Startzeitpunkt von ca. 80 Min angegeben werden – das Wesentliche ist, dass D deutlich vor 210 startet.)
  • <B, 75, 210>

(b) Verzögerter Job (2 Punkte)

Antwort:
Job B wird verzögert, weil es 75 Nodes benötigt und nicht sofort starten kann – es muss auf die Freigabe der Nodes durch Job A (und indirekt auch durch andere Jobs) warten. Backfilling lässt Jobs wie C, E, F und D vor B starten, solange B’s reservierter Start (t = 210) nicht gefährdet wird.

(c) Zusätzliche Wartezeit (1 Punkt)

Antwort:
Die zusätzliche Wartezeit von Job B beträgt 0 Minuten, da das Backfilling so erfolgt, dass B exakt zum reservierten Zeitpunkt (t = 210) startet.

(d) Position in der Queue (1 Punkt)

Antwort:
Ein Job, der Head-of-Line (an erster Stelle) ist, darf nicht verzögert werden. Nur Jobs weiter hinten in der Queue können durch Backfilling hinterhergeschoben werden.

(e) Auswirkungen für groß angelegte Jobs (2 Punkte)

Antwort:
Jobs, die sehr viele Nodes benötigen, haben es schwieriger, einen zusammenhängenden Block an freien Ressourcen zu finden – sie werden daher prinzipiell stärker verzögert, da kleinere Jobs die Ressourcen fragmentieren.


Aufgabe 6 – X-Zertifikate

(a) Schritte zur Zertifikatserstellung (4 Punkte)

Antwort:

  1. Erzeugung eines Schlüsselpaares:
    Wer? Alice generiert lokal ihr eigenes Schlüsselpaar (Private und Public Key).
  2. Erstellen eines Certificate Signing Request (CSR):
    Wer? Alice erstellt einen CSR, der ihren Public Key sowie Identitätsdaten enthält.
  3. Einreichen des CSR bei der Certificate Authority (CA):
    Wer? Alice sendet den CSR an eine vertrauenswürdige CA (z. B. Grid‑CA).
  4. Identitätsprüfung und Signierung:
    Wer? Die CA prüft Alices Identität und signiert den CSR, wodurch ein X‑Zertifikat entsteht.
  5. Übermittlung und Einsatz:
    Wer? Die CA übermittelt das signierte Zertifikat an Alice, die es zur Authentifizierung im GRID verwendet.

(b) Form des X-Zertifikats (1 Punkt)

Antwort:
Das X‑Zertifikat liegt üblicherweise im PEM‑Format vor (Base64-codierter ASCII-Text, umschlossen von

-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJAN8P7W0zp8A6MA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApxdWVlbiBzdGF0ZTETMBEGA1UECgwKTXkgT3JnYW5p
emF0aW9uMB4XDTIxMDUwNTEzNDcwNloXDTIyMDUwNTEzNDcwNlowRTELMAkGA1UE
BhMCQVUxEzARBgNVBAgMCnF1ZWVuIHN0YXRlMRMwEQYDVQQKDApNeSBPcmdhbml6
YXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+mT9Ij+L+5zD9
EZz4qlMdd77YF2P6WZVm+NuFQ5x+J7lToxX2fQJS4TeS4qJ6MxZV9Ltnz1GJYpG5
pOZ+1GgZ49V3E8b8sCwL9LQ2i4dsk6ppQOQf6S6KyU1rHqfB2RJNYf8vTt6Z5lQi
zD0+ECjUl+8Lr0EgI2N/zj0GFcYx/gwVwCNCukZaJ5aZ2Dm9m6e0TdbZLuvQYFfT
KQOZPI0qU8q4z8Wf4g6sMqGt9Q3v1ZT72KSkDlk/1EFBax9K/6I9qK2IopSivcmL
...
-----END CERTIFICATE-----

(c) Signierung des Root-Zertifikats (1 Punkt)

Antwort:
Das Root‑Zertifikat ist selbstsigniert – es wird von der Root‑CA eigenhändig signiert, da es keinen „höheren“ Aussteller gibt.


Aufgabe 7 – Virtualisierung

(a) Full-Virtualization Type 2 (6 Punkte)

Schematische Skizze:

flowchart BT
    A["Hardware"]
    B["GuestOS"]
    C["(Hypervisor, Type 2)"]
    X["Anwendung"]
    Y["Management"]

    D["Virtuelle Maschine 1"]
    E["Gastbetriebssystem 1"]
    F["Virtuelle Hardware 1 (vCPU, vRAM, Netzwerk, …)"]

    G["Virtuelle Maschine 2"]
    H["Gastbetriebssystem 2"]
    I["Virtuelle Hardware 2 (vCPU, vRAM, Netzwerk, …)"]

    A --> B
    B --> C
    B --> Y
    C --> D
    C --> G
    C --> X
    D --> E
    D --> F
    G --> H
    G --> I

Erläuterung:

  • Der physische Host führt ein Hostbetriebssystem aus.
  • Auf diesem läuft der Hypervisor (Type 2) als Anwendung, der dann virtuelle Maschinen mit einem Gastbetriebssystem und abstrahierter Hardware bereitstellt.

(b) Unterschiede zwischen Paravirtualization und Full Virtualization (2 Punkte)

Antwort:

  1. Modifikationsbedarf:
    Paravirtualization: Das Gastbetriebssystem muss angepasst werden.
    Full Virtualization: Unmodifizierte Betriebssysteme können genutzt werden.
  2. Performance/Overhead:
    Paravirtualization: Geringerer Overhead durch direkte Schnittstellen.
    Full Virtualization: Höherer Overhead durch vollständige Emulation der Hardware.

×

MyUniNotes is a free, non-profit project to make education accessible for everyone. If it has helped you, consider giving back! Even a small donation makes a difference.

These are my personal notes. While I strive for accuracy, I’m still a student myself. Thanks for being part of this journey!