Frage aus einer mündl. Prüfung - wer kennt die Antwort?

Status
Nicht offen für weitere Antworten.

ven000m

Bekanntes Mitglied
Hallo,

hier die Frage aus der mündl. Prüfung Verteilte Systeme bei uns:

Wie hoch ist die mittlere Wartezeit eines von 20 Clients für eine Std. Verschlüsselungsoperationen auf einer gewöhnlichen (1 Core) CPU, wenn eine vollständige Berechnung eines Clients 1 Std. dauert, wenn dieser 100% Zugriff auf die CPU hätte? (= Jetzt sich aber den Zugriff mit 19 anderen Clients teilen muss)

Hinweis: Die Clients docken quasi unmittelbar nacheinander an diesen multiplexenden Server an.


Meine Vermutung:
20 Clients (= 20 berechnende Threads) schaffen genausoviel wie 1 Thread. Es ist somit egal, ob diese parallel oder seriell an der Reihe kommen, es herrscht ohne hin keine wirkliche Parallelität -> weil die CPU sich nur einem Prozess unterwerfen kann.

Antwort:
Da jeder Client immer wieder einen kurzen Time Slot bekommt und immer nur ein bißchen rechnen kann, verzögert sich die Bearbeitung einer vollständigen Berechnung auf die Länge aller Berechnungen d.h. es dauert 20 Std. und ein paar Sek, bis der erste fertig wird.

Was ist davon zu halten, wie ist eure Lösung?

--------------------
Vielen Dank
 
ven000m hat gesagt.:
Was ist davon zu halten, wie ist eure Lösung?
Ist etwas galaktisch ausgedrückt, aber im Prinzip OK. Deine Antwort halte ich für falsch. Bei mehreren
Threads wird die CPU-Zeit unter den Threads aufgeteilt, so dass jeder für eine bestimmte Zeit zum Zuge
kommt. Und das sehr oft innerhalb der 20 Stunden.
Es geht bei den 20 Threads etwas Zeit für die Threadverwaltung veloren und diese wäre bei 20 Stunden
Verarbeitungsdauer ganz sicher länger als die paar Sekunden.
 
Naja soweit weg war ich gar nicht, ich habe in diesen Time Slots schon gedacht, es aber nur nicht geschrieben.

Also dauert es für 20 Clients >20 + x Std. ?
 
> ich habe in diesen Time Slots schon gedacht, es aber nur nicht geschrieben.

doch, hast du:

> Antwort:
> Da jeder Client immer wieder einen kurzen Time Slot bekommt [..]
 
ven000m hat gesagt.:
Also dauert es für 20 Clients >20 + x Std. ?
Eher + xx Minuten, aber es hängt auch sehr davon ab, was der Algorithmus tut. Wenn es um die Verschlüsselung
irgendwelcher Dateien geht, könnte die Gesamtdauer sogar kürzer als die 20 Stunden sein. Während ein Thread
eine Datei liest (separater Controller; CPU wird weniger beansprucht), rechnet ein anderer munter vor sich hin.

In einer Mündlichen Prüfung kann man gut erläutern, wie man seine Antwort gemeint hat. Schriftlich wäre es etwas
schwieriger, wenn man Missverständnisse vermeiden möchte. Einer der Gründe, warum ich mündliche Prüfungen
immer bevorzugt habe. :wink:
 
Hi,

achso.. ja dann lag ich doch gar nicht soweit weg. Also 20 + x Min. ist ja schonmal gar nicht so schlecht.

Die Gründe für mündl. Prüfungen sind auf der Hand.. man kann viel erzählen und genau das vermeiden, dass man sich falsch ausdrückt.

Hat das sonst jemand noch kontrolliert, ist das also richtig?

Gruß
 
Jepp, würde auch sagen: 20h plus/minus ein paar zerquetschte Stunden, Minuten oder sogar Sekunden, je nach Algo und Art der Implementierung.

Die im ersten Post genannte Antwort ist also als "korrekt" zu betiteln. So wirklich schwer war die Frage jetzt aber nicht, oder?

- Alex
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben