eBPF is transforming Linux system capabilities, enabling the extension of the Linux kernel with custom process schedulers, firewalls, and more. Thanks to Java’s recent advancements in native integration and a bit of compiler magic, we can now create these extensions directly in Java — and that’s exactly what this talk is all about.
We’ll cover the fundamentals of eBPF and scheduling and how to implement a custom scheduler in Java. The session will include a live demonstration in which we create a scheduler that visualizes scheduling through sound — each process is mapped to a musical note, offering a fun and intuitive way to understand system activity.
Join us for an engaging and informative session, during which you’ll learn how to craft small eBPF programs in Java for fun and profit.
Johannes Bechberger is a JVM developer working on profilers and their underlying technology in the SapMachine team at SAP. This includes improvements to async-profiler and its ecosystem, a website to view the different JFR event types, and improvements to the FirefoxProfiler, making it usable in the Java world. He started at SAP in 2022 after two years of research studies at the KIT in the field of Java security analyses. His work today is comprised of many open-source contributions and his blog, where he writes regularly on in-depth profiling and debugging topics, and of working on his JEP Candidate 435 to add a new profiling API to the OpenJDK.
David Kiefer is a bachelor student in computer science at KIT. In his free time, he plays CTFs with KITCTF and has recently gotten interested in custom schedulers with sched_ext.