Kiến trúc tập lệnh BPF đã nhận được trạng thái tiêu chuẩn đề xuất

Lực lượng đặc nhiệm kỹ thuật Internet (IETF), chịu trách nhiệm phát triển các giao thức và kiến ​​trúc Internet, đã hoàn thiện RFC cho kiến ​​trúc tập lệnh BPF và xuất bản thông số kỹ thuật liên quan dưới mã định danh RFC 9669. RFC đã được cấp trạng thái là một "Tiêu chuẩn được đề xuất", sau đó công việc sẽ bắt đầu mang lại cho RFC trạng thái của một tiêu chuẩn dự thảo, điều này thực sự có nghĩa là ổn định hoàn toàn và có tính đến tất cả các nhận xét được đưa ra.

Bản đặc tả được công bố mô tả một tập hợp các lệnh bytecode BPF và một máy ảo cấp thấp được sử dụng trong hệ thống con eBPF của nhân Linux để thực thi các trình xử lý bên ngoài có khả năng thay đổi hành vi hệ thống ngay lập tức mà không cần sửa đổi mã nhân. Về cơ bản, eBPF triển khai một bộ xử lý ảo đơn giản với tập hợp thanh ghi riêng, các lệnh giống RISC, ngăn xếp và bộ đếm chương trình. Các chương trình BPF thường được viết bằng một tập hợp con của ngôn ngữ C và sau đó được biên dịch thành bytecode phù hợp để thực thi trong hệ điều hành Linux. máy ảoMáy ảo có thể thực thi các chương trình BPF bằng cách sử dụng thông dịch hoặc biên dịch tức thời (JIT) để dịch mã bytecode thành các lệnh máy ngay lập tức.

Người ta kỳ vọng rằng việc chuẩn hóa kiến ​​trúc tập lệnh BPF sẽ thúc đẩy việc tạo ra các triển khai của bên thứ ba tương thích với máy ảo eBPF và có khả năng chạy các chương trình BPF được viết cho nhân Linux. Công việc tạo ra những triển khai như vậy đang được tiến hành. máy ảo Một số nhà sản xuất bộ chuyển đổi mạng đang phát triển các công cụ tăng tốc phần cứng cho trình xử lý gói mạng BPF. Ý tưởng là mở rộng khả năng của hệ thống con XDP (eXpress Data Path) để chạy các chương trình BPF không chỉ ở cấp trình điều khiển mạng mà còn trên chính bộ chuyển đổi mạng.

Ví dụ: Netronome đã thêm hỗ trợ BPF cho bộ điều hợp Netronome Agilio CX SmartNIC và cung cấp một tập hợp các ví dụ về các chương trình BPF phổ quát có thể được thực thi không chỉ bằng CPU trong kernel với bất kỳ trình điều khiển tương thích XDP nào mà còn trên card mạng bên, cho phép bạn đưa ra quyết định về việc loại bỏ, sửa đổi hoặc chuyển hướng các gói mà không lãng phí tài nguyên CPU. Riêng biệt, công nghệ XRP (Đường dẫn gửi lại eXpress) đang được phát triển, cho phép sử dụng BPF để di chuyển một số hoạt động với ổ NVMe, chẳng hạn như làm việc với các chỉ mục và tổng hợp dữ liệu, sang cấp trình điều khiển NVMe hoặc sang thiết bị bên ngoài.

Cần lưu ý rằng việc áp dụng rộng rãi hơn các khả năng như vậy cho đến nay vẫn bị cản trở bởi các rủi ro liên quan đến các vấn đề tương thích và nhu cầu giám sát trạng thái eBPF trong kernel. Vì những rủi ro này, một số nhà sản xuất đã trì hoãn việc tích hợp khả năng tăng tốc phần cứng BPF vào thiết bị của họ cho đến khi tiêu chuẩn được thiết lập.

Nguồn: opennet.ru

Thêm một lời nhận xét