Łącze oparte na PCI-E 5.0, zachowujące spójność pamięci.
Intel ogłosił wczoraj zawiązanie konsorcjum Compute Express Link – w skrócie CXL – które zajmie się wdrażaniem połączenia o tej samej nazwie. CXL to łącze punkt-punkt, identyczne pod względem mechanicznym i elektrycznym z PCI-E 5.0 ×16. CXL ma służyć do połączenia procesorów centralnych i akceleratorów obliczeniowych takich jak karty graficzne, FPGA, koprocesory AI i przyszłe wyspecjalizowane układy, których natury jeszcze nie możemy przewidzieć.
Główną motywacją do opracowania CXL oraz główną różnicą między CXL a PCI-E jest zapewnienie spójności pamięci pomiędzy połączonymi urządzeniami. To znaczy, że oprogramowanie działające na wszystkich połączonych w spójny sposób urządzeniach może operować na jednej przestrzeni adresowej, ciągłym obszarze pamięci do którego każde z nich ma równorzędny dostęp. Zmiany dokonywane w lokalnych pamięciach podręcznych każdego z połączonych urządzeń są propagowane do wszystkich innych urządzeń. Jeśli to brzmi znajomo, to dlatego, że jednolita przestrzeń adresowa jest od kilku lat wykorzystywana w procesorach Intela i AMD ze zintegrowanym układem graficznym (choć tylko w zastosowaniach obliczeniowych, nie graficznych).
W ciągu ostatnich kilku lat powstało wiele potencjalnych standardów połączeń, które miałyby spajać maszyny do wielkoskalowych obliczeń i zapewniać różnym rodzajom procesorów dostęp do wspólnej przestrzeni adresowej i możliwość zachowania spójności pamięci podręcznych:
- CCIX
- CXL
- Gen-Z
- Infinity Fabric
- OpenCAPI
- NVLink
NVLink i Infinity Fabric nigdy nie miały być standardami wykorzystywanymi przez wiele firm – zostały stworzone do użytku wewnętrznego. Łącze NVLink jest wykorzystywane w komputerach obliczeniowych Nvidii; za jego pomocą procesory graficzne komunikują się między sobą oraz z procesorami IBM POWER9. Infinity Fabric służy do komunikacji grup rdzeni x86 oraz procesorów graficznych AMD. Za jego pomocą transportowane są dane wewnątrz procesorów EPYC (w obrębie jednego jądra krzemowego, w obrębie jednej podstawki), pomiędzy procesorami (w obrębie jednej płyty głównej) oraz pomiędzy akceleratorami Radeon Instinct.
Spośród wymienionych standardów CCIX i CXL są rozszerzeniami standardu PCI-E – wykorzystują te same połączenia elektryczne i te same kontrolery, a także mniejszą lub większą część protokołu. Do nowo projektowanego sprzętu można dodać CXL lub CCIX wykorzystując większą część istniejącej infrastruktury PCI-E. OpenCAPI i NVLink były w poprzednich wersjach rozszerzeniami PCI-E, ale ich najnowsze wersje są już niezależne i zapewne wymagają większego nakładu inżynieryjnego oraz poświęcenia większej powierzchni jądra krzemowego. InfinityFabric oraz Gen-Z są w dużym stopniu niezależne od fizycznej strony łącza, i moga być w dużym stopniu wzajemnie kompatybilne. Wzajemnie wykluczają się CCIX i CXL, dwa standardy mające spełniać podobne role, z których pierwszy jest skupiony wokół procesorów ARM, a drugi – wokół procesorów Intela.
Firmy należące do poszczególnych konsorcjów. Pominęliśmy konsorcjum CCIX nie dlatego, że nie jest ważne, ale ponieważ jest silnie związane z architekturą ARM i w najmniejszym stopniu konkuruje z tymi standardami.
Spośród tych wszystkich standardów wzajemnie wykluczają się tylko CCIX i CXL – nie tylko ze względów technologicznych, ale ze względu na potencjalny konflikt interesów między Intelem a ARM. Na razie wygląda na to, że zasięg CXL ograniczy się do firm, które planują kupować procesory Intela i podłączać do nich własne akceleratory. Jedynym poza Intelem producentem procesorów w tej grupie jest Huawei, który ma również własne procesory serwerowe z CCIX – Kunpeng 920 (architektura ARM), więc raczej nie jest zainteresowany wykorzystaniem CXL w procesorach. Zakupy sprzetu do serwerów i centrów danych rządzą się nieco innymi regułami, niż jednostkowe, tanie, kompulsywne zakupy, jakie robią domowi klienci. Z tego powodu raczej nie zanosi się na żadną wojnę standardów – zarówno procesory jak i akceleratory mają wiele ważnych cech, spośród których spójne łącze jest tylko jedną, na pewno nie najważniejszą.
Spodziewamy się, że CXL pojawi się w sprzęcie najwcześniej za ok. 1,5 roku, kiedy Intel zacznie sprzedawać swoje karty graficzne i/lub akceleratory obliczeniowe. Być może wcześniej zostanie wykorzystane w jakichś układach FPGA Intela, ale nie mamy na ten temat żadnych informacji.
W nowych procesorach zostaną dokładniej zakamuflowane i pewnie dowiemy się o nich po kilku latach.
Przeniosą te dziury na cały sprzęt
ponieważ nadal czekamy, więc jeden z prezesów który nadzorował 10nm, zmienił pracodawcę.
Zamiast zebrać do kupy największych gigantów elektroniki - ARM, Intel, NVidia, AMD, IBM itd.. by wspólnie stworzyć jeden, jednolity standard szybkiej komunikacji typu punkt-punkt, to każdy robi własny. I potem się dziwią, że użytkownicy gubią się w nich a systemy operacyjne rozrastają do niebotycznych rozmiarów by móc obsłużyć je wszystkie bez problemów.