CXL (Compute Express Link): Kết nối bộ nhớ chia sẻ cho trung tâm dữ liệu

CXL (Compute Express Link): Kết nối bộ nhớ chia sẻ cho trung tâm dữ liệu

Compute Express Link (CXL) là một tiêu chuẩn mở dùng cho kết nối tốc độ cao, dung lượng lớn giữa CPU-to-device và CPU-to-memory, được thiết kế cho các máy tính trung tâm dữ liệu hiệu năng cao. CXL được xây dựng trên giao diện vật lý và điện của PCI Express (PCIe) và bao gĩa giao thức I/O dựa trên PCIe (CXL.io) cùng các giao thức cache-coherent mới để truy cập bộ nhớ hệ thống (CXL.cache) và bộ nhớ thiết bị (CXL.mem).

Lịch sử và phát triển

Công nghệ CXL được phát triển chủ yếu bởi Intel. CXL Consortium được thành lập vào tháng 3/2019 bởi các thành viên sáng lập bao gồm Alibaba, Cisco, Dell EMC, Meta, Google, HPE, Huawei, Intel và Microsoft.

Các phiên bản chính:

Máy chủ rack trong trung tâm dữ liệu - minh họa việc triển khai CXL
Phiên bản Năm phát hành Đặc điểm chính
CXL 1.0 2019 Dựa trên PCIe 5.0, hỗ trợ cache-coherent access đến bộ nhớ
CXL 2.0 2020 Thêm switching, hỗ trợ distributed shared memory
CXL 3.0 2022 Dựa trên PCIe 6.0, tăng gấp đôi băng thông, fabrics support
CXL 3.2 2024 CHMU, online firmware activation
CXL 4.0 2025 128 GT/s, bundled ports, nâng cấp RAS

Ba giao thức con cốt lõi

Lớp giao dịch CXL bao gồm ba sub-protocol được đa kênh trên một liên kết đơn:

  • CXL.io – Dựa trên PCIe 5.0/6.0, cung cấp cấu hình, quản lý, discovery, ngắt, DMA và I/O register access.
  • CXL.cache – Peripheral device có thể cache bộ nhớ CPU host một cách cache-coherent.
  • CXL.mem – CPU host truy cập bộ nhớ device thông qua lệnh load/store.
Sơ đồ kiến trúc PCI Express - chuẩn kết nối nền tảng cho CXL

CXL.cache và CXL.mem hoạt động với FLIT (Flow Control Unit) 68-byte trên PHY PCIe 5.0. CXL 3.0 giới thiệu FLIT 256-byte trong chế độ PAM-4 truyền dữ liệu.

Ba loại thiết bị chính

CXL được thiết kế để hỗ trợ ba loại thiết bị chính, mỗi loại phục vụ một mục đích sử dụng cụ thể trong hệ thống:

  • Type 1 (CXL.io + CXL.cache): Thiết bị có thể truy cập bộ nhớ CPU host một cách cache-coherent nhưng không có bộ nhớ cục bản. Dùng cho các nic mạng thông minh (smart NIC), PGAS NIC, và NIC Atomics. Các thiết bị này thường là những ứng dụng xử lý mạng hoặc lưu lượng đặc thù.
  • Type 2 (CXL.io + CXL.cache + CXL.mem): Hỗ trợ truy cập bộ nhớ host và bộ nhớ device memory đồng thời, dùng cho các accelerator đa mục đích như GPU, ASIC, FPGA với bộ nhớ GDDR hoặc HBM cục bản tốc độ cao. Type 2 devices hỗ trợ hai chế độ coherence: device bias mode (device truy cập trực tiếp bộ nhớ cục bản, CPU không cache) và host bias mode (CPU cache controller xử lý tất cả truy cập đến device memory). Chế độ có thể thiết lập riêng cho từng trang 4 KB.
  • Type 3 (CXL.io + CXL.mem): Cho phép host truy cập và quản lý bộ nhớ gắn liền device, dùng cho memory expansion board và persistent memory. Các thiết bị này cung cấp CPU host truy cập độ trễ thấp đến DRAM cục bản hoặc lưu trữ non-volatile byte-addressable.
Bài viết từ dev.to về CXL Memory Tiering và Storage

Việc phân biệt các loại thiết bị cho phép CXL linh hoạt hóa việc mở rộng hệ thống. Type 3 đặc biệt quan trọng trong việc mở rộng bộ nhớ (memory expansion), nơi các module CXL memory có thể cung cấp khả năng lưu trữ lớn hơn so với DIMM truyền thống.

