Cập nhật: tháng 8/2026.
Hệ điều hành sinh ra để làm một việc: đứng giữa phần cứng đắt tiền và đám chương trình tham lam, rồi chia phần sao cho không ai chiếm hết. Suốt bốn mươi năm, nhân Linux làm việc đó rất giỏi với CPU, bộ nhớ, đĩa và mạng. Nhưng năm 2026, món đắt nhất trong một máy chủ không còn là CPU — nó là tám tấm GPU nằm dưới nắp, chiếm phần lớn hoá đơn. Và đúng với món đắt nhất đó, nhân gần như không quản gì cả.
Nhân có bốn trụ trừu tượng — GPU không nằm trong đó
Hãy liệt kê những gì nhân làm cho một tài nguyên nó thực sự “sở hữu”. Với CPU: có khái niệm tiến trình, có bộ lập lịch chia thời gian công bằng, có cgroup đếm từng chu kỳ, và quan trọng nhất là có quyền cướp — ngắt đồng hồ nổ, tiến trình ưu tiên thấp bị đẩy khỏi lõi ngay lập tức, không cần xin phép. Với bộ nhớ: có trang nhớ, có bộ nhớ ảo cho phép xin nhiều hơn máy có, có swap để hạ cánh mềm khi cạn. Với đĩa và mạng: có inode, có socket, có hàng đợi và chính sách.
Với GPU, gần như không có gì trong danh sách đó. Từ góc nhìn của nhân, GPU chỉ là một tập tin thiết bị: tiến trình mở /dev/nvidia*, gọi vài lệnh ioctl riêng của hãng, rồi mọi chuyện diễn ra bên trong driver và firmware. Nhân không biết có bao nhiêu “kernel” tính toán đang xếp hàng, cái nào sắp xong, cái nào đang ngốn hết băng thông. Không có gpu.weight để nói “job này hai phần, job kia một phần”. Không có swap cho VRAM: hết bộ nhớ GPU là job chết, chấm hết. Và không có cướp quyền: một job huấn luyện ba ngày sẽ giữ chặt tám GPU trong ba ngày, dù việc gấp hơn đang xếp hàng phía sau.

