14 คะแนน โดย xguru 2023-08-31 | 5 ความคิดเห็น | แชร์ทาง WhatsApp
  • MicroVM เป็นหนึ่งในด้านที่ร้อนแรงของงานวิจัยและพัฒนาเทคโนโลยีตลอด 5 ปีที่ผ่านมา
  • แนวคิดหลักคือการรื้อฟื้นบางแนวคิดและเทคโนโลยีที่ IBM คิดค้นขึ้นพร้อมกับไฮเปอร์ไวเซอร์ในทศวรรษ 1960
    • ออกแบบ OS ขึ้นมาโดยเฉพาะให้ทำงานเป็น guest บน OS อื่น
    • ให้ทำงานอยู่ภายใน VM แต่สื่อสารกับทรัพยากร (VirtIO) ที่ไฮเปอร์ไวเซอร์เฉพาะรายนั้นจัดเตรียมให้ แทนที่จะใช้ฮาร์ดแวร์จำลอง
  • เป้าหมายเชิงพาณิชย์คือการมอบประสิทธิภาพสำหรับการประมวลผลแบบ "serverless"
    • AWS Lambda ขับเคลื่อนด้วย Firecracker
    • Firecracker พัฒนาขึ้นบน KVM hypervisor ที่ฝังอยู่ในเคอร์เนลลินุกซ์ (เดิม AWS ใช้ Xen hypervisor)
    • Linux-On-Linux
  • ในสภาพแวดล้อมเดียวกันที่ FreeBSD บูตได้ภายใน 25ms นั้น Linux ใช้เวลา 75~80ms
  • Colin Percival นักพัฒนา FreeBSD Kernel ระบุว่า ตอนเริ่มต้นปรับปรุงความเร็วการบูตนั้นใช้เวลา 10 วินาที แต่ตอนนี้เร็วขึ้น 400 เท่าแล้ว
  • ตอนนี้การปรับแต่งทำได้ดีบน x86-64 เป็นหลัก แต่กำลังดำเนินงานบน Arm64 ด้วย
  • Firecracker เป็นหนึ่งใน microVM ที่เป็นที่รู้จักมากที่สุดในปัจจุบัน แต่ก็ยังมีผลิตภัณฑ์อื่นด้วย
    • QEMU ได้เพิ่มแพลตฟอร์มเสมือน microvm และ Hocus ซึ่งเป็นบริการสภาพแวดล้อมการพัฒนาออนไลน์ ก็ได้เปลี่ยนจาก Firecracker ไปเป็น QEMU
  • นอกจากคลาวด์แล้ว ยังอาจนำไปใช้ในงานแบบอื่นได้ด้วย
    • การรันโปรแกรมเดี่ยวที่สร้างมาสำหรับ OS หนึ่ง บนอีก OS ที่แตกต่างกันโดยสิ้นเชิง อาจมีประโยชน์ในหลายสถานการณ์

5 ความคิดเห็น

 
galadbran 2023-08-31

ความแตกต่างระหว่าง 80 มิลลิวินาทีกับ 20 มิลลิวินาที ในแง่ของบริการจริงทั้งหมด? หรือประสบการณ์ของผู้ให้บริการ? มันต่างกันมากแค่ไหนครับ? ผมเองก็รู้สึกคลุมเครือเหมือนกันว่าแค่ 80 มิลลิวินาทีก็น่าจะเพียงพอแล้วไม่ใช่เหรอครับ ส่วน 10 วินาทีนั้นก็ดูมากเกินไปหน่อยครับ

 
kunggom 2023-08-31

ถ้าสามารถลดเวลา cold start ให้สั้นกว่าระยะเวลาที่ใช้ในการทำ TLS handshake กับไคลเอนต์ได้ ก็จะไม่จำเป็นต้องมีมาตรการอย่างการวอร์มระบบล่วงหน้าเพื่อป้องกันไม่ให้ผู้ใช้บางส่วนรู้สึกว่าความเร็วช่วงเริ่มต้นช้าลงจาก cold start ที่ช้า
CloudFlare เคยอวดว่าสามารถทำสิ่งนี้ได้จริง โดยลดเวลาโหลดของบริการ Workers ลงเหลือเพียง 5 มิลลิวินาที

 
alstjr7375 2023-09-01

ศักยภาพทางเทคโนโลยีของ Cloudflare สุดยอดจริง ๆ...

 
xguru 2023-08-31

ช่วงนี้ Colin Percival เป็นที่พูดถึงจากการเปลี่ยน SYSINIT จาก bubble sort เป็น merge sort อยู่ก็จริง
แต่บทความนี้อธิบายควบคู่กันไปด้วยถึงความสัมพันธ์ระหว่างการปรับปรุงความเร็วในการบูตของ FreeBSD ที่เป็นพื้นฐานอยู่เบื้องหลัง กับ microVM จึงขอนำมาแปลครับ

Hocus - ทางเลือกโอเพนซอร์สแทน GitHub Codespaces
เหตุผลที่แทนที่ Firecracker ด้วย QEMU

FreeBSD ใช้เวลา 7% ตอนบูตไปกับการ bubble sort SYSINIT
FreeBSD เปลี่ยน bubble sort ของ SYSINIT เป็น merge sort

 
cosine20 2023-08-31

อ๋อ เป็นบทความที่อยู่ในบริบทเดียวกันกับนั้นนี่เอง น่าสนใจดี