06.03.2026; Vortrag
Echtzeit-AGUser-Level NUMA-Awareness für L4Re
Presentation Language: German
Eine Möglichkeit Multiprozessorsysteme mit vielen Kernen und hohem Bedarf an Speicherbandbreite zu unterstützen sind Non-Uniform Memory Access (NUMA) Architekturen. Bei NUMA-Systemen sind die Prozessoren und der Arbeitsspeicher in Knoten eingeteilt. Die Prozessoren haben unterschiedliche Zugriffszeiten auf verschiedene Teile des Arbeitsspeichers, abhängig davon, ob Speicher vom gleichen oder fremden NUMA-Knoten benutzt wird.
Programme, die die bestmögliche Leistung anstreben, brauchen auf NUMA-Systeme die Kontrolle, auf welchem Knoten der Speicher allokiert wird. In meiner Arbeit zeige ich einen Weg, wie diese Kontrolle für User-Level Programme in L4Re umgesetzt werden kann.
Mit Hilfe meines NUMA-Managers und Änderungen an Moe können User-Level Programme auf L4Re beim Erstellen eines Dataspaces und somit beim Allokieren von Speicher den NUMA-Knoten wählen. Wird der NUMA-Knoten nicht explizit ausgewählt, dann wird versucht Speicher vom NUMA-Knoten der Home-CPU des Programms zu bekommen.