
پروژه متنباز Beeper که حاصل پژوهش دانشگاهی است، با پیادهسازی تجزیه لایه کاربرد (Application-Layer Parsing) در eBPF درونهسته (In-Kernel eBPF) و ارائه یک کش HTTP درونهستهای (In-Kernel HTTP Cache)، مسیری تازه برای بهبود کارایی سرورهای وب فراهم کرده است. این پروژه در کنفرانس Linux Plumbers Conference معرفی شد و ویدیوهای ارائه آن نیز منتشر شده است.
Beeper چگونه کار میکند؟
Beeper با هدف تجزیه پروتکلهای لایه ۷ (L7 Protocols) در eBPF توسعه یافته و کد آن به زبان Rust در GitHub در دسترس است. این رویکرد امکان پردازش بخشی از منطق لایه کاربرد را درون هسته فراهم میکند و میتواند برای پایش ترافیک لایه کاربرد (Application-Layer Traffic Monitoring)، کشگذاری و تغییر مسیر بر اساس محتوای بسته (Payload-Based Redirection) به کار رود.
نتایج آزمایشها و مسیر سریع Hyper
بر اساس ارائه انجامشده، استفاده از این روش eBPF تا ۳.۴ برابر بهبود توان عبوری (Throughput) را نشان داده است. همچنین پروژه hyper-fast-path به عنوان مسیر سریع کتابخانه HTTP مبتنی بر Rust به نام Hyper، در حالت حداکثری تا ۴.۵ برابر توان عبوری را گزارش کرده است. در گزارش اولیه نیز از بهبود تا ۳ برابری در نرخهای بالا سخن گفته شده بود.
کاربردهای بالقوه
- پایش ترافیک لایه کاربرد (Application-Layer Traffic Monitoring)
- کشگذاری درونهستهای (In-Kernel Caching)
- تغییر مسیر بر اساس محتوای بسته (Payload-Based Redirection)
این پژوهش با همکاری پژوهشگرانی از ETH Zurich، NYU و NVIDIA انجام شده است. هنوز مشخص نیست که چنین رویکردی در آینده با چه پیادهسازیهای عملیاتی و تولیدی همراه خواهد شد، اما نتایج فعلی آن را به یکی از کاربردهای نوآورانه eBPF در بهینهسازی نرمافزارهای شبکه و سرورهای وب تبدیل کرده است.