Łącze Compute Express
Rok utworzenia | 2019 |
---|---|
Liczba urządzeń | 4096 |
Prędkość |
Pełny dupleks 1.x , 2.0 (32 GT/s ):
3,0 (64 GT/s ):
|
Styl | Seryjny |
Strona internetowa |
Compute Express Link ( CXL ) to otwarty standard szybkich i wydajnych połączeń między jednostką centralną (CPU) a urządzeniem oraz między procesorem a pamięcią, przeznaczony dla wysokowydajnych komputerów w centrach danych . CXL jest zbudowany na fizycznym i elektrycznym interfejsie szeregowym PCI Express (PCIe) i obejmuje oparty na PCIe blokowy protokół wejścia/wyjścia (CXL.io) oraz nowe protokoły spójne z pamięcią podręczną do uzyskiwania dostępu do pamięci systemowej (CXL.cache) i pamięci urządzenia (CXL .mem). Możliwości komunikacji szeregowej i łączenia w pule pozwalają pamięci CXL przezwyciężyć ograniczenia wydajności i pakowania gniazd typowych pamięci DIMM przy wdrażaniu dużych pojemności.
Historia
Technologia CXL została opracowana głównie przez firmę Intel . Konsorcjum CXL zostało utworzone w marcu 2019 r. przez członków-założycieli Alibaba Group , Cisco Systems , Dell EMC , Meta , Google , Hewlett Packard Enterprise (HPE), Huawei , Intel Corporation i Microsoft i oficjalnie zarejestrowane we wrześniu 2019 r. Od stycznia 2022 r. AMD , Nvidia , Samsung Electronics i Xilinx dołączyły do założycieli w zarządzie, podczas gdy ARM , Broadcom , Ericsson , IBM , Keysight , Kioxia , Marvell Technology , Mellanox , Microchip Technology , Micron , Oracle Corporation , Qualcomm , Rambus , Renesas , Seagate , SK Hynix , Synopsys i Western Digital byli między innymi członkami wspierającymi. Partnerami branżowymi są PCI-SIG , Gen-Z , SNIA i DMTF .
2 kwietnia 2020 r. konsorcja Compute Express Link i Gen-Z ogłosiły plany wdrożenia interoperacyjności między tymi dwiema technologiami, a wstępne wyniki zostały przedstawione w styczniu 2021 r. 10 listopada 2021 r. specyfikacje i zasoby Gen-Z zostały przeniesione do CXL, skupić się na opracowaniu jednego standardu branżowego. W momencie ogłoszenia tego ogłoszenia 70% członków pokolenia Z dołączyło już do konsorcjum CXL.
1 sierpnia 2022 r. specyfikacje i zasoby OpenCAPI zostały przeniesione do konsorcjum CXL, które obecnie obejmuje firmy zajmujące się technologiami spójnych połączeń pamięci, takimi jak otwarte standardy OpenCAPI (IBM), Gen-Z (HPE) i CCIX ( Xilinx) oraz zastrzeżone Protokoły InfiniBand / RoCE (Mellanox), Infinity Fabric (AMD), Omni-Path i QuickPath / Ultra Path (Intel) oraz NVLink/NVSwitch (Nvidia).
Specyfikacje
11 marca 2019 roku została opublikowana specyfikacja CXL 1.0 oparta na PCIe 5.0. Umożliwia procesorowi hosta dostęp do pamięci współdzielonej na urządzeniach akceleratorowych za pomocą spójnego protokołu pamięci podręcznej. Specyfikacja CXL 1.1 została wydana w czerwcu 2019 r.
10 listopada 2020 roku została wydana specyfikacja CXL 2.0. Nowa wersja dodaje obsługę przełączania CXL, aby umożliwić podłączenie wielu urządzeń CXL 1.x i 2.0 do procesora hosta CXL 2.0 i/lub łączenie każdego urządzenia z wieloma procesorami hosta w konfiguracjach rozproszonej pamięci współdzielonej i zdezagregowanej pamięci masowej ; implementuje również integralność urządzenia i szyfrowanie danych. Nie ma wzrostu przepustowości z CXL 1.x, ponieważ CXL 2.0 nadal wykorzystuje PCIe 5.0 PHY.
2 sierpnia 2022 roku została wydana specyfikacja CXL 3.0, oparta na fizycznym interfejsie PCIe 6.0 i kodowaniu PAM-4 z podwójną przepustowością; nowe funkcje obejmują możliwości sieci szkieletowych z przełączaniem wielopoziomowym i wieloma typami urządzeń na port oraz zwiększoną spójność dzięki DMA peer-to-peer i współdzieleniu pamięci.
Implementacje
2 kwietnia 2019 roku firma Intel ogłosiła swoją rodzinę układów FPGA Agilex z CXL.
11 maja 2021 r. Samsung ogłosił moduł rozszerzenia pamięci oparty na DDR5 o pojemności 128 GB, który umożliwia rozszerzenie pamięci na poziomie terabajta wraz z wysoką wydajnością do użytku w centrach danych i potencjalnie komputerach nowej generacji. Zaktualizowana wersja 512 GB oparta na zastrzeżonym kontrolerze pamięci została wydana 10 maja 2022 r.
W 2021 roku ogłoszono obsługę CXL 1.1 dla procesorów Intel Sapphire Rapids oraz procesorów AMD Zen 4 EPYC „Genoa” i „Bergamo”.
Urządzenia CXL zostały pokazane na konferencji ACM/IEEE Supercomputing Conference (SC21) przez takich dostawców, jak Intel, Astera, Rambus, Synopsys, Samsung i Teledyne LeCroy .
Protokoły
Standard CXL definiuje trzy oddzielne protokoły:
- CXL.io - oparty na PCIe 5.0 z kilkoma ulepszeniami, zapewnia konfigurację, inicjalizację i zarządzanie łączami, wykrywanie i wyliczanie urządzeń, przerwania, DMA i dostęp do rejestrów I/O przy użyciu niespójnych obciążeń/zapisów.
- CXL.cache — umożliwia urządzeniom peryferyjnym spójny dostęp do pamięci procesora hosta i buforowanie jej za pomocą interfejsu żądania/odpowiedzi o niskim opóźnieniu.
- CXL.mem — umożliwia procesorowi hosta spójny dostęp do pamięci podręcznej urządzenia za pomocą poleceń ładowania/zapisywania zarówno dla pamięci ulotnej (RAM), jak i trwałej pamięci nieulotnej (pamięć flash).
Protokoły CXL.cache i CXL.mem działają ze wspólną warstwą łącza/transakcji, która jest oddzielona od łącza protokołu CXL.io i warstwy transakcji. Te protokoły/warstwy są multipleksowane razem przez blok arbitrażu i multipleksowania (ARB/MUX), zanim zostaną przetransportowane przez standardowy PHY PCIe 5.0 przy użyciu bloku FLIT ( Flow Control Unit ) o stałej szerokości 528 bitów (66 bajtów) składającego się z czterech 16-bajtów danych „szczeliny” i dwubajtową wartość cyklicznej kontroli redundancji (CRC). CXL FLIT hermetyzują standardowe dane PCIe Transaction Layer Packet (TLP) i Data Link Layer Packet (DLLP) w formacie zmiennej wielkości ramki.
CXL 3.0 wprowadza 256-bajtowy FLIT w trybie transferu PAM-4.
Typy urządzeń
CXL został zaprojektowany do obsługi trzech podstawowych typów urządzeń:
- Typ 1 (CXL.io i CXL.cache) – wyspecjalizowane akceleratory (takie jak smart NIC ) bez pamięci lokalnej. Urządzenia polegają na spójnym dostępie do pamięci procesora hosta.
- Typ 2 (CXL.io, CXL.cache i CXL.mem) – akceleratory ogólnego przeznaczenia ( GPU , ASIC lub FPGA ) z wysokowydajną lokalną pamięcią GDDR lub HBM . Urządzenia mogą w spójny sposób uzyskiwać dostęp do pamięci procesora hosta i/lub zapewniać spójny lub niespójny dostęp do pamięci lokalnej urządzenia z procesora hosta.
- Typ 3 (CXL.io i CXL.mem) – karty rozszerzeń pamięci i pamięć trwała. Urządzenia zapewniają procesorowi hosta dostęp z małymi opóźnieniami do lokalnej pamięci DRAM lub nieulotnej pamięci masowej z adresowaniem bajtowym.
Urządzenia typu 2 implementują dwa tryby spójności pamięci, zarządzane przez sterownik urządzenia. W trybie odchylenia urządzenia urządzenie uzyskuje bezpośredni dostęp do pamięci lokalnej i procesor nie wykonuje buforowania; w trybie obciążenia hosta kontroler pamięci podręcznej procesora hosta obsługuje cały dostęp do pamięci urządzenia. Tryb koherencji można ustawić indywidualnie dla każdej strony o wielkości 4 KB, przechowywanej w tablicy translacji w pamięci lokalnej urządzeń Typu 2. W przeciwieństwie do innych protokołów spójności pamięci CPU-to-CPU, ten układ wymaga tylko kontrolera pamięci CPU hosta do zaimplementowania agenta pamięci podręcznej; takie asymetryczne podejście zmniejsza złożoność implementacji i zmniejsza opóźnienia.
CXL 2.0 dodał obsługę przełączania w strukturach urządzeń opartych na drzewie, umożliwiając urządzeniom PCIe, CXL 1.1 i CXL 2.0 tworzenie wirtualnych hierarchii urządzeń jedno- i wielologicznych, które mogą być zarządzane przez wiele hostów.
CXL 3.0 zastąpił tryby odchylenia ulepszoną semantyką koherencji, umożliwiając urządzeniom typu 2 i 3 wsteczne unieważnianie danych w pamięci podręcznej hosta, gdy urządzenie dokonało zmiany w pamięci lokalnej. Ulepszona spójność pomaga również wdrażać transfery peer-to-peer w ramach wirtualnej hierarchii urządzeń w tej samej domenie koherencji. Obsługuje również udostępnianie pamięci tego samego segmentu pamięci między wieloma urządzeniami, w przeciwieństwie do puli pamięci, w której każdemu urządzeniu przypisano oddzielny segment.
CXL 3.0 umożliwia korzystanie z wielu urządzeń typu 1 i typu 2 na każdy port główny CXL; dodaje również wielopoziomowe przełączanie, pomagając we wdrażaniu struktur urządzeń z topologiami innymi niż drzewa, takimi jak siatka, pierścień lub splajn/liść. Każdy węzeł może być hostem lub urządzeniem dowolnego typu. Urządzenia typu 3 mogą implementować tryb Global Fabric Attached Memory (GFAM), który łączy urządzenie pamięci z węzłem przełącznika bez konieczności bezpośredniego połączenia z hostem. Urządzenia i hosty używają mechanizmu adresowania opartego na portach (PBR), który obsługuje do 4096 węzłów.
Urządzenia
W maju 2022 r. pojawiły się pierwsze urządzenia 512 Gb z 4 razy większą pamięcią niż poprzednie urządzenia. [1]
Czas oczekiwania
Pamięć DDR zainstalowana w modułach DIMM ma lepsze opóźnienia (zwykle 20 ns) w porównaniu z pamięcią DDR zainstalowaną w urządzeniach CXL (zwykle 200 ns)
Zobacz też
- Spójny interfejs procesora akceleratora (CAPI)
- Universal Chiplet Interconnect Express (UCIe)
- Jednostka przetwarzania danych (DPU)