Hi all, For those who don’t know me yet: I am a PhD student working on Genode as foundation for researching novel concepts and architectural designs for data-center system software and gave a talk about Genode on FOSDEM three years ago.
At the beginning of last year, I started porting the extension I made to Genode, namely NUMA support and dynamic resource allocation for components to Genode 25.02. As, Genode had diverged quite a lot since I started my modifications in 2022, I used the opportunity to completely redesign the handling of NUMA topology information and resource allocation. The reasoning behind this was, to make all my modifications available as an additional micro-kernel with its own specialized version of Genode’s “core” service. Thus, I hope, future upstream changes in Genode’s Core API can be more easily integrated into my fork of Genode. Furthermore, the redesign of my extensions allowed me to greatly improve the stability of the dynamic resource allocation for components while also improving its performance. This has also has been the year, where I finally implemented my plans for a NUMA-aware scalable hoard allocator that could replace Genode’s heap in scenarios with many parallel memory allocations as for example in database workloads, where not just scalability is needed but also the ability to allocate memory from specific NUMA regions in advance to improve NUMA-locality for future memory accesses. I have evaluated the performance of my new memory allocator with the “Larson” memory benchmark which is commonly used to evaluate the performance and scalability of memory allocations in server applications. The evaluation showed significant improvements for my allocator over Genode’s default allocator. Currently, I use my allocator even as a replacement for libC’s heap on Genode to test its performance and stability in real world applications. There might come up a pull requests, once, I have cleaned up the code and made it platform-agnostic. After I attended last year’s Hack’n’Hike where Norman explained to me how SculptOS implements the dynamic creation of components, I could finally implement my own CLI-based remote shell for Genode (think of it as the CLI version of Leitzentrale). Now, my colleagues and I can run various evaluation campaigns on Genode on our servers without manually having to compile a new Genode image and restart our servers for each change in a scenario, as we had to before, because Leitzentrale did not work on our servers (for some it did not start at all and for another server it started but keyboard and mouse didn’t work) and we didn’t need a GUI but scriptable manager instead. In the meanwhile, as kind of a side quest, I analyzed and experimented with Genode’s network stack, as using it for data-center workloads revealed some bottlenecks. In conclusion, 2025 was finally the year I got not just a first prototype of my envisioned data-center OS but also one that can new be used by others. As I will be on search for a new job in 2026, as my contract at the university comes to an end in February, I am not sure whether my plans for 2026 work out as intended. Nonetheless, I’d like to present some of the work I’d like to do in 2026. First and foremost, I’d like to use 2026 to improve the scalability and performance of Genode’s network stack which would benefit running server applications on Genode as well as network-bound desktop applications. In this regard, I like the idea to build bridges to other projects and applications for Genode. I imagine one could also build bridges into server and cloud applications, too. For example, I think of porting a set of typical server applications (such as memcached and a DBMS) to Genode. Which together with lighttpd (or even a port of apache or nginx) would enable Genode to host dynamic websites such as content-management systems, blogs such as Wordpress, or even instances of the fediverse. Above all, I am more than ever convinced that Genode’s architecture combined with the concept of microkernels provides a better foundation for today’s cloud infrastructure than Linux or Windows can provide, as I will discuss in my upcoming talk at FOSDEM 2026. I really like the idea of building bridges and hope to see more applications of Genode in the future. Cheers, Michael ............................................................................................................................................... Michael Müller Wissenschaftlicher Mitarbeiter (DFG-Projekt MxKernel) AG Eingebettete Systeme — Institut für Informatik Raum 50/613a Telefon: +49 541 969 3891 E-Mail: [email protected] <mailto:[email protected]> Homepage: ess.cs.uos.de/team/mml <https://ess.cs.uos.de/team/mml>
_______________________________________________ users mailing list -- [email protected] To unsubscribe send an email to [email protected] Archived at https://lists.genode.org/mailman3/hyperkitty/list/[email protected]/message/MBXMD3C4XW3XBD45YOPOKEAHNF3TSHZU/
