eBPF Documentary: eBPF’s Creation Story – Unlocking The Kernel
Cool. documentary for half an hour about technology eBPFUsed to safely and efficiently extend the operating system in runtime (It was originally just Linux.). The bottom line is that such an extension did not require changes in the source code of the kernel, nor did it require loading individual modules. Security was achieved by the verifier inside the kernel that performed static code analysis. Verified downloads are either interpreted or JIT compiled in the kernel to ensure their own execution performance. The execution model is event-driven and, with some exceptions, executed until completion. This means that programs can be attached to various intercept points in the operating system kernel and run when an event occurs.
The film tells how it all started with Alexei Starovoitov working for the startup PLUMgrid on SDN. (software defined network)I wanted to build a virtual machine into the Linux kernel.
Alexei decided to invent a new instruction set based on x86 assembly and get the kernel to verify the instruction set for safety. But the idea was too revolutionary, and that's why RedHat's Chris Wright (Now CTO RedHat) I asked him to go evolutionarily and start by look into an existing kernel subsystem called BPF and integrate it into existing BPF to make it easier to understand and accept for the community. This is where the name “extended Berkeley Packet Filter” came from. At first there was a plan to focus on the network, but as it turned out, there was already a solution for the burning problem. Then the focus shifted to trading and joined Brendan Gregg, who made using eBPF tools that later turned into bcc and bpftrace. eBPF has demonstrated its effectiveness in hyperscalers (Meta, Google, Netflix, ...)In fact, Alexei Starovoitov went to 2015 The year in Fb and there showed outstanding results. Then came the company idea. Isovalentwho created Ciliumwhich brought eBPF capabilities to end users eBPF has found application in security eBPF was repeated for other operating systems.
As a result, the original idea was able to implement and change the state of affairs in the industry, when writing code to execute code inside the kernel. (Not userspace.) It was extremely complicated, long and expensive. This can be done quickly and easily using eBPF.
P.S. I have only heard of eBPF in the past. 2019 I went to Kubecon in Barça and didn't immediately recognize the beauty of the technology. Maybe it's because I've never been a system programmer, and I know the network as well.)
#Linux #Kubernetes #Networking #DistributedSystems #SystemDesign #Software #Engineering