AMD bắt đầu quảng bá một phần mềm tên là Mext: trên máy chủ Epyc, phần mềm dùng flash NVMe để thay một phần DRAM, đồng thời dựa vào mô hình AI dự đoán những trang bộ nhớ sắp được dùng đến và đưa chúng quay lại RAM trước khi hệ điều hành lẫn ứng dụng kịp nhận ra. Theo AMD, sau khi thay một nửa DRAM bằng flash, một số tác vụ vẫn giữ được tối đa 99% hiệu năng, còn chi phí máy chủ doanh nghiệp có thể giảm tới 83%.
Mext vốn là một công ty độc lập; AMD đã mua lại công nghệ này vào tháng 6 năm nay. Gary Smerdon, cựu CEO của Mext và hiện là phó chủ tịch phát triển kinh doanh của AMD, cho The Register biết phần mềm đã được triển khai trên 145 hệ thống đầu tiên. Theo ước tính của ông, khách hàng đã tiết kiệm được khoảng 5 triệu USD tiền mua DRAM.
Vì sao swap kiểu cũ không ai dám bật
Phần bộ nhớ “đang bị chiếm” trong máy chủ nhiều khi không hề được dùng. Smerdon dẫn một nghiên cứu của Meta, theo đó 50% đến 80% số trang bộ nhớ không được truy cập trong năm phút, mười phút hoặc lâu hơn. Nguyên văn lời ông: “Năm phút đối với Epyc là cả một sự vĩnh hằng.”
Đẩy các trang nguội sang một loại phương tiện rẻ hơn cũng là ý tưởng của swap trong hệ điều hành hay tệp phân trang của Windows. Vấn đề nằm ở tốc độ: theo số liệu Smerdon đưa ra, flash rẻ hơn DRAM khoảng 50 lần trên mỗi bit, tiêu thụ điện ít hơn khoảng 30 lần, nhưng chậm hơn khoảng 500 lần. Swap truyền thống chỉ đi lấy trang từ ổ đĩa khi chương trình cần đến, độ trễ vì thế tăng vọt, cam kết mức dịch vụ (SLA) cũng theo đó mà vỡ, nên đội vận hành thường tắt nó đi nếu có thể.
Cách làm của Mext là đưa trang quay lại trước khi có nhu cầu. “Chúng tôi làm cho flash trông giống hệt DRAM một cách trong suốt”, Smerdon tóm tắt. Theo ví dụ của ông, một máy chủ Epyc vốn cần 2TB bộ nhớ nay có thể chỉ mua 1TB, phần 1TB còn lại do Mext bù bằng flash.
Mô hình dự đoán được huấn luyện ngay trên CPU
Mô hình chính đảm nhiệm việc dự đoán là một biến thể của kiến trúc Transformer. Smerdon so sánh: mô hình ngôn ngữ lớn dự đoán từ tiếp theo, còn mô hình này dự đoán trang bộ nhớ tiếp theo sẽ được dùng. Miễn là trang đã quay về DRAM trước khi bị truy cập thì thứ tự có lộn xộn đôi chút cũng không sao.
Kiểu truy cập bộ nhớ thay đổi theo từng tác vụ nên việc huấn luyện sẵn một mô hình dùng chung là không thực tế. Mext lấy một lõi Epyc huấn luyện ra phiên bản đầu tiên trong vòng một giây, sau đó vừa chạy vừa huấn luyện lại cho đến khi dự đoán đủ chính xác. Toàn bộ quá trình chỉ dùng CPU, không cần GPU, nên về lý thuyết khách hàng Epyc nào cũng dùng được.
Chi phí cũng nằm ở đây. The Register chỉ ra rằng trong môi trường ảo hóa, phần mềm này chiếm một lõi cho mỗi máy ảo; càng nhiều máy ảo thì càng mất nhiều lõi. Với trường hợp container có như vậy hay không, AMD chưa trả lời câu hỏi của tờ báo.
Số liệu hiệu năng cần xem theo từng tác vụ
Smerdon nói sau khi chuyển các trang nguội đi thì “hoàn toàn không ảnh hưởng đến hiệu năng”, còn số đo thực tế do chính AMD đưa ra thì thận trọng hơn:
- Synopsys PrimeTime (công cụ EDA dùng trong thiết kế chip): thay một nửa bộ nhớ bằng flash, hiệu năng đạt 95% so với dùng toàn DRAM; khi chỉ giữ 25% DRAM và 75% là flash, hiệu năng giảm xuống 80%.
- Apache Spark: thay một nửa DRAM bằng flash, hiệu năng giữ được 99%.
Phần mềm EDA ngốn bộ nhớ rất mạnh, nhưng tại một thời điểm, lượng dữ liệu mà các nhân tính toán thực sự xử lý thường chỉ vài MB; đó là lý do Mext nhắm vào nó đầu tiên. Về sau phạm vi hỗ trợ mở rộng sang cơ sở dữ liệu và các luồng suy luận của tác tử, tức những tình huống nhạy cảm với độ trễ; số liệu cho nhóm sau lần này chưa được công bố, và cũng chưa có bên thứ ba nào đo kiểm lại.
Tính nhẩm một bài toán chi phí cả máy
Smerdon cho biết trong chi phí của máy chủ bộ nhớ lớn, bộ nhớ ước tính thận trọng chiếm sáu đến bảy phần mười, còn với máy có bộ nhớ cực lớn có thể lên tới tám đến chín phần mười. Tính nhẩm theo ví dụ 2TB của ông: giả sử bộ nhớ chiếm 70% giá thành cả máy, bỏ đi một nửa DRAM và thay bằng flash có đơn giá khoảng một phần năm mươi, chưa tính phí bản quyền Mext, thì chi phí cả máy giảm hơn ba mươi phần trăm một chút. Mức trần 83% hẳn ứng với cấu hình có tỷ trọng bộ nhớ cao hơn và tỷ lệ hoán đổi lớn hơn; AMD không công bố cách tính cụ thể.
Phí bản quyền hiện vẫn để trống. Mext chỉ chạy trên phần cứng AMD và sẽ được bán dưới dạng giấy phép cùng máy chủ Epyc thông qua các OEM như HPE; giá chưa được công bố. Trên Linux chỉ cần cài một driver nhân; AMD còn cung cấp công cụ tên RAM View để doanh nghiệp xác định máy và tác vụ nào phù hợp để bật Mext.
Việc mở rộng trung tâm dữ liệu AI khiến bộ nhớ liên tục khan hiếm, và AMD đặt cược rằng khách hàng sẵn sàng đánh đổi vài điểm phần trăm hiệu năng để lấy một khoản tiết kiệm lớn trong ngân sách bộ nhớ. Theo lộ trình của hãng, hiện đang ở giai đoạn một, cùng các OEM đưa máy lên trạng thái “Mext ready”; đến giai đoạn hai mới bán giấy phép và cài sẵn RAM View trên các máy Epyc xuất xưởng.
Nguồn tham khảo: phỏng vấn Gary Smerdon của The Register, CocoLoop, nghiên cứu về truy cập bộ nhớ của Meta; tỷ lệ hiệu năng, quy mô triển khai 145 hệ thống và mức giảm chi phí 83% đều theo số liệu của AMD.