2024 · 12 citations · 19 references
ComputingComputer ScienceComputer SystemsContainerizationOperating SystemsVirtualizationKernel ArchitectureKernel DesignKernel ProgrammingVirtual MemoryContainersExecution TracingFilteringKernel Performance OptimizationOperating System Overhead AnalysisOverhead ReductionPerformance OverheadPerformance Overhead Analysis
Current eBPF-based kernel extensions affect entire systems, and are coarse-grained. For some use cases, like tracing, operators are more interested in tracing a subset of processes (e.g., belonging to a container) rather than all processes. While overhead from tracing is expected for targeted processes, we find untraced processes---those that are not the target of tracing---also incur performance overhead. To better understand this overhead, we identify and explore three techniques for per-process filtering for eBPF: post-eBPF, in-eBPF, and pre-eBPF filtering, finding that all three approaches result in excessive overhead on untraced processes. Finally, we propose a system that allows for zero-untraced-overhead per-process eBPF tracing by modifying kernel virtual memory mappings to present per-process kernel views, effectively enabling untraced processes to execute on the kernel as if no eBPF programs are attached.
19
2017 USENIX Annual Technical Conference (USENIX ATC'17)
Do Le Quoc, Martin S. Beck, Pramod Bhatotia et al. · 2017 · 3.1K citations
Andrew Baumann, Paul Barham, Pierre-Évariste Dagand et al. · 2009 · 797 citations
Anil Madhavapeddy, Richard Mortier, Charalampos Rotsos et al. · 2013 · 402 citations
Toke Høiland-Jørgensen, Jesper Dangaard Brouer, Daniel Borkmann et al. · 2018 · 297 citations · Full text
Transparent dynamic instrumentation
Derek Bruening, Qin Zhao, Saman Amarasinghe · 2012 · 123 citations · Full text