Ứng dụng và hỗ trợ hệ điều hành

Hệ điều hành và nền tảng hỗ trợ CXL:

  • Windows Server 2022 đã thêm hỗ trợ native cho CXL memory devices.
  • Linux kernel 6.5 trở lên thêm hỗ trợ CXL thông qua drivers specially developed.
  • Các hypervisor như VMware ESXi, Microsoft Hyper-V cũng đang tích hợp hỗ trợ CXL để cho VM truy cập bộ nhớ mở rộng.

Các nhà sản xuất phần cứng lớn như Intel, AMD, Samsung, Micron, SK Hynix đã công bố các sản phẩm hỗ trợ CXL như:

  • Intel: Xeon Scalable processors (Sapphire Rapids, Emerald Rapids), Agilex FPGA, Max Series GPUs
  • AMD: EPYC Genoa/Bergamo processors, Instinct MI300 series GPUs
  • Samsung: DDR5 và LPDDR5 memory modules với giao diện CXL
  • Micron: DDR5 và GDDR6 memory với CXL interface
  • SK Hynix: DDR5 memory modules hỗ trợ CXL 2.0 và 3.0

CXL được tích hợp rộng rãi trong các server datacenter hiện đại. Các nhà cung cấp cloud như AWS, Azure, GCP đang đánh giá hỗ trợ CXL cho các instance kiểu memory-optimized hoặc GPU-accelerated.

Các trường hợp sử dụng thực tế

CXL giải quyết một số thách thức quan trọng trong kiến trúc máy tính hiện đại:

  • Memory Expansion: Dùng CXL Type 3 devices để mở rộng bộ nhớ hệ thống vượt quá giới hạn của số khe DIMM và dung lượng tối đa trên mỗi khe, cho phép hệ thống có terabyte-level bộ nhớ mà không cần thay đổi kiến trúc.
  • Device Memory Access: GPU, FPGA có thể truy cập bộ nhớ CPU host qua CXL.cache để giảm thiểu latency và tránh việc sao chép dữ liệu quá mức giữa host và device memory.
  • Cache Coherent Accelerators: Các accelerator như Smart NIC có thể tham gia vào cùng coherent domain với CPU, cho phép xử lý gói tin mạng mà không cần qua qua stack TCP/IP toàn bộ.
  • Persistent Memory: Dùng CXL Type 3 với persistent memory (Optane, hoặc các giải pháp mới) để cung cấp lưu trữ byte-addressable có độ trễ thấp giữa DRAM và SSD truyền thống.
  • Disaggregated Architecture: Trong kiến trúc trung tâm dữ liệu hiện đại, các tài nguyên như compute, storage, memory có thể được tách ra và kết nối qua mạng. CXL cho phép tạo ra các pooled memory trên mạng trong cùng một rack hoặc sogar giữa các rack, tăng tần suất sử dụng tài nguyên và giảm lãng phí.

Tài nguyên tham khảo

Trang web chính thức: computeexpresslink.org

Rambus CXL overview: rambus.com

Synopsys CXL IP: synopsys.com

Kết luận

CXL đang định hình lại kiến trúc trung tâm dữ liệu bằng cách cho phép bộ nhớ chia sẻ, disaggregated storage và accelerator cache-coherent. Công nghệ này giải quyết thách thức về giới hạn socket packaging và hiệu năng của DIMM truyền thống, mở ra tương lai mới cho các máy tính hiệu năng cao.

Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

CXL (Compute Express Link): Kết nối bộ nhớ chia sẻ cho trung tâm dữ liệu

CXL (Compute Express Link): Kết nối bộ nhớ chia sẻ cho trung tâm dữ liệu Compute Express Link (CXL) là một tiêu chuẩn mở dùng cho kết nối tốc độ…

Xem thêm
Bảng điều khiển monitoring và observability thời gian thực

eBPF: Cách mở rộng kernel Linux mà không cần viết driver

eBPF: Cách mở rộng kernel Linux mà không cần viết driver – Công nghệ thay đổi game cho observability và security H kernel Linux là trái tim của hệ điều…

Xem thêm

Li-Fi: Truyền dữ liệu qua ánh sáng thay thế WiFi

Li-Fi: Truyền dữ liệu qua ánh sáng thay thế WiFi Li-Fi (Light Fidelity) là công nghệ truyền thông không dây sử dụng ánh sáng thay vì sóng radio như Wi-Fi….

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất