Всплеск кеша в Telum означает седьмое небо для POWER11?

Всплесккешавtelumозначаетседьмоенебодляpower11

У AnandTech есть отличный анализ нового процессора мэйнфреймов z / Architecture от IBM Telum , преемника z . (так вы можете считать это “z” 32 “если хотите) запланировано на 2022. Самая примечательная часть этой статьи – необычный подход Telum к кэшированию.

Большинство обычных процессоров (имея в виду, что мэйнфреймы вряд ли являются традиционными, по крайней мере, с точки зрения конструкции системы), включая чипы OpenPOWER, имеют несколько уровней кэш-памяти; так и z 32. Кэш L1 (разделенный на инструкции и данные) является частным для ядра и ближайшим к нему, обычно измеряется двузначными килобайтами в современных разработках. Затем он распространяется в L2, который также обычно является частным для отдельного ядра и имеет трехзначный килобайтный диапазон, а затем некоторый уровень кеш-памяти L3 (плюс даже L4), который часто используется всем процессором и измеряется в мегабайтах. Размер кэша и то, как могут быть размещены записи кэша (т. Е. Ассоциативность), представляет собой компромисс между задержкой поиска в более крупном кэше, соображениями относительно свободного места на кристалле и потребляемой мощностью по сравнению с преимуществами производительности, заключающимися в меньшем количестве промахов в кэше и уменьшении использования более медленной периферийной памяти.

В то время как каждый проект имеет определенное количество L1, безусловно, были процессоры, которые обходились без других уровней кэша. Большая часть запоздалой архитектуры Hewlett-Packard PA-RISC вообще не имела кеша L2, при этом кеш L1 был необычно большим в некоторых модулях (1997 PA – 8200 имел 4 МБ общего L1, по 2 МБ для данных и инструкции). Ближе к дому PowerPC 1080 “G5” (производный от POWER4) не нес L3; 2005 двухъядерный 970 MP, используемый в Power Mac G5 Quad, IBM POWER 192 и YDL PowerStation, вместо этого имело 1 МБ L2 на ядро, которое было на большом сторона той эпохи. И наоборот, Intel Itanium 2 может иметь до 128 МБ кеш-памяти L4; Процессоры Haswell с GT3e Iris Pro Graphics могут использовать eDRAM встроенного графического процессора в качестве кэша жертвы L3 для тех же целей, что и L4, хотя эта функция была удалена в Skylake. Однако Sforza POWER9 в рабочих станциях Raptor более типичен для современных чипов с тремя уровнями кэш-памяти: Dual-8 11 CY 960 на этом компьютере, на котором я печатаю, есть 35 / КБ L1, 530 КБ L2 и 11 МБ L3 для каждого из восьми ядер ЦП. Напротив, AMD Zen 3 использует общий 32 MB L3 между восемью ядрами, при этом меньшее количество ядер разбивает горшок на более дорогие детали.

При том, что деньги и энергопотребление в мэйнфреймах меньше или меньше, большие многоуровневые кэши напрямую управляют делом. IBM z 16 «ящик» процессора (в типичной системе пять ящиков) делится на четыре вычислительных процессора, каждый CP содержит 14 ядра с 185 / 185 K L1 (сравните с Apple M1 с 256 / 256 K) и разделить 4 МБ / 4 МБ L2 на ядро ​​в паре с 320 МБ общего L3, контролируемого одним системным контроллером, который обеспечивает колоссальные 970 МБ общего L4. Это обеспечивает пропускную способность и избыточность, ожидаемую крупными институциональными клиентами IBM, которые зависят от надежности обработки транзакций. SC обслуживает четыре CP почти как северный мост старой школы, но с кешем L4, а не с оперативной памятью.

Телум мог бы удвоить ставку на этом пути z 16 буквально удвоился по z 14 (дважды L3, почти вдвое меньше L4), но вместо этого он вообще обходится без L3 и L4. L1 переходит на 320 / 400 К, а в оттенки воздушных шаров PA-RISC L2 до 35 МБ на ядро, с восемью ядрами на чип. Давайте приблизим кубик.

