20 điểm bởi GN⁺ 2025-12-24 | 1 bình luận | Chia sẻ qua WhatsApp
  • Đã công bố rằng bộ lập lịch Linux SCX-LAVD được thiết kế cho Steam Deck của Valve cũng hoạt động hiệu quả trong môi trường máy chủ quy mô lớn của Meta
  • Bộ lập lịch này được thiết kế với mục tiêu quản lý tài nguyên hiệu quả ở cấp độ máy chơi game, và Meta muốn thông qua đó đạt được cải thiện hiệu năng cho tải công việc máy chủ cùng giảm thiểu độ trễ
  • Kiến trúc lập lịch deadline ảo nhận biết mức độ quan trọng của độ trễ (Latency-criticality Aware Virtual Deadline) dành cho thiết bị chơi game cầm tay cũng cho thấy hiệu năng và độ ổn định trên các máy chủ hyperscale
  • So với bộ lập lịch EEVDF hiện có, nó cho hiệu năng tương đương hoặc tốt hơn và có thể thích ứng với nhiều cấu hình phần cứng khác nhau
  • Meta đang xem xét SCX-LAVD như một ứng viên bộ lập lịch máy chủ mặc định thay vì chỉ cho mục đích chuyên biệt
  • Đây là một trường hợp hiếm hoi công nghệ cho phần cứng chơi game được mở rộng sang các trung tâm dữ liệu lớn

Bối cảnh bài trình bày tại Linux Plumbers Conference 2025

  • Tại Linux Plumbers Conference 2025 diễn ra ở Tokyo, các kỹ sư Meta đã trình bày nội dung liên quan
  • Tiêu đề bài trình bày là “How do we make a Steam Deck scheduler work on large servers”, giải thích quá trình mở rộng bộ lập lịch cho thiết bị cầm tay sang máy chủ
  • Chia sẻ kinh nghiệm xác minh và điều chỉnh bộ lập lịch vốn được thiết kế cho Steam Deck để phù hợp với môi trường máy chủ

Tổng quan về bộ lập lịch SCX-LAVD

  • SCX-LAVD được thiết kế là bộ lập lịch Latency-criticality Aware Virtual Deadline
  • Nó được phát triển với mục tiêu độ trễ thấphiệu năng ổn định trong môi trường Steam Deck của Valve
  • Sử dụng cấu trúc bộ lập lịch mở rộng chạy trên framework Linux sched_ext
  • Meta kỳ vọng thông qua đó đạt được giảm độ trễ, cải thiện tính nhất quán hiệu năngnâng cao hiệu quả máy chủ
  • Do thiết kế của Valve được tối ưu cho yêu cầu xử lý thời gian thực trong game, nên trên máy chủ cũng có cấu trúc thuận lợi cho quản lý tải liên tục

Kết quả áp dụng trong môi trường máy chủ của Meta

  • Đã xác nhận vận hành ổn định trên nhiều cấu hình CPU và bộ nhớ khác nhau của máy chủ Meta
  • Hiệu năng cân bằng tải giữa các ranh giới CCX và LLC cho kết quả tốt
  • Phù hợp như lựa chọn mặc định trong các môi trường không cần bộ lập lịch tối ưu riêng cho từng tải công việc cụ thể

Bộ lập lịch hiện có và các trường hợp ứng dụng khác

  • SCX-LAVD cho hiệu năng tương đương hoặc tốt hơn khi so với bộ lập lịch EEVDF
  • Hiện cũng đã được sử dụng trong các môi trường chơi game Linux như CachyOS Handheld Edition và Bazzite
  • Đây là bộ lập lịch do Igalia dẫn dắt phát triển thông qua hợp đồng với Valve

Hướng ứng dụng tiếp theo của Meta

  • Meta gọi SCX-LAVD là “Meta’s New Default Scheduler”
  • Bộ lập lịch này đang được đánh giá là có thể áp dụng phổ dụng trên toàn bộ đội máy chủ quy mô lớn
  • Nội dung nghiên cứu bổ sung và phân tích hiệu năng được công bố qua video trình bày tại LPCtài liệu slide

