SystemCall   /     SC(2): HimmelsbrĂĽcken durch Tunnel und Replikate bei Vielkernern

Description

Wir beschäftigen uns im SystemCall Podcast mit aktueller Betriebssystemforschung. In der zweiten Sendung diskutieren wir mit "SkyBridge: Fast and Secure Inter-Process Communication for Microkernels" eine Idee zur Beschleunigung von Interprozesskommunikation für Mikrokernel und sprechen über "NrOS: Effective Replication and Sharing in an Operating System", ein Konzept für effektives Teilen von Datenstrukturen auf Manycore-Non-Uniform-Memory-Access Maschinen. SkyBridge ist auf der EuroSys'19 erschienen und diskutiert einen Ansatz um Interprozesskommunikation zu beschleunigen. Die Performance eines Microkerns leidet sehr darunter, dass viel Funktionalität in vielen spezialisierten, abgekapselten Prozessen stattfindet und die Kommunikation nur über IPC durch den Kern möglich ist. Zunächst werden die Faktoren der Entschleunigung benannt und gemessen. So identifizieren sie die direkten Kosten (syscall, page tables wechseln, privilegien prüfen, sysexit), aber auch die indirekten Kosten (Verschmutzung der Caches). Die Autoren stellen dann eine Möglichkeit für synchrone Kommunikation vor, die die Schutzdomänen mithilfe der VT-x Erweiterung von Intel Prozessoren wechselt. Dabei wird ein Hypervisor eingeführt, der das 2-Stage Adress Translation in der Hand hält. Durch bestimmte vmfunc-Instruktionen können die Extended Page Tables (EPT) aus dem Usermodus heraus umgeschaltet werden, sodass die Guest-Physischen Adressen nun auf andere Host-Physischen Adressen zeigen. Das wird benutzt um von den Client Page Tables zu den Server Page Tables zu springen. nrOS (OSDI'21) ist ein Ansatz um in Systemen mit sehr vielen Prozessoren, sog. Manycore Systemen, effektiv Datenstrukturen zu teilen. In Non-Uniform-Memory-Access-Systemen (NUMA-Systmen) ist zwar der gesamte Speicher zugreifbar, aber nur ein Teil davon für bestimmte Prozessoren "nah", also schnell erreichbar. Anderer Speicher ist für andere Prozessoren näher. Jede NUMA-Node hat ein Duplikat der Datenstruktur, bspw. der Page Tables. Änderungen daran werden pro NUMA-Node durch einen einzigen Thread durchgeführt (den Combiner), der alle Änderungen auch ins Operational Log(buch) schreibt. Die Änderungen werden in Realzeit später auf den anderen Knoten nachgezogen. Lesezugriffe durch den Prozessor bei Speicherzugriffen sind somit schnell, weil sich die Daten in "nahem" Speicher befinden. Allerdings kann es passieren, dass wir veraltete Daten lesen und Pagefaults erhalten. Dann werden im Pagefault-Handler zunächst alle Änderungen nachgezogen. Links SkyBridge: Fast and Secure Inter-Process Communication for Microkernels Zeyu Mi, Dingji Li, Zihan Yang, Xinran Wang, and Haibo Chen. 2019. SkyBridge: Fast and Secure Inter-Process Communication for Microkernels. In Proceedings of the Fourteenth EuroSys Conference 2019 (EuroSys '19). Association for Computing Machinery, New York, NY, USA, Article 9, 1–15. DOI: https://doi.org/10.1145/3302424.3303946 ACM: SkyBridge Authors Copy Weitere Referenzen: Gerald J. Popek and Robert P. Goldberg. 1974. Formal requirements for virtualizable third generation architectures. Commun. ACM 17, 7 (July 1974), 412–421. DOI: https://doi.org/10.1145/361011.361073 Enabling Intel® Virtualization Technology Features and Benefits: https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/virtualization-enabling-intel-virtualization-technology-features-and-benefits-paper.pdf NrOS: Effective Replication and Sharing in an Operating System Bhardwaj, Ankit, Chinmay Kulkarni, Reto Achermann, Irina Calciu, Sanidhya Kashyap, Ryan Stutsman, Amy Tai, and Gerd Zellweger. 2021. NrOS: Effective Replication and Sharing in an Operating System. In 15th USENIX Symposium on Operating Systems Design and Implementation (OSDI 21), 295–312. Usenix: nrOS Introsounds Menschenmenge: InspectorJ freesound.org

Summary

Wir beschäftigen uns im SystemCall Podcast mit aktueller Betriebssystemforschung. In der zweiten Sendung diskutieren wir mit "SkyBridge: Fast and Secure Inter-Process Communication for Microkernels" eine Idee zur Beschleunigung von Interprozesskommunikation für Mikrokernel und sprechen über "NrOS: Effective Replication and Sharing in an Operating System", ein Konzept für effektives Teilen von …

Subtitle
Duration
0:41:03
Publishing date
2021-10-25 00:00
Link
https://systemcall.rocks/sc2-skybridge-nrOS.html
Contributors
  Stefan Naumann
author  
Enclosures
https://systemcall.rocks/assets/sc2-skybridge-nrOS.m4a
audio/mpeg