Anmeldung Registrierung
Auto Hell Dunkel
Erweiterte Suche
  1. Startseite
  2. Podcasts
  3. SystemCall Podcast
  4. SC(6): Exokerniges Dateihandling und Threadpooling
Im SystemCall Podcast beschäftigen wir uns mit aktueller
Betriebssystemforschung - diesmal besprechen wir zwei Vorträge
vom Fachgruppentreffen Betriebsyssteme in Hamburg. Florian stellt
eine Art exokerniges Dateihandling vor, wo das Betriebssystem so
wenig wie möglich Funktionalität beisteuert. Stefan stellt dar
warum die Größe von Threadpools nicht händisch bestimmt werden
sollte und beschreibt ein System nachdem die Anzahl der Threads
dynamisch anhand Systemparameter eingestellt wird.

Ein Exokernel ist eine Betriebssystemarchitektur, bei der der
Betriebssystemkernel die minimale Funktionalität bereitstellt und
ansonsten die Userspace Anwendungen alle Aufgaben der Abstraktion
übernehmen müssen. Im vorgestellten Vortrag wurde gezeigt, dass
aktuelle implizite Ansätze mit Dateien auf Linux zu arbeiten,
eine SSD kaum auslasten könnten, d.h. mmap-Rufe und vor allem das
Freigeben von Speicher mit madvice sind zu langsam. Mit
expliziten Systemrufen wie read und write wäre das aber möglich,
das ist aber aufwändig, besonders sich zu merken auf welchen
Adressen welche Daten der Datei stehen. Also wurde ein System
vorgestellt, wo durch ein Kernelmodul physischer Hauptspeicher
fest reserviert wird und Anwendungen zur Verfügung gestellt wird.
Diese können dann explizit Dateiseiten einlesen und an die
richtige Stelle im Hauptspeicher schreiben. Wird der Speicher
nicht mehr benötigt kann er mit madvice zurückgegeben werden;
beim nächsten Zugriff erhält die Anwendung dann wieder neuen
Speicher vom Kernelmodul und die Anwendung kann die Seite erneut
einlesen.

Threadpools zeichnen sich dadurch aus, dass ahead-of-time also
bevor sie eigentlich gebraucht werden, eine Menge an Threads
erzeugt werden, die solange leerlaufen bis es Aufgaben (also
Tasks) für sie gibt. Viele Anwendungen schreiben sich eigene
Threadpool-Bibliotheken und verlangen vom Endnutzer, dass die
richtige Anzahl Threads statisch eingestellt wird. Das ist
aufwändig und teilweise sinnlos, besonders wenn die Anwendung aus
mehreren unterschiedlichen Phasen besteht (bspw. einlesen großer
Datenmengen, lange Berechnungen, zurückschreiben). Es wird ein
System vorgestellt, wo ein Controller das Einstellen der
richtigen Anzahl von Threads übernimmt. Dabei wird der Durchsatz
der Festplatte verwendet um Bottlenecks zu erkennen und ein
Bergsteigeverfahren angewandt um eine gute Anzahl Threads für die
aktuelle Situation zu finden.

Links

J. Timm & J. S. Rellermeyer, Why Multi-Threading Should No
Longer Be a DIY Job. Tagungsband des FG-BS Frühjahrstreffens
2022. Bonn: Gesellschaft für Informatik e.V.. DOI:
10.18420/fgbs2022f-02

GI Digital Library

Folien

Programm des Fachgruppentreffens

Intro-/Outrotheme

the_emergent
Episode melden

„SC(6): Exokerniges Dateihandling und Threadpooling“

Worum geht es? Danach fragen wir noch nach dem Grund.

Abonnenten

Teilen

Mein Archiv

Deine Privatkopie der Folgen, die du nicht verlieren willst.

Podcast-Folgen verschwinden. Feeds werden auf die letzten Episoden gekürzt, Hoster räumen alte Dateien ab, Formate wechseln den Anbieter und lassen ihr Archiv zurück. Mit „Mein Archiv“ sichert podcast.de die Folgen deiner Podcasts für dich — angefangen bei den ältesten, denn die sind zuerst weg.

  • Deine gesicherten Folgen bleiben hörbar, auch wenn das Original offline geht.
  • Auch Folgen, die im heutigen Feed gar nicht mehr stehen — podcast.de kennt sie noch.
  • Herunterladen bleibt möglich, solange die Folge beim Podcaster liegt. Der zählt seine Abrufe wie bisher.
Startet bald

Sei beim Start von Mein Archiv dabei

Mein Archiv ist fast fertig. Trag dich ein, dann bekommst du eine E-Mail, sobald es losgeht – und bist von Anfang an dabei. Wir schreiben dir nur zum Start, keine Werbung, keine Weitergabe deiner Daten.

Du bekommst zuerst eine Bestätigungsmail. Abmelden geht jederzeit. Datenschutz