1 bình luận

 
GN⁺ 2025-12-24
Ý kiến trên Hacker News
  • Về cơ bản, Valve đang một mình thúc đẩy sự phát triển của hệ sinh thái Linux
    Proton/Wine đã tiến bộ rất nhiều để chạy game Windows trên Linux, và nhờ Steam Deck mà Wayland cũng có hỗ trợ HDR·VRR
    Bộ lập lịch được tạo ra để cải thiện frame pacing giờ còn đang được dùng trong các datacenter của Meta
    Rốt cuộc, hiệu quả máy chủ của Meta được cải thiện là nhờ Valve đã trả tiền cho Igalia để giảm hiện tượng khựng khung hình trong Elden Ring. Đây đúng là vòng tuần hoàn tích cực của mã nguồn mở
    • Trong quá trình cố giảm hiện tượng khựng khung hình trong game, họ đã đạt được kết quả là tối ưu hóa trình biên dịch shader cho ngăn xếp đồ họa mã nguồn mở
      Thông báo liên quan: Steam Community Announcement
    • Phát triển game vẫn là một lĩnh vực bị đánh giá thấp
      Rất nhiều tối ưu hóa phần mềm và phần cứng bắt nguồn từ phát triển game
      Khi giá RAM gần đây tăng trở lại, hy vọng ngành sẽ quay về hướng ưu tiên tối ưu hóa để giảm tải không cần thiết trên diện rộng
    • Đã từng có nhiều bản phân phối Linux tập trung cho desktop, nhưng phần lớn đều ở trạng thái “về mặt kỹ thuật thì làm được, nhưng phải chấp nhận nhiều bất tiện”
      Trước khi Valve trực tiếp vào cuộc, không có thực thể nào đứng ra giải quyết những vấn đề này
    • Theo thời gian, có cảm giác Valve sẽ còn động tới cả những việc mà Microsoft đã trì hoãn suốt nhiều năm
      Tôi nghĩ tự mình thay đổi vẫn tốt hơn nhiều so với cứ ngồi chờ
    • Nhờ game mà ngành GPU đã sẵn sàng đón làn sóng AI bùng nổ
      Trước đây, phát triển game luôn là tiền tuyến của tối ưu hóa phần mềm
  • Điều thú vị là Valve triển khai phát triển Linux theo kiểu cấu trúc xoay quanh contractor như Igalia
    Tôi nghe nói Proton cũng được làm theo cách tương tự. Có vẻ Valve dùng khá nhiều hợp đồng bên ngoài hơn là nhân sự nội bộ
    • Igalia là một công ty độc đáo, chuyên quản lý có hệ thống các chương trình tài trợ phát triển mã nguồn mở cho nhiều doanh nghiệp
      Họ hợp tác với nhiều công ty như Google và xử lý hiệu quả các vấn đề phức tạp về thanh toán, phúc lợi
    • Valve tập trung nội bộ vào game·phần cứng·phân phối, còn các mảng khác thì giao cho các nhà thầu chuyên môn
      Tôi nghĩ cấu trúc này là lý do khiến họ vừa hiệu quả về chi phí vừa cho ra kết quả chất lượng cao
      Tất nhiên Valve cũng có tranh cãi, nhưng nên thừa nhận cả mặt tốt lẫn mặt xấu
    • Valve là một tổ chức phẳng nhỏ với quy mô khoảng 350~400 người
      Vì thế mở rộng bằng contractor sẽ dễ hơn nhiều so với tuyển nhân viên chính thức
    • Proton là dự án do các lập trình viên nội bộ của Valve, CodeWeavers và cộng đồng cùng xây dựng
      Những mảng kỹ thuật chuyên biệt như chuyển DirectX→Vulkan, OpenGL→Vulkan thì được giao cho các tổ chức như Igalia
    • Valve có xu hướng giữ số lượng nhân sự ở mức tối thiểu nếu có thể
      Với những dự án cố định, độ khó cao như thế này, công ty nào thuê ngoài cũng là lựa chọn hợp lý
  • sched_ext là bộ lập lịch được phát triển tại Meta
    Nhiều công ty đang hợp tác phát triển chung trong kho GitHub chung
  • Tôi tò mò không biết game streaming trên Linux hiện tốt đến mức nào
    Hỗ trợ Windows 10 sắp kết thúc nên giờ tôi đang định chuyển hẳn sang Linux
  • Tôi đã dùng Bazzite Desktop làm hệ chính suốt 4 tháng, và giờ Windows về cơ bản giống như phần mềm đã bị bỏ mặc
    Có cập nhật thì nó vẫn nặng nề và khó quản lý
    • Bazzite chẳng phải là bản phân phối thiên về game sao?
      Dùng nó cho mọi việc có vẻ hơi lạ. Cảm giác như dùng Excel trên Steam Deck vậy
  • Điều kỳ diệu của mã nguồn mở là Valve không đòi thứ kiểu giấy phép enterprise
    • Đúng, nhưng Red Hat không có nghĩa vụ công khai mã nguồn nếu họ không phân phối binary RHEL
      Meta cũng có thể giữ kín Linux đã vá nội bộ của mình miễn là chỉ dùng trong máy chủ nội bộ
    • Thật đáng ngạc nhiên khi một bộ lập lịch cho máy chơi game cầm tay lại hoạt động tốt cả trên máy chủ của Facebook
    • Ngược lại, SteamOS và nhiều bản phân phối Linux cũng áp dụng bộ lập lịch IO Kyber của Meta để xử lý microstutter
      Đây là mối quan hệ tác động qua lại lẫn nhau
    • Nghĩ kỹ thì 30% phí hoa hồng khi mua game trên Steam có khi cũng là một dạng phí giấy phép
  • Việc Meta áp dụng bộ lập lịch của Valve cho máy chủ khá thú vị
    Tôi muốn biết những thử nghiệm như vậy ban đầu đã bắt đầu như thế nào
    • Có lẽ là do một kỹ sư nào đó thử nghiệm, phát hiện hiệu năng tăng lên, rồi lan từ dưới lên trên
      Ở các tập đoàn lớn, đổi mới cũng thường diễn ra theo cách như vậy
  • Tôi nghĩ xem video gốc sẽ tốt hơn đọc bài của Phoronix
    Liên kết YouTube
    • Một khi bạn không còn xem video YouTube là nguồn sơ cấp đáng tin, cuộc sống sẽ dễ chịu hơn nhiều
    • Khá bất ngờ khi có người gọi Phoronix là blog spam
  • Tôi tò mò Meta đang chạy loại workload siêu độ trễ thấp nào mà cần đến bộ lập lịch như vậy
    • Theo video, worker Erlang của WhatsApp đòi hỏi độ trễ dưới mili giây
    • Có lẽ là vì hệ thống đấu giá quảng cáo
    • Với một công ty khổng lồ như Meta, độ trễ đồng nghĩa với tổn thất kinh doanh
    • Meta lúc nào cũng nhắm tới mục tiêu “nhanh nhất có thể”, kể cả khi vượt quá nhu cầu thực tế
    • Chỉ cần giảm 1% trong 50.000 máy chủ cũng là bớt được 500 máy, nếu mỗi máy 8.000 USD thì tiết kiệm 4 triệu USD mỗi năm
      Ở quy mô Meta, mức tiết kiệm thực tế còn lớn hơn nhiều
  • Thật thú vị khi workload máy chủ tiếp nhận ý tưởng từ các lĩnh vực khác
    Gần đây tôi thấy các OS chuyên cho Kubernetes áp dụng cập nhật kiểu Android
    • Ý bạn là hệ thống immutable à?