7 нм 530 мм 2 die показывает кэш L2 в центре восьми ядер, что уже указывает на то, как IBM устроила его: ядра могут проникать в кеш-память других ядер. Если строка кэша вытесняется из L2 ядра и ядро ​​может найти для нее место в другом ядре, то строка кеша переходит в , что L2 ядра и помечен как L3 . Этот процесс не является бесплатным и вызывает большую задержку, чем традиционный L3, когда необходимо извлечь строку L3, хранящуюся в другом месте, но достаточный L2 делает это условие менее частым, и в менее распространенном случае, когда ядру требуются данные, а какое-то другое ядро ​​уже выселил его в это ядро ​​как L3, он может просто принять его. В целом, эта стратегия означает лучшее использование кеша, который лучше адаптируется к более разнообразным рабочим нагрузкам, поскольку большое общее пространство L2 можно гибко перенаправить как «виртуальный L3» на ядра с более высокими требованиями к полосе пропускания.

Но это еще не все, потому что у Telum есть еще одна уловка для «виртуального L4». Напомним, что z 16 в стандартной системе используется пять ящиков; у каждого ящика есть SC, который поддерживает кэш L4. Telum – это два чипа в пакете, с четырьмя пакетами в блоке (эквивалент az 16 «ящик») и четыре блока в систему. Если вы можете подключиться к L2 других ядер, чтобы использовать их в качестве L3, то это простой концептуальный скачок, чтобы добраться до других чипов (даже в разных единицах ) и используйте их L2 как L4. Опять же, задержка превышает более традиционный подход L4, но это означает, что теоретически типичная система Telum имеет в общей сложности 8 ГБ, которые могут быть перенаправлены как L4 (7936 Мб, если не считать L2 отдельного ядра). С участием 256 ядер в этой системе обязательно должно быть место где-то быстрее, чем основная память.

Что делает это интересным для OpenPOWER, так это то, что z / Architecture и POWER, естественно, имеют тенденцию к взаимному опыту. (История также в пользу POWER. Чипы POWER уже первыми вытеснили IBM i с RS 128 – на основе A 35 и, наконец, с проектом eCLipz; IBM AS / 512 a / k / a i5 / OS a / k / ai раньше использовалось как индивидуальное оборудование AS / 512 архитектура.) z / Architecture – это определенно не Power ISA, но некоторые микроархитектурные функции иногда используются совместно, например, POWER6 и z 11, которые возникли в результате общего процесса разработки и в результате имели схожие технологии изготовления, исполнительные блоки, блоки с плавающей запятой. , автобусы и трубопроводы.

ВЛАСТЬ10 почти наверняка уже записан на пленку, если IBM собирается приблизиться к четвертому кварталу 2021, так что любое влияние Telum на его создание уже произошло. Но Telum на уровне микроархитектуры наверняка больше похож на POWER, чем на z 32 сделал: больше нет разделения CP / SC, а есть ядра общего назначения в топологии NUMA, более похожие на POWER9, более типичные контроллеры PCIe (в данном случае PCIe 5.0) для ввода-вывода и большей зависимости от специализированных встроенных ускорителей (главная особенность Telum – это ускоритель AI для SIMD, матричной математики и вычисления функций быстрой активации; без сомнения, часть его разработки началась с POWER 11 собственный ускоритель). Откровенно говоря, это похоже на рецепт СИЛЫ 12. В то время как двухпроцессорный POWER 12 рабочая станция может не иметь особой потребности в L4, стратегия «виртуального L3» действительно может окупиться из-за разнообразия рабочих нагрузок, которые приходится выполнять рабочим станциям и серверам, не относящимся к мэйнфреймам, и на на четырех- или восьмипроцессорном сервере доступность виртуального L4 начинает перевешивать любые недостатки, связанные с задержкой.

Общие черты не следует переоценивать, поскольку Telum также является «всего лишь» SMT-2 (по сравнению с SMT-4 или SMT-8 для POWER9 и POWER 12), а глубокий конвейер с частотой 5 ГГц и выше, обеспечиваемый уменьшенным количеством SMT, не соответствует более короткому конвейеру и более низким тактовым частотам на текущих поколениях POWER. Но это всего лишь часть микросхем, настраиваемых для соответствующих рынков, и если IBM удастся реализовать этот трюк для z / Architecture, это будет небольшой прыжок к тому, чтобы заставить технологию работать на POWER. Предполагая , к тому времени у нас не будет ИМО, о котором нужно беспокоиться , это действительно может быть чем-то, чего стоит ждать для будущих поколений процессоров и поистине уникальное достижение в архитектуре.