14 điểm bởi xguru 2023-08-31 | 5 bình luận | Chia sẻ qua WhatsApp
  • MicroVM là một lĩnh vực nóng trong R&D công nghệ suốt 5 năm qua
  • Ý tưởng cốt lõi là tái tạo một số khái niệm và công nghệ mà IBM đã phát minh cùng hypervisor từ thập niên 1960
    • Thiết kế HĐH theo cách đặc biệt để có thể chạy như guest trên HĐH khác
    • Chạy bên trong VM nhưng giao tiếp với các tài nguyên (VirtIO) do một hypervisor cụ thể cung cấp, thay vì phần cứng giả lập
  • Mục tiêu thương mại là cung cấp hiệu năng điện toán "serverless"
    • AWS Lambda chạy trên Firecracker
    • Firecracker dựa trên hypervisor KVM được tích hợp trong nhân Linux (AWS trước đây dùng hypervisor Xen)
    • Linux-On-Linux
  • Trong cùng môi trường mà FreeBSD có thể khởi động trong 25ms, Linux mất 75~80ms
  • Khi nhà phát triển kernel FreeBSD Colin Percival bắt đầu cải thiện tốc độ khởi động, con số là 10 giây, nhưng nay đã nhanh hơn 400 lần
  • Hiện tại việc tối ưu hóa được thực hiện trên x86-64, nhưng Arm64 cũng đang được phát triển
  • Firecracker hiện là một trong những microVM được biết đến rộng rãi nhất, nhưng cũng có các sản phẩm khác
    • QEMU đã bổ sung nền tảng ảo hóa microvm, và Hocus, dịch vụ môi trường phát triển trực tuyến, đã chuyển từ Firecracker sang QEMU
  • Không chỉ dành cho đám mây mà còn có thể dùng cho các mục đích khác
    • Việc chạy một chương trình đơn lẻ được xây dựng cho một HĐH trên một HĐH hoàn toàn khác là hữu ích trong nhiều tình huống

5 bình luận

 
galadbran 2023-08-31

Sự khác biệt giữa 80 mili giây và 20 mili giây trong trải nghiệm thực tế của toàn bộ dịch vụ, hay từ góc độ nhà cung cấp dịch vụ, sẽ lớn đến mức nào nhỉ? Tôi cũng mơ hồ có cảm giác rằng 80 mili giây thôi thì có lẽ đã là đủ rồi phải không. Dù sao thì 10 giây đúng là hơi quá thật.

 
kunggom 2023-08-31

Nếu có thể rút ngắn thời gian cold start xuống thấp hơn thời gian cần cho quá trình bắt tay TLS với client, thì sẽ không cần các biện pháp như warm-up để ngăn việc một số người dùng cảm nhận tốc độ ban đầu bị chậm do cold start chậm.
CloudFlare từng khoe rằng họ đã thực sự đạt được điều này bằng cách giảm thời gian tải của dịch vụ Workers xuống chỉ còn 5 mili giây.

 
alstjr7375 2023-09-01

Trình độ kỹ thuật của Cloudflare thật đáng kinh ngạc...

 
xguru 2023-08-31

Gần đây Colin Percival được nhắc đến nhiều vì thay đổi SYSINIT từ bubble sort sang merge sort,
nên mình dịch lại bài viết này vì nó cũng giải thích cùng lúc mối liên hệ giữa việc cải thiện tốc độ khởi động nền tảng của FreeBSD và microVM.

Hocus - giải pháp mã nguồn mở thay thế GitHub Codespaces
Lý do thay Firecracker bằng QEMU

FreeBSD dùng 7% thời gian khởi động để sắp xếp bubble sort các SYSINIT
FreeBSD thay bubble sort của SYSINIT bằng merge sort

 
cosine20 2023-08-31

À, vậy ra đây là một bài viết cùng mạch với cái đó. Thú vị đấy.