SC(9): Riesenseiten und Page-Fault Latenz
1 Stunde 13 Minuten
Podcast
Podcaster
Forschungspodcast über Betriebssysteme
Hannover
Beschreibung
vor 1 Jahr
Diese neunte Folge des SystemCalls dreht sich um Huge Paging in
Linux und die Betrachtung der Latenz von Page Faults mit
aufkommenden niedrig-latenten Hintergrundspeichern. Normalerweise
erfolgt(e) Paging auf der x86 Plattform auf der Granularität von
4K Speicherseiten. Jede Seite beginnt dabei von einer auf 4096
Byte ausgerichteten Adresse, d.h. die letzten 12 Bits der ersten
Adresse einer jeden Seite sind Null. Dieses Bedingung gilt sowohl
im physischen, wie auch im virtuellen Adressraum. Zwischen dem
physischen Frame (oder Kachel) und einer virtuellen Page (Seite)
kann dann beliebig durch die Memory-Management Unit abgebildet
werden, gesteuert durch die Page Table.
Im ersten Thema geht es um Ingens, einem Algorithmus um
Transparent Huge Pages vergeben zu können. Die Autoren decken
einige Probleme der zu der Zeit aktuellen Linux-Implementation
auf, bspw. Latenz beim Herausgeben von 2M Seiten und Probleme im
Same Page Merging, wobei 2M Seiten wieder nach 4K Seiten
aufgespalten werden, falls 4K Seiten identisch sind und geteilt
werden können. Ingens sieht dabei Kontiguität als Ressource. Die
Verwaltung der Seiten wird außerdem intelligent an die
Zugriffsmuster der Anwendungen ausgerichtet. Durch zwei
Bitvektoren werden die Zugriffs- und Benutztheitsmuster
aufgezeichnet, anhand dessen die Verwaltung der Huge Pages
gesteuert wird.
Das zweite Thema beschäftigt sich mit der Latenz von Page Faults.
Ein Page Fault entsteht, wenn eine zugegriffene virtuelle Seite
nicht im Arbeitsspeicher vorhanden ist, bspw. weil sie auf
Hintergrundspeicher (SSDs, HDDs) ausgelagert wurde. Bislang sind
die Page Faults Algorithmen davon ausgegangen, dass der
Hintergrundspeicher bedeutend langsamer ist, als die Kosten für
einen Kontextwechsel, also das Schlafenlegen des zugreifenden
Threads und das Einwechseln eines anderen, bis die betreffende
Seite eingelesen worden ist. Mit dem Aufkommen von Intel Optane
Speichern ist die Annahme, so die Autoren, aber nicht länger
gültig; die Latenz kommt nun in Bereiche, dass ein aktives Warten
darauf, dass einzelne Seiten eingelesen wird, attraktiv wird,
weil die Kosten eines Context Switch überwiegen können.
Links Coordinated and Efficient Huge Page Management with
Ingens
Youngjin Kwon, Hangchen Yu, Simon Peter, Christopher J. Rossbach
and Emmett Witchel (2016). Coordinated and Efficient Huge Page
Management with Ingens. In OSDI (Vol. 16, pp. 705-721).
Usenix
When Storage Response Time Catches Up With Overall Context
Switch Overhead, What Is Next?
Chun-Feng Wu, Yuan-Hao Chang, Ming-Chang Yang and Tei-Wei Kuo
(2020). When Storage Response Time Catches Up With Overall
Context Switch Overhead, What Is Next?. In IEEE Transactions on
Computer-Aided Design of Integrated Circuits and Systems, vol.
39, no. 11, pp. 4266-4277, Nov. 2020, DOI:
10.1109/TCAD.2020.3012322.
IEEE
Intro-/Outrotheme
the_emergent
Weitere Episoden
1 Stunde 8 Minuten
vor 1 Jahr
50 Minuten
vor 1 Jahr
52 Minuten
vor 1 Jahr
78 Sekunden
vor 2 Jahren
1 Stunde 1 Minute
vor 2 Jahren
In Podcasts werben
Abonnenten
"SC(9): Riesenseiten und Page-Fault Latenz"
"SystemCall"
Kommentare (0)