Effizientes und skalierbares Core-Multiplexing mit M³v
Die BI-Forschungsgruppen "Modulare Betriebssysteme" und "Skalierbare Hardware-Plattformen" haben gemeinsam ein Papier erarbeitet, in dem das effiziente und skalierbare Core-Multiplexing-Konzept von M³v vorgestellt wird.
Worum geht es in diesem Artikel?
Wir verlassen uns täglich auf intelligente Systeme und Geräte, die zumeist über das Internet verbunden sind. Ihr Netzwerk bildet das Internet der Dinge (Internet of Things, IoT) und ist inzwischen fest in unseren Alltag integriert. Diese IoT-Geräte müssen Anforderungen sowohl an Leistungsfähigkeit und Energieverbrauch als auch an Sicherheit und Datenschutz erfüllen. Mithilfe des M³-Systems kann die zugrunde liegende Hardware und Software von IoT-Geräten flexibel aufgebaut werden. M³ ist ein Hardware-/Software-Co-Design, mit dem verschiedenste Hardware (z. B. Prozessoren/Cores, Funkmodems, KI-Beschleuniger) und Software (z. B. Betriebssystem, Anwendungsprogramme) in IoT-Geräte integriert werden kann. Es basiert auf einer sogenannten Kachel-Hardware-Architektur, bei der jede Hardwarekomponente auf einer Kachel isoliert und nur für ihre eigene Anwendung bestimmt ist. Erst das Betriebssystem erlaubt die Kommunikation zwischen ausgewählten Kacheln über ein Verbindungsnetzwerk. Durch diesen “Security-by-Design“-Ansatz bleiben auch bösartige Software und nicht vertrauenswürdige Hardwarekomponenten auf der jeweiligen isolierten Kachel. Damit können sie nicht in das komplette System eindringen.
Was genau wurde entdeckt?
Die Isolation der Kacheln von M³ erhöht die Sicherheit in hohem Maße, führt aber auch dazu, dass Hardwareressourcen verschwendet werden: Befindet sich eine Anwendung im Leerlauf, kann die betreffende Kachel nicht anderweitig genutzt werden. Unsere vorherige Arbeit, genannt M³x, führte deshalb Core-Multiplexing ein, bei dem die Hardware einer Kachel für mehrere Anwendungen gemeinsam genutzt werden kann. Dieses Konzept lockert die strikte Isolation der Kacheln teilweise, ermöglicht aber eine effizientere Ressourcennutzung. Jedoch liegt die Herausforderung nun beim Betriebssystem, das die Kommunikation nicht nur zwischen den Kacheln, sondern auch zwischen den Anwendungen einer Kachel verwalten muss. Aus diesem Grund zeigt M³x Probleme hinsichtlich der Leistungsfähigkeit, wenn das System eine große Anzahl von Kacheln enthält, die das Core-Multiplexing nutzen (Skalierbarkeit). In diesem Paper präsentieren wir M³v, einen neuartigen Ansatz für das Core-Multiplexing in M³, das diese Nachteile von M³x behebt. Unser Design enthält zusätzliche Hardware- und Softwareerweiterungen in jeder Kachel, die die Aufgaben des Betriebssystems lokal übernehmen und es damit entlasten. Das Ergebnis ist, dass wir die Isolations- und Sicherheitseigenschaften von M³x gegen eine höhere Leistungsfähigkeit des Systems eintauschen.
Was bedeutet das für uns?
Typischerweise hat Sicherheit ihren Preis. Durch die zusätzlichen Hardware- und Softwareressourcen in IoT-Geräten können sich deren Kosten als auch der Energieverbrauch erhöhen. Das effiziente und skalierbare Core-Multiplexing-Konzept von M³v erlaubt es Entwicklern und Systemdesignern, zwischen einer maximalen Isolation von Anwendungen und einer minimalen Ressourcennutzung zu wählen. Gerätenutzer profitieren weiterhin von den Sicherheitseigenschaften, die es Angreifern erschweren, private Daten auszulesen. Zudem wird das Nutzererlebnis verbessert, da z. B. die Leistungsfähigkeit und Batterielaufzeit der Geräte gesteigert und so an die zunehmenden Anforderungen der Anwendungen angepasst werden können.
Wo können wir mehr darüber lesen?
N. Asmussen, S. Haas, C. Weinhold, T. Miemietz, M. Roitzsch: Efficient and Scalable Core Multiplexing with M³v. 27th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’22), ACM, 2022.
Um das vollständige Papier zu lesen, folgen Sie bitte dem Link: https://dl.acm.org/doi/abs/10.1145/3503222.3507741