Một tập hợp các bản vá”yêu cầu nhận xét”được đăng hôm nay vào danh sách gửi thư của nhân Linux triển khai hỗ trợ cho các chính sách bộ lập lịch CPU sẽ được triển khai dưới dạng (e)chương trình BPF.
Nhân Linux đã tiếp tục được áp dụng (e)BPF vào các vùng khác nhau của nhân. Một trong những bổ sung eBPF sắp ra mắt là hỗ trợ eBPF đến với hệ thống con HID để xử lý tốt hơn với phần cứng kỳ quặc một cách kịp thời hơn và hy vọng sẽ dẫn đến ít sự xáo trộn trình điều khiển dư thừa hơn.
Tejun Heo đã công bố bộ lập lịch trình eBPF hoạt động hôm nay như một phần công việc của anh ấy và một số nhà phát triển nhân khác. Niềm tin là với sự hỗ trợ eBPF cho bộ lập lịch nhân Linux, nó có thể dễ dàng thử nghiệm và khám phá các chính sách lập lịch mới, cho phép các bộ lập lịch dành riêng cho ứng dụng và các tùy chọn tùy chỉnh khác thông qua tải các chương trình BPF tùy chỉnh và cung cấp một cách không gây gián đoạn để thay đổi đưa ra các chính sách lập kế hoạch trong môi trường sản xuất.
Các kỹ sư của cả Google và Meta (Facebook) đứng sau sáng kiến này. Như phần kết luận cho loạt bản vá lỗi RFC ngày hôm nay:
“Cả Meta và Google đã thử nghiệm khá nhiều công cụ lập lịch biểu trong vài năm qua. Google đã đo điểm chuẩn cho nhiều khối lượng công việc khác nhau bằng cách sử dụng lập lịch trình không gian của người dùng và đã đạt được hiệu suất vượt trội nhờ giao dịch tắt tính tổng quát cho các nhu cầu cụ thể của ứng dụng. Tại Meta, chúng tôi chưa triển khai sched_ext trên bất kỳ khối lượng công việc sản xuất nào, mặc dù các thử nghiệm sơ bộ của chúng tôi cho thấy rằng sched_ext sẽ mang lại hiệu suất đáng kể khi được triển khai trên quy mô lớn. Nếu được ngược dòng thành công, chúng tôi hy vọng sẽ tận dụng rộng rãi nó để chạy thử nghiệm khác nhau và phát triển bộ lập lịch tùy chỉnh cho một số khối lượng công việc quan trọng.
Cuối cùng, cả Meta và Google đều tin rằng sched_ext sẽ phát triển đáng kể cách cộng đồng rộng lớn hơn khám phá không gian vấn đề lập lịch, cho phép bộ lập lịch trong nhân tiếp tục cải thiện, đồng thời cũng cho phép các chính sách được nhắm mục tiêu cho các ứng dụng tùy chỉnh. Chúng tôi sẽ có thể thử nghiệm dễ dàng và nhanh chóng hơn er, khám phá các khu vực chưa được khám phá và triển khai các thay đổi trong lịch trình khẩn cấp khi cần thiết. Điều tương tự cũng áp dụng cho bất kỳ ai muốn làm việc trên bộ lập lịch trình, bao gồm cả giới học thuật và các ngành chuyên môn. sched_ext sẽ thúc đẩy trạng thái hiện đại khi nói đến lập lịch trình và hiệu suất trong Linux.”
Là một phần của các bản vá ngày nay, bên cạnh hoạt động trên cơ sở hạ tầng lập lịch biểu eBPF, còn có một ví dụ về lập lịch biểu hiển thị hầu hết các quyết định lập lịch trình được hoãn lại cho không gian người dùng. Một trình lập lịch trình trình diễn khác là một cách tiếp cận kết hợp trong đó các quyết định cân bằng tải được thực hiện trong không gian người dùng và mã đó được viết bằng ngôn ngữ lập trình Rust.
Thông tin chi tiết về đề xuất rất thú vị này thông qua