- มีการเปิดเผยว่า ตัวจัดตารางเวลา Linux SCX-LAVD ที่ออกแบบมาสำหรับ Steam Deck ของ Valve ก็ทำงานได้อย่างมีประสิทธิภาพในสภาพแวดล้อมเซิร์ฟเวอร์ขนาดใหญ่ของ Meta ด้วย
- ตัวจัดตารางเวลานี้ถูกออกแบบมาโดยมีเป้าหมายเพื่อ การจัดการทรัพยากรอย่างมีประสิทธิภาพในระดับเครื่องเกมคอนโซล และ Meta ก็มุ่งใช้สิ่งนี้เพื่อ ปรับปรุงประสิทธิภาพของเวิร์กโหลดบนเซิร์ฟเวอร์ และ ลดเวลาแฝงให้ต่ำที่สุด
- โครงสร้าง Latency-criticality Aware Virtual Deadline ที่รับรู้ความไวต่อเวลาแฝงสำหรับอุปกรณ์เล่นเกมพกพา แสดงให้เห็นทั้งประสิทธิภาพและเสถียรภาพแม้ในเซิร์ฟเวอร์ระดับไฮเปอร์สเกล
- เมื่อเทียบกับ ตัวจัดตารางเวลา EEVDF ก็ให้ประสิทธิภาพใกล้เคียงหรือดีกว่า และสามารถปรับตัวเข้ากับฮาร์ดแวร์ได้หลากหลายรูปแบบ
- Meta กำลังพิจารณา SCX-LAVD เป็น ตัวเลือกผู้สมัครสำหรับตัวจัดตารางเวลาเซิร์ฟเวอร์พื้นฐาน ไม่ใช่เฉพาะงานเฉพาะทาง
- เป็นกรณีที่พบได้ไม่บ่อยของ เทคโนโลยีสำหรับฮาร์ดแวร์เกมที่ขยายไปสู่ดาต้าเซ็นเตอร์ขนาดใหญ่
เบื้องหลังการนำเสนอในงาน Linux Plumbers Conference 2025
- วิศวกรของ Meta ได้นำเสนอเนื้อหาที่เกี่ยวข้องในงาน Linux Plumbers Conference 2025 ที่จัดขึ้นในโตเกียว
- ชื่อการนำเสนอคือ “How do we make a Steam Deck scheduler work on large servers” ซึ่งอธิบายกระบวนการขยายตัวจัดตารางเวลาสำหรับอุปกรณ์พกพาไปสู่เซิร์ฟเวอร์
- มีการแบ่งปันประสบการณ์ในการตรวจสอบและปรับแต่งตัวจัดตารางเวลาที่ออกแบบมาสำหรับ Steam Deck ให้เหมาะกับสภาพแวดล้อมเซิร์ฟเวอร์
ภาพรวมของตัวจัดตารางเวลา SCX-LAVD
- SCX-LAVD ถูกออกแบบมาในฐานะตัวจัดตารางเวลา Latency-criticality Aware Virtual Deadline
- พัฒนาขึ้นโดยมีเป้าหมายเพื่อ เวลาแฝงต่ำ และ ประสิทธิภาพที่เสถียร ในสภาพแวดล้อมของ Steam Deck ของ Valve
- ใช้โครงสร้างตัวจัดตารางเวลาแบบขยายได้ซึ่งทำงานอยู่บนเฟรมเวิร์ก Linux sched_ext
- Meta คาดหวังว่าจะใช้สิ่งนี้เพื่อ ลดเวลาแฝง, เพิ่มความสม่ำเสมอของประสิทธิภาพ และ ปรับปรุงประสิทธิภาพของเซิร์ฟเวอร์
- เนื่องจากการออกแบบของ Valve ปรับให้เหมาะกับ ความต้องการประมวลผลแบบเรียลไทม์สำหรับเกม จึงเป็นโครงสร้างที่ได้เปรียบต่อ การจัดการโหลดอย่างต่อเนื่อง บนเซิร์ฟเวอร์ด้วย
ผลการใช้งานในสภาพแวดล้อมเซิร์ฟเวอร์ของ Meta
- ยืนยันการทำงานที่เสถียรแม้ในเซิร์ฟเวอร์ของ Meta ที่มีการจัดวาง CPU และหน่วยความจำหลากหลายรูปแบบ
- แสดงผลลัพธ์ที่ดีในด้าน ประสิทธิภาพการทำโหลดบาลานซ์ ข้ามขอบเขต CCX และ LLC
- เหมาะเป็นตัวเลือกพื้นฐานในสภาพแวดล้อมที่ไม่จำเป็นต้องใช้ตัวจัดตารางเวลาที่ปรับจูนเฉพาะสำหรับเวิร์กโหลดบางประเภท
ตัวจัดตารางเวลาเดิมและกรณีการใช้งานอื่น
- SCX-LAVD ให้ประสิทธิภาพใกล้เคียงหรือดีกว่าเมื่อเทียบกับตัวจัดตารางเวลา EEVDF
- ปัจจุบันก็ถูกใช้งานแล้วในสภาพแวดล้อมเกมบน Linux เช่น CachyOS Handheld Edition และ Bazzite
- เป็นตัวจัดตารางเวลาที่ Igalia เป็นผู้นำการพัฒนาภายใต้สัญญากับ Valve
ทิศทางการใช้งานต่อไปของ Meta
- Meta เรียก SCX-LAVD ว่า “Meta’s New Default Scheduler”
- กำลังประเมินในฐานะตัวจัดตารางเวลาที่สามารถใช้งานแบบทั่วไปได้ทั่วทั้งฟลีตเซิร์ฟเวอร์ขนาดใหญ่
- เนื้อหาการวิจัยเพิ่มเติมและการวิเคราะห์ประสิทธิภาพเผยแพร่ไว้ใน วิดีโองาน LPC และ สไลด์ประกอบ
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
Proton/Wine พัฒนาไปมากเพื่อให้รันเกม Windows บน Linux ได้ และเพราะ Steam Deck ทำให้ Wayland รองรับ HDR·VRR ด้วย
ตัว scheduler ที่สร้างขึ้นมาเพื่อปรับปรุง frame pacing ตอนนี้กลับถูกใช้ในดาต้าเซ็นเตอร์ของ Meta ด้วย
สุดท้ายแล้วประสิทธิภาพของเซิร์ฟเวอร์ Meta ก็ดีขึ้นเพราะ Valve จ่ายเงินให้ Igalia เพื่อช่วยลด อาการเฟรมสะดุด ของ Elden Ring นี่แหละ วงจรแบบนี้คือคุณค่าที่แท้จริงของโอเพนซอร์ส
ประกาศที่เกี่ยวข้อง: Steam Community Announcement
การปรับแต่งซอฟต์แวร์และฮาร์ดแวร์จำนวนมากมีต้นทางมาจากการพัฒนาเกม
ในช่วงที่ราคา RAM กำลังสูงขึ้นอีกครั้ง ก็หวังว่าเราจะกลับไปให้ความสำคัญกับการ optimize เพื่อลดภาระที่ไม่จำเป็นทั้งอุตสาหกรรม
ก่อนที่ Valve จะลงมาจัดการเอง ก็ไม่มีใครเป็นตัวหลักในการแก้ปัญหาเหล่านี้
คิดว่าลงมือเปลี่ยนเองยังดีกว่านั่งรอมาก
ในอดีต การพัฒนาเกมคือ แนวหน้าของการ optimize ซอฟต์แวร์ มาโดยตลอด
ได้ยินมาว่า Proton ก็ถูกสร้างขึ้นด้วยแนวทางคล้ายกัน ดูเหมือน Valve จะใช้สัญญาจ้างภายนอกมากกว่าพนักงานภายใน
ทำงานร่วมกับบริษัทหลากหลายแห่งอย่าง Google และจัดการเรื่องการจ่ายเงินกับสวัสดิการที่ซับซ้อนได้อย่างมีประสิทธิภาพ
คิดว่าโครงสร้างแบบนี้คือเหตุผลที่ทั้งคุ้มค่าและให้ผลงานคุณภาพสูง
แน่นอนว่า Valve ก็มีประเด็นถกเถียงของตัวเอง แต่ก็ควรมองทั้งข้อดีและข้อเสียไปพร้อมกัน
เพราะแบบนี้ การขยายด้วยผู้รับเหมาจึงง่ายกว่าการเพิ่มพนักงานประจำมาก
ส่วน ขอบเขตเทคนิคเฉพาะทาง อย่างการแปลง DirectX→Vulkan หรือ OpenGL→Vulkan จะจ้างองค์กรอย่าง Igalia มาดูแล
โปรเจกต์ที่ตายตัวและยากแบบนี้ ไม่ว่าบริษัทไหนก็มีเหตุผลที่จะจ้างภายนอก
หลายบริษัทกำลังร่วมมือกันพัฒนาอยู่ใน GitHub repository กลาง
ตอนนี้กำลังจะย้ายไป Linux แบบเต็มตัว เพราะ Windows 10 กำลังหมดระยะซัพพอร์ต
ต่อให้อัปเดตก็ยังหนักและดูแลจัดการยากอยู่ดี
ใช้มันทำทุกอย่างก็ดูแปลก ๆ เหมือนใช้ Excel บน Steam Deck
Meta เองก็สามารถเก็บ Linux ที่แพตช์เอง เป็นความลับได้เหมือนกัน ตราบใดที่ยังใช้แค่ภายในเซิร์ฟเวอร์ของตัวเอง
เป็นโครงสร้างที่มีอิทธิพลต่อกันและกัน
อยากรู้ว่าการทดลองแบบนี้เริ่มต้นขึ้นได้อย่างไร
นวัตกรรมในบริษัทใหญ่ก็มักเกิดขึ้นแบบนี้
ลิงก์ YouTube
และในสเกลของ Meta ผลประหยัดจริงยิ่งมากกว่านั้นอีก
ช่วงนี้เห็น OS สำหรับ Kubernetes โดยเฉพาะ ใช้วิธีอัปเดตแบบเดียวกับ Android