SC(9): Riesenseiten und Page-Fault Latenz

SC(9): Riesenseiten und Page-Fault Latenz

1 Stunde 13 Minuten
Podcast
Podcaster
SystemCall
Forschungspodcast über Betriebssysteme
Kein Benutzerfoto
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

Kommentare (0)

Abonnenten

15
15
00:00
00:00
"SC(9): Riesenseiten und Page-Fault Latenz"
"SystemCall"