20 คะแนน โดย GN⁺ 2025-12-24 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • มีการเปิดเผยว่า ตัวจัดตารางเวลา 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 ความคิดเห็น

 
GN⁺ 2025-12-24
ความคิดเห็นจาก Hacker News
  • เรียกได้ว่า Valve กำลังเป็นแรงขับเคลื่อน การพัฒนาระบบนิเวศ Linux แทบจะเพียงลำพัง
    Proton/Wine พัฒนาไปมากเพื่อให้รันเกม Windows บน Linux ได้ และเพราะ Steam Deck ทำให้ Wayland รองรับ HDR·VRR ด้วย
    ตัว scheduler ที่สร้างขึ้นมาเพื่อปรับปรุง frame pacing ตอนนี้กลับถูกใช้ในดาต้าเซ็นเตอร์ของ Meta ด้วย
    สุดท้ายแล้วประสิทธิภาพของเซิร์ฟเวอร์ Meta ก็ดีขึ้นเพราะ Valve จ่ายเงินให้ Igalia เพื่อช่วยลด อาการเฟรมสะดุด ของ Elden Ring นี่แหละ วงจรแบบนี้คือคุณค่าที่แท้จริงของโอเพนซอร์ส
    • จากความพยายามลด อาการเฟรมสะดุด ในเกม ทำให้ได้ผลลัพธ์เป็น shader compiler ที่ถูกปรับแต่งสำหรับโอเพนซอร์สกราฟิกสแตก
      ประกาศที่เกี่ยวข้อง: Steam Community Announcement
    • การพัฒนาเกมยังคงเป็น สาขาที่ถูกประเมินค่าต่ำเกินไป
      การปรับแต่งซอฟต์แวร์และฮาร์ดแวร์จำนวนมากมีต้นทางมาจากการพัฒนาเกม
      ในช่วงที่ราคา RAM กำลังสูงขึ้นอีกครั้ง ก็หวังว่าเราจะกลับไปให้ความสำคัญกับการ optimize เพื่อลดภาระที่ไม่จำเป็นทั้งอุตสาหกรรม
    • มี Linux distribution สำหรับเดสก์ท็อปอยู่หลายตัว แต่ส่วนใหญ่ก็ยังอยู่ในสภาพแบบ “ทำได้ในทางเทคนิค แต่ต้องยอมทนกับความไม่สะดวก”
      ก่อนที่ Valve จะลงมาจัดการเอง ก็ไม่มีใครเป็นตัวหลักในการแก้ปัญหาเหล่านี้
    • พอเวลาผ่านไป Valve น่าจะเข้าไปทำ สิ่งที่ Microsoft ผัดผ่อนมาหลายปี ด้วยซ้ำ
      คิดว่าลงมือเปลี่ยนเองยังดีกว่านั่งรอมาก
    • วงการ GPU พร้อมรับกระแส AI ก็เพราะเกมนี่เอง
      ในอดีต การพัฒนาเกมคือ แนวหน้าของการ optimize ซอฟต์แวร์ มาโดยตลอด
  • น่าสนใจที่ Valve ทำงานพัฒนา Linux ด้วย โครงสร้างที่เน้นผู้รับเหมาภายนอก อย่าง Igalia
    ได้ยินมาว่า Proton ก็ถูกสร้างขึ้นด้วยแนวทางคล้ายกัน ดูเหมือน Valve จะใช้สัญญาจ้างภายนอกมากกว่าพนักงานภายใน
    • Igalia เป็นบริษัทที่มีลักษณะเฉพาะ คือจัดการ การสนับสนุนนักพัฒนาโอเพนซอร์ส จากหลายบริษัทอย่างเป็นระบบ
      ทำงานร่วมกับบริษัทหลากหลายแห่งอย่าง Google และจัดการเรื่องการจ่ายเงินกับสวัสดิการที่ซับซ้อนได้อย่างมีประสิทธิภาพ
    • ภายใน Valve จะโฟกัสเฉพาะเกม ฮาร์ดแวร์ และการปล่อยซอฟต์แวร์ ส่วนด้านอื่น ๆ จะ มอบหมายให้ผู้รับเหมาที่เชี่ยวชาญ
      คิดว่าโครงสร้างแบบนี้คือเหตุผลที่ทั้งคุ้มค่าและให้ผลงานคุณภาพสูง
      แน่นอนว่า Valve ก็มีประเด็นถกเถียงของตัวเอง แต่ก็ควรมองทั้งข้อดีและข้อเสียไปพร้อมกัน
    • Valve เป็นองค์กร ขนาดเล็กแบบโครงสร้างแบนราบ มีคนราว 350~400 คน
      เพราะแบบนี้ การขยายด้วยผู้รับเหมาจึงง่ายกว่าการเพิ่มพนักงานประจำมาก
    • Proton เป็นโปรเจกต์ที่นักพัฒนาภายใน Valve, CodeWeavers และคอมมูนิตี้ร่วมกันสร้าง
      ส่วน ขอบเขตเทคนิคเฉพาะทาง อย่างการแปลง DirectX→Vulkan หรือ OpenGL→Vulkan จะจ้างองค์กรอย่าง Igalia มาดูแล
    • Valve มีแนวโน้มจะรักษาจำนวนพนักงานให้ต่ำที่สุดเท่าที่ทำได้
      โปรเจกต์ที่ตายตัวและยากแบบนี้ ไม่ว่าบริษัทไหนก็มีเหตุผลที่จะจ้างภายนอก
  • sched_ext เป็น scheduler ที่พัฒนาโดย Meta
    หลายบริษัทกำลังร่วมมือกันพัฒนาอยู่ใน GitHub repository กลาง
  • อยากรู้ว่า game streaming บน Linux ทำได้ดีแค่ไหน
    ตอนนี้กำลังจะย้ายไป Linux แบบเต็มตัว เพราะ Windows 10 กำลังหมดระยะซัพพอร์ต
  • ใช้ Bazzite Desktop เป็นเครื่องหลักมา 4 เดือนแล้ว ตอนนี้ Windows ดูเหมือนเป็นซอฟต์แวร์ที่ถูกทิ้งไว้ข้างหลังไปแล้วจริง ๆ
    ต่อให้อัปเดตก็ยังหนักและดูแลจัดการยากอยู่ดี
    • Bazzite ไม่ใช่ distribution ที่เน้นเกมเหรอ?
      ใช้มันทำทุกอย่างก็ดูแปลก ๆ เหมือนใช้ Excel บน Steam Deck
  • มนตร์ของโอเพนซอร์สคือ Valve ไม่ได้เรียกร้องอะไรแบบ enterprise license
    • ก็จริง แต่ Red Hat ไม่มีหน้าที่ต้องเปิดซอร์สโค้ด ถ้าไม่ได้แจกจ่ายไบนารีของ RHEL
      Meta เองก็สามารถเก็บ Linux ที่แพตช์เอง เป็นความลับได้เหมือนกัน ตราบใดที่ยังใช้แค่ภายในเซิร์ฟเวอร์ของตัวเอง
    • น่าทึ่งที่ scheduler สำหรับเครื่องเกมพกพากลับใช้ได้ดีบนเซิร์ฟเวอร์ของ Facebook ด้วย
    • ในทางกลับกัน SteamOS กับ Linux distribution หลายตัวก็นำ Kyber IO scheduler ของ Meta มาใช้เพื่อแก้ปัญหา microstutter
      เป็นโครงสร้างที่มีอิทธิพลต่อกันและกัน
    • คิดอีกมุมหนึ่ง ค่าธรรมเนียม 30% ที่เราจ่ายเวลาซื้อเกมบน Steam อาจเป็นเหมือนค่าลิขสิทธิ์รูปแบบหนึ่งก็ได้
  • น่าสนใจที่ Meta เอา scheduler ของ Valve ไปใช้กับเซิร์ฟเวอร์
    อยากรู้ว่าการทดลองแบบนี้เริ่มต้นขึ้นได้อย่างไร
    • น่าจะเป็นกรณีที่วิศวกรคนหนึ่งลองทดสอบแล้วพบว่าประสิทธิภาพดีขึ้น ก่อนจะ ค่อย ๆ แพร่จากล่างขึ้นบน
      นวัตกรรมในบริษัทใหญ่ก็มักเกิดขึ้นแบบนี้
  • คิดว่าดู วิดีโอต้นฉบับ ดีกว่าไปอ่านบทความของ Phoronix
    ลิงก์ YouTube
    • พอเลิก เชื่อวิดีโอ YouTube เป็นแหล่งข้อมูลปฐมภูมิ ชีวิตจะสบายขึ้นเยอะ
    • แปลกดีที่มีคนเรียก Phoronix ว่าเป็นบล็อกสแปม
  • สงสัยว่า Meta รัน เวิร์กโหลดที่ต้องการ latency ต่ำมาก อะไร ถึงต้องใช้ scheduler แบบนี้
    • ตามในวิดีโอ WhatsApp มี Erlang worker ที่ต้องการ latency ระดับต่ำกว่า 1 มิลลิวินาที
    • น่าจะเป็นเพราะ ระบบประมูลโฆษณา
    • สำหรับบริษัทระดับยักษ์อย่าง Meta ความหน่วงก็คือ ความสูญเสียทางธุรกิจ
    • Meta ตั้งเป้าไว้เสมอว่า “ให้เร็วที่สุดเท่าที่เป็นไปได้” แม้บางครั้งจะเร็วเกินความจำเป็นก็ตาม
    • ถ้าลดจำนวนได้แค่ 1% จากเซิร์ฟเวอร์ 50,000 เครื่อง ก็เท่ากับลดได้ 50 เครื่อง ถ้าเครื่องละ 8,000 ดอลลาร์ ก็ประหยัดได้ 400,000 ดอลลาร์ต่อปี
      และในสเกลของ Meta ผลประหยัดจริงยิ่งมากกว่านั้นอีก
  • น่าสนใจที่เวิร์กโหลดฝั่งเซิร์ฟเวอร์รับไอเดียจากวงการอื่นมาใช้
    ช่วงนี้เห็น OS สำหรับ Kubernetes โดยเฉพาะ ใช้วิธีอัปเดตแบบเดียวกับ Android
    • หมายถึง immutable system ใช่ไหม?