Koyeb đạt được thời gian khởi động lạnh VM 200ms bằng eBPF và Snapshots, khơi dậy cuộc thảo luận về tiềm năng tối ưu hóa

Nhóm Cộng đồng BigGo
Koyeb đạt được thời gian khởi động lạnh VM 200ms bằng eBPF và Snapshots, khơi dậy cuộc thảo luận về tiềm năng tối ưu hóa

Koyeb vừa công bố đạt được thời gian khởi động lạnh 200ms cho máy ảo đã tạo ra cuộc thảo luận sôi nổi trong cộng đồng công nghệ, với các chuyên gia đặt câu hỏi liệu cột mốc hiệu suất này có đại diện cho giới hạn lý thuyết hay vẫn còn chỗ để tối ưu hóa thêm.

Nền tảng serverless này đã trình bày chi tiết về tính năng Light Sleep của họ, sử dụng VM snapshots kết hợp với các chương trình eBPF (extended Berkeley Packet Filter) để phát hiện các ứng dụng nhàn rỗi và đánh thức chúng theo yêu cầu. Cách tiếp cận của họ bao gồm việc tạm dừng toàn bộ máy ảo xuống đĩa và khôi phục chúng khi có lưu lượng truy cập, thay vì các phương pháp mở rộng dựa trên container truyền thống.

Chỉ số hiệu suất Light Sleep của Koyeb:

  • Thời gian khởi động nguội: ~200ms cho khối lượng công việc CPU
  • Ngăn xếp công nghệ: Cloud Hypervisor + Kata Containers + eBPF
  • Giải pháp trước đó: Firecracker VMM (đã chuyển đổi do hạn chế GPU)
  • Phương pháp snapshot: Lưu toàn bộ trạng thái VM vào đĩa bao gồm cả bộ nhớ
  • Phát hiện trạng thái nhàn rỗi: Giám sát gói tin ở cấp kernel thông qua các chương trình eBPF
Thông báo của Koyeb về tính năng Light Sleep của họ, làm nổi bật thành tựu đạt được thời gian khởi động nguội 200ms cho máy ảo
Thông báo của Koyeb về tính năng Light Sleep của họ, làm nổi bật thành tựu đạt được thời gian khởi động nguội 200ms cho máy ảo

Cộng đồng đặt câu hỏi về giới hạn hiệu suất

Các kỹ sư AWS và các chuyên gia khác trong cộng đồng đã đặt ra những câu hỏi quan trọng về điểm chuẩn 200ms. Một số cho rằng thời gian này có thể cao hơn đáng kể so với khả năng kỹ thuật thực tế, đặc biệt khi khôi phục snapshots trên cùng một phần cứng vật lý. Cuộc thảo luận tập trung vào việc chính xác những gì tiêu tốn 200 mili giây đó - liệu đó có phải là tạo tiến trình VM, thiết lập KVM, khởi tạo thiết bị, hay cấu hình mạng.

eBPF: Một công nghệ cho phép các chương trình tùy chỉnh chạy an toàn trong kernel Linux mà không cần sửa đổi kernel KVM: Kernel-based Virtual Machine, một cơ sở hạ tầng ảo hóa cho Linux

Triển khai kỹ thuật thu hút sự quan tâm

Cộng đồng đã thể hiện sự hứng thú đặc biệt với các giải pháp mạng thông minh của Koyeb. Việc họ sử dụng packet marking để phân biệt giữa lưu lượng health check và yêu cầu người dùng thực đã được khen ngợi như một cách tiếp cận sáng tạo. Hệ thống gắn thẻ các gói health check bằng metadata cấp kernel, cho phép chương trình eBPF bỏ qua chúng khi xác định liệu ứng dụng có thực sự nhàn rỗi hay không.

Tuy nhiên, một số thành viên cộng đồng đã chỉ ra những mâu thuẫn tiềm ẩn trong mô tả kỹ thuật, đặc biệt xung quanh tuyên bố không có polling trong khi chạy một daemon giám sát bộ đếm eBPF. Những người khác đã làm rõ rằng các triển khai eBPF hiện đại có thể sử dụng các phương pháp hướng sự kiện thay vì polling truyền thống.

Các Thành Phần Kiến Trúc Kỹ Thuật:

  • Quản Lý VM: Cloud Hypervisor với lớp trừu tượng Kata Containers
  • Điều Phối: Nomad để quản lý khối lượng công việc trên toàn bộ hạ tầng
  • Giám Sát Sức Khỏe: Consul để kiểm tra sức khỏe định kỳ với đánh dấu gói tin
  • Ngăn Xếp Mạng: Các chương trình eBPF tùy chỉnh để phát hiện và lọc lưu lượng
  • Lưu Trữ: Tạm dừng/tiếp tục dựa trên snapshot với tích hợp containerd
  • Agent: daemon scaletozero-agent để giám sát và khởi tạo chế độ ngủ

So sánh với các phương pháp thay thế

Thông báo này đã thúc đẩy các cuộc thảo luận về các công nghệ và phương pháp cạnh tranh. Các thành viên cộng đồng đã tham chiếu đến các dự án nghiên cứu như Rund và đặt câu hỏi về cách giải pháp của Koyeb so sánh với VM snapshots dựa trên unikernel. Cũng có sự quan tâm ngày càng tăng về việc liệu các khả năng tương tự có thể được cung cấp như các dịch vụ đám mây được quản lý, đặc biệt cho các trường hợp sử dụng như CI/CD workers cần khả năng VM đầy đủ nhưng muốn tránh trả tiền cho thời gian nhàn rỗi.

Mối quan ngại về quản lý bộ nhớ được đặt ra

Một câu hỏi kỹ thuật quan trọng đã nổi lên xung quanh việc xử lý RAM trong quá trình sleep. Các chuyên gia cộng đồng đã nhấn mạnh rằng việc lưu trạng thái VM xuống đĩa có lẽ bao gồm nội dung bộ nhớ, điều này làm dấy lên mối quan ngại về việc tiết kiệm chi phí thực sự của trạng thái nhàn rỗi. Nếu bộ nhớ không được giải phóng đúng cách trong quá trình sleep, lợi ích có thể chỉ giới hạn ở việc tiết kiệm chu kỳ CPU thay vì tối ưu hóa tài nguyên toàn diện.

Cuộc thảo luận phản ánh sự quan tâm rộng rãi của ngành về hiệu quả tính toán serverless và thách thức liên tục trong việc cân bằng hiệu suất với việc sử dụng tài nguyên. Trong khi thành tựu của Koyeb đại diện cho một bước tiến đáng kể, đối thoại cộng đồng cho thấy có thể có cơ hội cho thời gian khởi động lạnh thậm chí còn nhanh hơn khi công nghệ tiếp tục phát triển.

Tham khảo: SCALE-TO-ZERO: WAKE VMS IN 200MS WITH LIGHT SLEEP, EBPF, AND SNAPSHOTS