Hệ quả kiến trúc rất lớn: vì nhân không có chỗ để đặt chính sách, mọi quyết định bị đẩy lên trên — sang Kubernetes, sang bộ lập lịch của cụm. Tầng đó nhìn thấy pod và nhãn, nhưng không nhìn được vào bên trong con GPU. Nó chỉ biết đếm: “máy này có 8 thẻ, đã phát 8 thẻ, hết”.
Góc kinh tế: mỗi điểm phần trăm lấp đầy đáng bao nhiêu
Khi tài nguyên chỉ được phát nguyên cục, phần dư không ai nhặt. Một báo cáo tối ưu Kubernetes đầu 2026, khảo sát hơn hai chục nghìn cụm, đưa ra con số gây choáng: mức dùng GPU trung bình quanh 5%. Các khảo sát FinOps khác dè dặt hơn, thường nói 20–40% cho cụm được chăm sóc tốt. Lấy con số nào cũng ra cùng kết luận: phần lớn thời gian, những tấm silicon đắt nhất hành tinh đang chờ — chờ dữ liệu, chờ đồng bộ, hoặc chỉ vì bị một pod giữ chỗ rồi bỏ đó.
Giá thuê một GPU lớp trung tâm dữ liệu theo kiểu on-demand ở các đám mây lớn nằm quanh hơn mười đô một giờ; hợp đồng dài hạn rẻ hơn nhiều lần nhưng đổi lại phải trả tiền cả lúc không dùng. Đằng nào cũng vậy: một GPU nhàn rỗi đốt tiền tính bằng đô mỗi giờ, còn một CPU nhàn rỗi chỉ đốt vài xu. Chênh lệch hai bậc độ lớn ấy đảo ngược toàn bộ thứ tự ưu tiên kỹ thuật. Nếu lấp đầy chỉ 20%, mỗi giờ tính toán thực sự dùng được có giá gấp năm lần giá niêm yết; nâng từ 20% lên 40% không phải là “nhanh gấp đôi” mà là giảm một nửa chi phí cho cùng lượng công việc — không cần mua thêm tấm GPU nào, không cần chờ nhà máy, không cần xin thêm điện.
Trong lúc HBM và công suất đóng gói là nút thắt cứng của cả ngành, đường rẻ nhất để có thêm năng lực tính toán không phải là mua thêm phần cứng mà là lấy lại phần đang bỏ phí — nên những thứ khô khan như cgroup, bộ lập lịch, checkpoint bỗng thành hạng mục nặng ký nhất về tài chính trong một cụm AI.
Nhân bắt đầu bù lại: cgroup cho VRAM, lập lịch viết bằng BPF
Cột đỡ đầu tiên đã dựng: từ Linux 6.14, nhân có cgroup dmem — bộ điều khiển bộ nhớ thiết bị — cho phép giới hạn bộ nhớ video theo cây cgroup, ban đầu nối vào driver đồ hoạ Intel Xe. Nghe khiêm tốn, nhưng đây là lần đầu bộ nhớ của một thiết bị tăng tốc được kế toán bằng đúng cơ chế nhân dùng cho RAM. Ý tưởng “cgroup cho DRM” từng bị bác đi nhiều lần suốt gần một thập kỷ; nó đi được lúc này vì đã có người phải trả giá thật cho việc thiếu nó.
Phía lập lịch, cú hích đến từ hướng ít ai ngờ. sched_ext — khung cho phép viết bộ lập lịch CPU bằng BPF rồi nạp nóng vào nhân — đã đi từ gây tranh cãi tới chuyện thường ngày: nhiều bản phân phối dòng đầu bật sẵn, SteamOS còn dùng một bộ lập lịch BPF làm mặc định khi chơi game. Đáng chú ý với máy chủ AI là lộ trình: nhóm phát triển đặt “biết đến GPU” vào danh sách việc cần làm. Lý do rất thực tế — luồng CPU nào nạp dữ liệu cho GPU nào là thông tin quyết định; xếp nhầm luồng sang lõi thuộc vùng NUMA khác là GPU đói ăn.
Tầng điều phối thì đã cán mốc: Dynamic Resource Allocation (DRA) của Kubernetes ra bản chính thức ở v1.35, thay hẳn cơ chế device plugin cũ vốn chỉ biết đếm số nguyên. DRA cho phép tải công việc mô tả thứ nó cần — họ thiết bị, dung lượng bộ nhớ, kiểu liên kết NVLink, lát cắt MIG — rồi để bộ lập lịch ghép cặp. Tại KubeCon châu Âu 2026, NVIDIA trao driver DRA của mình cho CNCF, nghĩa là mô hình tài nguyên này không còn là chuyện riêng của một hãng. Cái trừu tượng nhân chưa có, hệ sinh thái đang dựng ở tầng trên và chuẩn hoá nó.
Cướp quyền kiểu mới: chụp ảnh cả GPU rồi chạy tiếp
Trong bốn thứ còn thiếu, cướp quyền khó nhất và cũng có tiến triển thú vị nhất. Muốn dừng một job để nhường chỗ, phải lưu được toàn bộ trạng thái: bộ nhớ CPU, tệp đang mở, và cả nội dung VRAM lẫn ngữ cảnh CUDA — luồng, sự kiện, ánh xạ bộ nhớ. Mảnh ghép đó nay đã có: NVIDIA cung cấp cuda-checkpoint, công cụ khoá các lệnh gọi CUDA, kéo bộ nhớ thiết bị về phía chủ rồi nhả GPU ra; ghép với CRIU — công cụ chụp ảnh tiến trình trong không gian người dùng của Linux — ta có ảnh chụp thống nhất cả CPU lẫn GPU, khôi phục lại đúng địa chỉ cũ, kể cả trên máy khác.
Việc này quan trọng hơn vẻ ngoài của nó, vì nó biến GPU từ tài nguyên “cho mượn tới chết” thành tài nguyên lấy lại được. Có checkpoint mới dám chạy job ưu tiên thấp lấp chỗ trống, vì lúc cần đẩy ra được mà không mất tiến độ; mới dám di trú job để gom mảnh vụn; mới dám bán năng lực nhàn rỗi kiểu “spot”. Toàn bộ phép tính kinh tế ở mục trên phụ thuộc vào khả năng này.
Tầng bộ nhớ vỡ ra làm bốn
Song song, giả định nền móng thứ hai của nhân cũng lung lay: rằng bộ nhớ là một khối phẳng, truy cập đâu cũng như đâu. Trong máy chủ AI hôm nay, bộ nhớ là cái thang bốn bậc chênh nhau hàng nghìn lần về độ trễ: HBM dán trong GPU, DRAM cục bộ của CPU, bộ nhớ mở rộng qua CXL, rồi NVMe.

