Trong hai năm qua, việc lập kế hoạch bộ nhớ cho doanh nghiệp đã âm thầm trở thành một trong những vấn đề khó khăn nhất trong thiết kế cơ sở hạ tầng. Sự bùng nổ của khối lượng công việc AI và sự chuyển dịch nhanh chóng năng lực sản xuất bán dẫn sang bộ nhớ băng thông cao (HBM) đã đẩy giá DRAM máy chủ tăng hơn 170% so với cùng kỳ năm ngoái , với các nhà phân tích trong ngành cảnh báo rằng nguồn cung khan hiếm và giá cả cao có thể kéo dài ít nhất đến năm 2027.
Tuy nhiên, trong môi trường sản xuất thực tế, việc sử dụng bộ nhớ lại cho thấy một câu chuyện khác. Trên các nền tảng ảo hóa và điện toán đám mây, các ứng dụng như dịch vụ dựa trên JVM, nền tảng phần mềm trung gian, dữ liệu lớn và máy học thường dành sẵn một lượng lớn bộ nhớ, trong khi chỉ một phần nhỏ trong số đó được truy cập tích cực tại bất kỳ thời điểm nào. Các trang bộ nhớ còn lại ở trạng thái không hoạt động trong thời gian dài, tiêu tốn dung lượng DRAM đắt tiền mà không trực tiếp đóng góp vào hiệu năng.
Khoảng cách giữa bộ nhớ được cấp phát và bộ nhớ đang được sử dụng thực tế chính là nơi xuất hiện một phương pháp tối ưu hóa mới.
Phân cấp bộ nhớ được xây dựng dựa trên một quan sát đơn giản nhưng mạnh mẽ: không phải tất cả các trang bộ nhớ đều như nhau. Nếu dữ liệu "nóng" được truy cập thường xuyên có thể được lưu trữ trên DRAM tốc độ cao, trong khi dữ liệu "lạnh" được truy cập không thường xuyên được đặt một cách minh bạch trên phương tiện hiệu năng cao, chi phí thấp hơn, thì dung lượng bộ nhớ tổng thể có thể được mở rộng đáng kể mà không cần tăng chi phí phần cứng tương ứng.
Tuy nhiên, ý tưởng này ngay lập tức đặt ra những câu hỏi quan trọng đối với người dùng doanh nghiệp:
- Liệu bộ nhớ có thể được mở rộng vượt quá dung lượng DRAM vật lý mà không làm ảnh hưởng đến hiệu năng?
- Hệ thống xác định chính xác vùng nhớ nóng và lạnh như thế nào mà không gây ra gánh nặng CPU quá lớn?
- Khi dữ liệu ít được sử dụng được truy cập lại, nó có thể trở lại bộ nhớ tốc độ cao nhanh như thế nào và các ứng dụng có nhận thấy sự thay đổi này không?
Những lo ngại này là hoàn toàn chính đáng. Bộ nhớ nằm trên đường dẫn quan trọng quyết định hiệu năng ứng dụng, và bất kỳ sự tối ưu hóa nào ở lớp này đều phải chính xác và có thể dự đoán được.
Trong bài viết này, chúng ta sẽ cùng tìm hiểu sâu hơn về công nghệ phân cấp bộ nhớ của Sangfor, cả về mặt thực tiễn và kỹ thuật. Chúng ta sẽ giải thích lý do tại sao bộ nhớ có thể được phân cấp một cách an toàn, cách DRAM và NVMe phối hợp với nhau ở cấp độ hệ thống, và những nguyên tắc thiết kế nào đảm bảo tác động đến hiệu năng được kiểm soát chặt chẽ. Quan trọng không kém, chúng ta sẽ nêu rõ những trường hợp mà việc phân cấp bộ nhớ mang lại giá trị rõ ràng và những trường hợp cần sử dụng thận trọng.
Mục tiêu của chúng tôi không phải là thổi phồng một khái niệm, mà là cung cấp một khuôn khổ minh bạch giúp các kiến trúc sư CNTT và những người ra quyết định xác định xem phân cấp bộ nhớ có phù hợp với môi trường của họ hay không.
Tại sao bộ nhớ có thể được "phân cấp"?
Trong lĩnh vực tối ưu hóa bộ nhớ doanh nghiệp, các giải pháp truyền thống như mở rộng bộ nhớ (memory ballooning), chia sẻ trang bộ nhớ trong suốt (transparent page sharing), nén bộ nhớ (memory compression) và phân bổ bộ nhớ vượt mức (memory overcommitment) đều có thể cải thiện việc sử dụng bộ nhớ vật lý và giảm bớt áp lực ở một mức độ nào đó. Tuy nhiên, sự cải thiện này có giới hạn. Khi quy mô kinh doanh tiếp tục phát triển, cần có các phương pháp công nghệ mới để mở rộng dung lượng bộ nhớ khả dụng của hệ thống.
Trong môi trường điện toán đám mây và ảo hóa, các ứng dụng (như JVM, dịch vụ bộ nhớ đệm và phần mềm trung gian) thường dành một lượng lớn không gian bộ nhớ. Tuy nhiên, bộ nhớ thực sự "hoạt động" được đọc và ghi thường xuyên chỉ chiếm khoảng 50%, trong khi phần còn lại vẫn ở trạng thái ít truy cập, "lạnh".
Dựa trên đặc điểm cốt lõi này, giải pháp phân tầng bộ nhớ đã ra đời. Bằng cách chia dữ liệu bộ nhớ thành tầng dữ liệu nóng và tầng dữ liệu lạnh dựa trên tần suất truy cập, nó xây dựng một nhóm tài nguyên bộ nhớ thống nhất bằng cách sử dụng DRAM vật lý và SSD NVMe hiệu năng cao. Dựa vào các thuật toán lập lịch thông minh để định tuyến dữ liệu nóng và lạnh một cách linh hoạt, chúng ta có thể vượt qua giới hạn bộ nhớ vật lý mà không ảnh hưởng đến hiệu năng hoạt động cốt lõi.
DRAM và NVMe phối hợp hoạt động thông minh với nhau như thế nào?
Giải pháp phân tầng bộ nhớ của Sangfor sử dụng kiến trúc cốt lõi "Bộ nhớ đa tầng + Công cụ lập lịch thông minh" để đạt được sự phối hợp hiệu quả cao giữa DRAM và SSD NVMe. Điều này cho phép quản lý bộ nhớ theo cấp bậc và lập lịch động với chi phí hệ thống cực thấp.
Thiết kế kiến trúc nhóm bộ nhớ đa tầng
- Tầng 0 (Tầng dữ liệu nóng): DRAM tốc độ cao xử lý dữ liệu "nóng" có tần số cao và độ trễ thấp, đóng vai trò là sự đảm bảo cốt lõi cho hiệu suất hoạt động kinh doanh.
- Tầng 1 (Tầng dữ liệu ít sử dụng): NVMe hiệu năng cao hoạt động như một lớp mở rộng bộ nhớ, mang theo dữ liệu "ít sử dụng" tần số thấp để đạt được khả năng mở rộng dung lượng bộ nhớ linh hoạt.
Thiết kế kiến trúc nhóm bộ nhớ đa tầng
Công cụ lập lịch thông minh
Bộ xử lý lập lịch thông minh là cốt lõi của giải pháp phân cấp bộ nhớ. Bằng cách sử dụng công nghệ "phân vùng vùng động + lấy mẫu thưa ngẫu nhiên", nó đánh giá sự phân bố toàn cục của bộ nhớ nóng và lạnh với mức tiêu hao tài nguyên hệ thống tối thiểu, cho phép nhận dạng chính xác và lập lịch động.
Đường dẫn truy cập bộ nhớ của CPU
Nó bao gồm ba khả năng cốt lõi:
- Nhận diện chính xác vùng nóng/lạnh (Định vị mục tiêu chính xác): Thông qua việc liên tục phát hiện vùng nóng, hệ thống lập bản đồ tập hợp các vùng hoạt động thực tế của doanh nghiệp trong thời gian thực. Nó phân biệt chính xác dữ liệu nóng nào cần được giữ lại trong DRAM tốc độ cao và trang nào có thể được hạ cấp một cách an toàn.
- Di chuyển bộ nhớ tự động (Nhanh): Tự động thực hiện "hạ cấp dữ liệu ít sử dụng" và "nâng cấp dữ liệu thường xuyên sử dụng". Điều này giải phóng không gian DRAM cho các ứng dụng cốt lõi đồng thời đảm bảo dữ liệu được kích hoạt lại ngay lập tức trở về tầng bộ nhớ thường xuyên để đảm bảo hiệu suất truy cập liền mạch.
- Khả năng quan sát toàn diện (Khả năng hiển thị rõ ràng): Liên tục giám sát sự phân bổ nhiệt độ bộ nhớ, hành vi di chuyển trang và trạng thái truy cập tầng lạnh để tạo ra khả năng quan sát toàn diện. Dữ liệu giám sát này giúp bộ phận vận hành CNTT xác định các rủi ro hiệu năng tiềm ẩn và cung cấp cơ sở vững chắc cho việc tối ưu hóa chính sách và lập kế hoạch dung lượng.
Luồng dữ liệu nóng và lạnh giữa DRAM và NVMe
- Chuyển đổi DRAM sang NVMe (Hạ cấp trang ít sử dụng): Khi hệ thống xác định được một trang ít được truy cập, trang đó sẽ được thêm vào hàng đợi ứng viên di chuyển trang ít sử dụng. Hệ thống phân bổ không gian lưu trữ NVMe, ghi dữ liệu trang từ DRAM sang SSD NVMe và cập nhật đồng bộ ánh xạ bộ nhớ. Sau khi di chuyển xong, không gian DRAM tương ứng sẽ được giải phóng, đảm bảo bộ nhớ tốc độ cao được ưu tiên cho dữ liệu hoạt động.
- NVMe → DRAM (Nâng cấp trang nóng): Khi một ứng dụng truy cập lại một trang đã bị hạ cấp xuống tầng bộ nhớ NVMe tốc độ thấp, hệ thống sẽ bắt giữ yêu cầu trong thời gian thực và kích hoạt quá trình nâng cấp. Nó đọc dữ liệu trang đích từ NVMe trở lại DRAM và cập nhật ánh xạ bộ nhớ một cách đồng bộ, cho phép dữ liệu được kích hoạt lại đi vào tầng bộ nhớ tốc độ cao và khôi phục hiệu suất bình thường.
Cơ chế di chuyển dữ liệu
CPU truy cập bộ nhớ phân cấp như thế nào? Giảm thiểu tổn thất hiệu năng
Thách thức kỹ thuật của việc phân cấp bộ nhớ nằm ở việc làm thế nào để nhanh chóng xác định dữ liệu, lên lịch các trang và cho phép CPU truy cập bộ nhớ nhanh chóng sau khi đã được phân cấp.
Trong kiến trúc này, thiết bị NVMe không được sử dụng như bộ nhớ lưu trữ truyền thống, mà là một lớp bộ nhớ lạnh nằm bên dưới DRAM. Do đó, tất cả các thao tác truy cập bộ nhớ của CPU cuối cùng đều được thực hiện thông qua DRAM. Các đường dẫn truy cập được chia thành hai loại:
- Đường dẫn 1: Truy cập trang nóng: CPU khởi tạo truy cập → DRAM cục bộ/từ xa → Trả về dữ liệu.
- Đường dẫn 2: Lỗi truy cập trang lạnh: CPU khởi tạo truy cập → Trang đích không nằm trong vùng nhớ DRAM nóng → Hệ thống lấy trang từ NVMe trở lại DRAM → CPU truy cập trang.
Kiến trúc phân tầng bộ nhớ
Vì CPU máy chủ không truy cập trực tiếp vào NVMe, làm thế nào để giảm thiểu tác động đến hiệu năng? Để giải quyết những lo ngại về hiệu năng sau khi phân tầng, hệ thống đảm bảo tính ổn định hoạt động kinh doanh thông qua các cơ chế sau:
- Không gian địa chỉ thống nhất và truy cập minh bạch: Điều này hoàn toàn minh bạch đối với các ứng dụng. Khi truy cập vào một trang bộ nhớ thường xuyên truy cập (hot page) trong DRAM, thao tác được thực hiện trực tiếp mà không có bất kỳ chi phí phát sinh nào. Khi truy cập vào một trang bộ nhớ ít truy cập (cold page) trong NVMe, nó sẽ kích hoạt ngắt lỗi trang; nhân hệ điều hành nhanh chóng lấy dữ liệu từ NVMe trở lại DRAM, cho phép CPU truy cập. CPU hoạt động mà không cần biết dữ liệu nằm trong DRAM hay NVMe — nhân hệ điều hành xử lý mọi thứ.
- Lập lịch thông minh & Điều chỉnh vùng động: Hệ thống tự động điều chỉnh cấu trúc vùng dựa trên kết quả giám sát để cân bằng giữa độ chính xác và chi phí hệ thống. Khi các vùng liền kề có mô hình truy cập tương tự, chúng sẽ tự động được hợp nhất để giảm số lượng đối tượng giám sát. Khi phát hiện các điểm nóng rõ ràng trong một vùng, vùng đó sẽ được chia nhỏ để nhận dạng chi tiết hơn. Cơ chế thích ứng này giúp duy trì độ chi tiết giám sát ở mức tối ưu.
- NVMe độ trễ thấp giúp giảm thiểu chi phí truyền tải: Bộ điều khiển NVMe đọc và ghi trực tiếp vào DRAM thông qua PCIe mà không cần sự can thiệp của CPU, tiêu thụ rất ít tài nguyên ngắt của CPU. Phần cứng NVMe mang lại những lợi thế đáng kể: Độ trễ nằm trong khoảng 10–100μs (thấp hơn nhiều so với SSD/HDD SATA), và băng thông PCIe 4.0 NVMe đạt tới 7GB/s—khoảng 1/10 so với DRAM và vượt xa các thiết bị lưu trữ truyền thống.
Phân cấp bộ nhớ giúp giảm thiểu tác động đến hiệu năng chủ yếu thông qua quản lý minh bạch ứng dụng, lập lịch thông minh và NVMe độ trễ thấp, đảm bảo CPU luôn hoạt động trên các đường dẫn tốc độ cao. Kết hợp với tối ưu hóa đường dẫn I/O của nhân hệ điều hành và khả năng kế thừa liền mạch của liên kết cục bộ NUMA , dung lượng bộ nhớ tổng thể của máy chủ được tăng gấp đôi trong khi mức giảm hiệu năng thực tế được duy trì ổn định dưới 10%.
Trình diễn trực tiếp: Phân cấp bộ nhớ trong thực tế
Tăng gấp đôi dung lượng bộ nhớ máy chủ với chỉ 6% tổn thất hiệu năng | Đã thử nghiệm phân cấp bộ nhớ Sangfor HCI
- Trước khi áp dụng phân cấp bộ nhớ: Bộ nhớ vật lý 256G, mức sử dụng lên đến 73%. Số giao dịch mỗi giây (TPS) của cơ sở dữ liệu Oracle: hơn 15000.
- Sau khi phân cấp bộ nhớ: 128G bộ nhớ vật lý + 128G bộ nhớ phân cấp, tương đương với dung lượng bộ nhớ 256G. Hiệu suất trung bình của Oracle Database TPS duy trì ổn định ở mức khoảng 14000, với mức giảm hiệu suất được kiểm soát an toàn trong phạm vi 10%.
Hướng dẫn thực hiện thực tế: Các tình huống áp dụng và khuyến nghị lập kế hoạch
Các trường hợp áp dụng
- Các trường hợp lý tưởng: Phân cấp bộ nhớ phù hợp với các trường hợp sử dụng yêu cầu dung lượng bộ nhớ tổng thể lớn, với các mô hình truy cập dữ liệu nóng/lạnh riêng biệt, độ nhạy về chi phí và khả năng chịu đựng độ trễ nhỏ, không thường xuyên. Ví dụ bao gồm môi trường phát triển và thử nghiệm, các dịch vụ bộ nhớ đệm không thuộc lõi và các cụm vi dịch vụ có tải trọng thấp đến trung bình.
- Không khuyến nghị sử dụng cho: Sản phẩm này không phù hợp với các ứng dụng cốt lõi cực kỳ nhạy cảm với độ trễ truy cập, có mô hình truy cập dày đặc và đồng nhất, và yêu cầu độ biến động cực thấp và độ ổn định cao. Ví dụ bao gồm các hệ thống giao dịch thời gian thực, cơ sở dữ liệu giao dịch tần suất cao, cơ sở dữ liệu trong bộ nhớ và cơ sở dữ liệu OLTP tần suất cao.
Giải pháp phân cấp bộ nhớ của Sangfor hỗ trợ bật hoặc tắt tính năng này ở cấp độ máy ảo (VM) . Người dùng có thể linh hoạt bật/tắt phân cấp bộ nhớ cho các VM cụ thể dựa trên loại hình và đặc điểm kinh doanh, cho phép kiểm soát chi tiết cả hiệu năng và chi phí. Nếu giá phần cứng giảm trong tương lai, người dùng có thể dễ dàng mở rộng dung lượng trực tuyến mà không bị phụ thuộc vào nhà cung cấp hoặc lo ngại về việc nâng cấp trong tương lai.
Thực tiễn tốt nhất cho việc lập kế hoạch phân cấp bộ nhớ
Để cân bằng giữa việc mở rộng bộ nhớ và sự ổn định hiệu năng kinh doanh, tỷ lệ DRAM so với bộ nhớ phân cấp được khuyến nghị là 1:1 . Tỷ lệ này đáp ứng nhu cầu của hầu hết các kịch bản doanh nghiệp, giúp tăng gấp đôi dung lượng bộ nhớ trong khi vẫn giữ được sự biến động hiệu năng ở mức chấp nhận được.
Trong bối cảnh thị trường giá phần cứng bộ nhớ vẫn ở mức cao, phân cấp bộ nhớ không chỉ còn là công cụ tối ưu hóa hiệu năng mà còn là chiến lược kiểm soát chi phí hiệu quả cao. Người dùng có thể cắt giảm đáng kể ngân sách mua sắm phần cứng bộ nhớ mà không làm giảm hiệu năng hoạt động cốt lõi, tối đa hóa giá trị tái sử dụng của các tài sản CNTT hiện có để giải quyết hiệu quả hai thách thức song song: tăng trưởng sức mạnh tính toán và quản lý chi phí CNTT.



