Sensei Beast Geschrieben 20. Juli 2023 Geschrieben 20. Juli 2023 Hallo, könnte mir jemand vielleicht helfen, wie man an so einer Aufgabe rangehen sollte? Vielen Dank Zitieren
Wodar Hospur Geschrieben 20. Juli 2023 Geschrieben 20. Juli 2023 Ich würde paar Annahmen treffen und damit dann loslaufen: 1) Es gibt keine besondere Priorisierung im scheduling und kein CPU Pinning 2) Eine aktive Anwendung heißt mindestens ein Thread pro Anwendung wartet auf scheduling 3) Das heißt bei 4 SMT System warten pro Queue 124 andere Anwendungen So, zur Lösung für a) und b) hilft es sich anzuschauen, was macht ein Linuxkernel bei einem Major Pagefault mit dem Prozess? Was macht der Scheduler danach, mit der Annahme das 124 andere Tasks warten. Aufgabe c) mit Seitentabellen ist schwer zu sagen ohne das geklärt ist wie groß der virtuelle Adressraum der Prozesse sein soll. Vielleicht habt ihr da vorher mal drüber gesprochen, sonst kannst du irgendwas > 8 MB annehmen, dafür die Seitentabellenstruktur überlegen und mit 500 multiplizieren. Alles was du bis hier hin gemacht hast sollte dir eine Antwort auf d) geben. Zitieren
charmanta Geschrieben 21. Juli 2023 Geschrieben 21. Juli 2023 (bearbeitet) Das ist aber bestimmt keine Aufgabe einer Berufsschule, oder ? Frage C ist unklar. Aber Linux arbeitet mit 4k Pages. Also brauche ich ohne Swap schon mal 4Gb/4k an Page Entries. D ist auch Sicht der Memoryverwaltung auch unschön formuliert. Frage ist ob der Kernel die Page als inaktiv angesehen hat oder Memory Stealing betreiben musste. 4Gb bei 500 Prozessen ??? Wer würde so was überhaupt aufsetzen ??? ⛑ Bearbeitet 21. Juli 2023 von charmanta Zitieren
tkreutz2 Geschrieben 21. Juli 2023 Geschrieben 21. Juli 2023 (bearbeitet) Na ja, es gibt natürlich theoretische und pragmatische Ansätze. Ein pragmatischer Ansatz könnte sein, eine virtuelle Maschine aufzusetzen, Last zu simulieren und danach zu schauen, wie sich das System verhält. Dazu muss man jetzt keinen Server kaufen, der das konkrete Szenario simuliert. Man kann versuchen, eine Hochrechnung zu machen und die Werte zu skalieren. Ein mögliches Problem dabei kann natürlich sein, dass professionelle Systeme ganz anders performen, als ein kleines System. Aber es geht ja um Grundsatzfragen und sicher muss man auch verschiedene virtuelle Systeme aufsetzen und skalieren und danach schauen, wie sich das ganze verhält. Das sind dann die sog. Labs. Ich finde es ohnehin praktischer, wenn man sich mit diesem Thema intensiv beschäftigen möchte, wenn man damit so früh als möglich anfängt, eigene Labs aufzubauen, um verschiedenen Dingen dabei versucht, auf den Grund zu gehen. Wie man Last auf einem Linux System simuliert, dazu gibt es zahlreiche Beiträge. Hier mal ein Beispiel, bei dem 250 Logins simuliert werden. (Hercules Mainframe Emulator - frei verfügbar) http://www.kicksfortso.com Für dieses Beispiel muss man sich allerdings auch mit dem Mainframe Emulator Hercules beschäftigen - ist ja eigentlich praxisnah. Kann man natürlich auch mit anderen Systemen bauen. Eine Video Anleitung zu der Installation von dem Hercules Emulator und dem Kicks (CICS) Transaktion System findest Du bei YT (Moshix Mainframe Channel). Ist ein interessanter Einblick in die Welt der Großrechner. (alles frei verfügbar). Keine Ahnung, woher die Aufgabe kommt. Vielleicht soll auch die Kompetenz auf die Probe gestellt werden, nach Inhalten zu recherchieren. Über das Stichwort: "Ausführung des Prozesses X tritt ein Page-Fault auf" finde ich jede Menge an Lehrvideos. Da muss man dann schauen, ob es einem weiterhilft, oder nicht. z.B. findet das Stichwort dieses Video: Welches von dieser Seite aus verlinkt wurde. https://vfhcab.eduloop.de/loop/Page_Fault Habe bis jetzt aber nicht eine solche Aufgabe in einer IHK Prüfung gesehen. Bearbeitet 21. Juli 2023 von tkreutz2 Zitieren
Wodar Hospur Geschrieben 21. Juli 2023 Geschrieben 21. Juli 2023 vor 3 Stunden schrieb charmanta: Das ist aber bestimmt keine Aufgabe einer Berufsschule, oder ? Frage C ist unklar. Aber Linux arbeitet mit 4k Pages. Also brauche ich ohne Swap schon mal 4Gb/4k an Page Entries. Abhängig von der Architektur(power pc) können auch andere Page Sizes verwendet werden, auch ohne Huge Pages ;). Ohne zu wissen wie groß der virtual adress space ist, ist es unklar zu sagen wie viele Entries gebraucht werden. Wenn jeder Prozess 16 GB Mapping mit der 0 page macht ist das sehr viel größer als wenn jeder Prozess nur eine Seite für das Mapping braucht? Was auch spannend wird, ich glaube jede Architektur hat nochmal ein identity mapping im Sprung in den Kernel Mode. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.