Chỗ mới là nhân đã bắt đầu tự quản cái thang đó thay vì phó mặc ứng dụng. Từ 6.9, chính sách weighted interleave cho phép trải bộ nhớ giữa các nút theo trọng số tỉ lệ với băng thông, thay vì chia đều ngây thơ — với CXL, chia đều là tự bắn vào chân, vì bậc chậm kéo tụt cả hệ. Kế đó, DAMON — hệ thống theo dõi mức truy cập bộ nhớ ngay trong nhân — được mở rộng để không chỉ quan sát mà còn hành động: đẩy trang nóng lên bậc nhanh, hạ trang nguội xuống bậc chậm, và trong các bản cập nhật 2026 là trải động sang nhiều nút đích có trọng số riêng. Đây chính là bộ nhớ ảo bước sang thời nhiều bậc: vẫn ý tưởng cũ “nhân biết trang nào đáng nằm ở đâu”, chỉ khác là nay phải lựa giữa bốn loại bộ nhớ chênh nhau cả chục lần về giá mỗi GB.
Khi agent tự chạy mã: sandbox thành biên giới mới
Có một tải công việc mấy năm trước chưa tồn tại ở quy mô đáng kể: mã do mô hình sinh ra, chạy tự động, không ai đọc trước. Mỗi phiên là một tiến trình ngắn, đến rồi đi trong vài giây, và hoàn toàn không đáng tin.
Container không đủ cho việc này, vì lý do rất căn bản: mọi container trên một máy dùng chung một nhân, nên bề mặt tấn công là toàn bộ giao diện lời gọi hệ thống của nhân đó. Đồng thuận trong ngành năm 2026 đã ngả hẳn sang microVM: mỗi phiên agent chạy trong máy ảo riêng với nhân Linux riêng, dưới KVM. Firecracker khởi động cỡ một phần mười giây với chi phí vài MiB bộ nhớ mỗi máy ảo; Kata Containers gói ý tưởng đó thành một “runtime class” cắm thẳng vào Kubernetes. Hướng còn lại là gVisor — một nhân Linux viết lại trong không gian người dùng, chặn lời gọi hệ thống trước khi chúng chạm tới nhân thật. Cán cân lật lúc này vì hai lực gặp nhau: khoảng cách khởi động giữa container và microVM đã co lại tới mức không còn là cái cớ, trong khi cái giá của một lần thoát sandbox tăng vọt — trong máy giờ có khoá API, dữ liệu khách hàng và quyền chạy tiếp những agent khác.
Máy dùng chung: nhân phải chứng minh nó không đọc trộm
Mảnh cuối là hệ quả của việc thuê chung. Khi mô hình và dữ liệu chạy trên máy người khác, câu hỏi không còn là “hàng xóm có đọc được không” mà là “chủ nhà có đọc được không”. Điện toán bí mật trả lời bằng cách bọc cả máy ảo trong vùng được CPU mã hoá — AMD SEV-SNP hoặc Intel TDX — để lớp ảo hoá của nhà cung cấp không đọc nổi bộ nhớ khách. Phần mới của 2025–2026 là kéo GPU vào trong vùng tin cậy đó: chế độ bí mật trên GPU trung tâm dữ liệu từ đời H100 trở đi mã hoá bộ nhớ thiết bị lẫn đường PCIe và NVLink, rồi phát ra chứng thực để bên thuê tự kiểm rằng CPU, GPU và bus giữa chúng đều đã niêm phong. Chi phí hiệu năng cho suy luận hiện được công bố ở mức vài phần trăm — nhỏ hơn nhiều so với dự đoán ban đầu, nên nó đang đi từ “tuỳ chọn cho ngân hàng” sang mặc định cho tải nhạy cảm.
Dự đoán
- cgroup cho GPU sẽ đi tiếp con đường của cgroup CPU. Sau khi chặn được bộ nhớ thiết bị, sức ép kế tiếp là một dạng “trọng số” cho thời gian tính toán. Sẽ chậm và nhiều tranh cãi vì mỗi hãng giấu bộ lập lịch trong firmware — nhưng tiền đang đứng về phía có nó.
- Checkpoint GPU thành hạ tầng nền, không còn là mẹo. Trong 12–18 tháng tới, dừng – di trú – chạy tiếp một job GPU sẽ là tính năng mặc định của các nền tảng cụm, mở đường cho thị trường “spot” đúng nghĩa.
- Lấp đầy thành chỉ số cạnh tranh công khai. Nhà cung cấp sẽ quảng cáo giá “mỗi giờ hữu ích” thay vì giá niêm yết mỗi thẻ.
- Phân tầng bộ nhớ do nhân điều khiển thành mặc định. Weighted interleave và tiering dựa trên DAMON sẽ rời vùng “chỉnh tay cho chuyên gia” để vào cấu hình sẵn của các bản phân phối máy chủ khi CXL phổ biến hơn.
- MicroVM mỗi phiên thành mặc định cho mã do mô hình sinh ra. Container vẫn sống khoẻ cho tải nội bộ tin cậy, nhưng “mã lạ dùng chung nhân” sẽ bị coi là lỗi cấu hình, giống cách chạy dịch vụ dưới quyền root từng bị xét lại.
- Rủi ro ngược: nếu nhịp đầu tư AI chậm lại và GPU bỗng dư dả, áp lực tối ưu này sẽ nguội nhanh — trong lịch sử, hạ tầng chỉ được tối ưu tử tế khi tài nguyên còn khan.
Nhìn tổng thể, đây không phải “Linux thêm tính năng cho AI”. Nó là một vòng lặp cũ chạy lại: một loại phần cứng đắt tới mức không thể để phí, thế là hệ điều hành buộc phải mọc thêm trừu tượng để chia nó cho công bằng và dùng nó cho hết. Bộ nhớ ảo, lập lịch chia thời gian, cgroup đều từng ra đời theo đúng logic đó. Lần này nhân vật chính là GPU, và ta đang ở đoạn giữa của câu chuyện.
Thảo luận