Унификация «железа»: эволюционный путь к MegaSoC

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Человеческий мозг, по всей видимости, представляет из себя скорее набор децентрализованных P2P-отделов с достаточно перекрываемым функционалом, чем централизованную систему со строго выраженным делением.

Мозг - SoC?!
Упрощённая схема отделов мозга
Упрощённая схема отделов мозга

Очевидно, выраженные отделы мозга таки существуют, однако функции изрядно перемешаны. Таким образом, в вычислительном смысле органический мозг похож именно на нейронный процессор, коим он на самом деле и является.

Тем занимательнее, параллельно с развитием понимания устройства органических компьютеров, следить за эволюционным перемешиванием функций исполнительного IT-Hardware, о чём и пойдёт речь в данной статье.

Дисклеймер: данная статья не претендует на глубокое профильное погружение в упоминаемые аспекты, но призвана системно взглянуть на современные и грядущие тренды в исполнении кода электронными вычислителями.

Классическая вычислительная система

Практически все вычислительные машины в ретроспективе последнего полувека были устроены по принципу CPU+RAM+ROM (+GPU, чтобы "Hello world!" смог прочитать даже кожаный мешок своим визуальным восприятием).

Принципиальная схема классического компьютера
Принципиальная схема классического компьютера
Микро-ликбез для самых далёких от железа.
  • CPU (Central Processing Unit) - он же ЦП (Центральный Процессор)

    Отвечает непосредственно за исполнение микрокода и генерацию запросов. Совершенно не должен ничего помнить.

  • RAM (Random Access Memory) - она же ОЗУ (Оперативное Запоминающее Устройство)

    Быстрая, но кратковременная память, как раз необходимая чтобы ворочить [только текущие] "мысли" Центрального Процессора. Не должна уметь ничего считать и хранить данные после завершения обращения.

  • ROM (Read Only Memory) - она же ПЗУ (Постоянное Запоминающее Устройство)

    Исторически долгая в обращении память, но умеющая в самом прямом смысле сохранять необходимую информацию на [условно] любой срок.

  • GPU (Graphic Processing Unit) - он же ГП (Графический Процессор)

    Данный процессор принципиально идентичен Центральному, однако "заточен" под выполнение большого количества простых однотипных вычислений, что хорошо подходит для генерации видеосигнала. Так же как и ЦП, идейно не должен ничего помнить.

Однако, со стремительным развитием вычислительной техники и возлагаемых на неё задач, определённые мелкие операции стало проще выполнять "самому", а не тратить время и ресурсы на передачу данных дискретному узлу. Таким образом стали появляться гибридные чипы и, если некоторые из них для нас сегодня очевидны и понятны, то самые современные решения действительно заставляют радикально пересматривать структуру цикла вычислений, что очевидно должно отражаться и в оптимизации исполнительного кода.

Эволюция CPU в CPU+RAM+GPU

Первым гибридным чипом стал непосредственно CPU, приобретя внутреннюю кэш-память, буквально исполняющую роль микро-RAM SoC. По аналогии, это как выучить таблицу умножения, и "запоминать" промежуточные вычисления без обращения к дополнительным ресурсам. Кэш память безупречно доказала свою эффективность и давно выросла с кб до десятков Мб, попутно обрастая новыми слоями (сначала появился L1, и только потом L2 и тем более L3). И именно благодаря успеху такой интеграции, инженеры стали в активно "сближать" с CPU и дискретную RAM (расширяя и ускоряя шину обращения к памяти).

ZEN3 архитектура
ZEN3 архитектура

Отличным примером интеграции дискретной RAM на сегодняшний день является микро-архитектура ZEN3, демонстрирующая зависимость производительности от частоты памяти аж до ~50%, что ещё лет 5 назад было на уровне единиц % и не представляло никакого практического значения.

И, конечно, говоря о гибридизации CPU нельзя не упомянуть о внедрении GPU-ядер. Сегодня этим уже никого не удивишь, но 8 лет тому назад, когда идея реализовать простейшие графические команды на единой подложке с CPU только-только начала обретать воплощение (к слову, заместив простейшие GPU, распаянные в качестве южного моста на MB) - это был настоящий прорыв!

Таким образом, дискретный CPU превратился в SoC: CPU+RAM+GPU, и этот успех предвосхитил многочисленные трансформации, произошедшие и с остальными прото-узлами.

Эволюция GPU в GPU+RAM+ROM

Параллельно развитию CPU - развивались и дискректные GPU. Имея исторически альтернативные задачи (в виде многочисленных идентичных вычислений) GPU быстро развился до модуля с собственной RAM.

Пока общая производительность CPU слабо зависела от эффективности RAM (о чём упомянуто выше), а GPU изначально полагался именно на скорость однотипных вычислений, модули GDDR (для работы с GPU) значительно вырвались вперёд по частотам. Теперь же, когда и CPU стали RAM-dependent, анонсированные чипы DDR5 значительно сравнялись по своим характеристикам к GDDR5, но об этом чуть позже.

Radeon PRO SSG: 16GB HBM2, 484 GBps, 2TB SSG >_<
Radeon PRO SSG: 16GB HBM2, 484 GBps, 2TB SSG >_<

Но на одном лишь добавлении RAM - развитие GPU отнюдь не остановилось. Когда к одному адаптеру подключено до 6 мониторов 4K, и вы ворочаете множество слоёв в рендере или CAD/CAE, количество необходимой "оперативной" памяти внезапно устремляется к сотне Гб и выше. Именно это побудило разместить на модуле GPU ещё и собственную выделенную ROM! Разумеется, речь о твердотельной памяти SSD (которую в след за GDDR назвали SSG), однако объём в 2TB таки вызывает некоторый трепет даже сегодня, спустя 4 года.

Итого, дискретный GPU превратился в [почти самодостаточный] модуль GPU+RAM+ROM.

Эволюция ROM в ROM+RAM

Хронологически - следующей под нож эволюции попала память ROM. В попытке увеличить скорость r/w-операций HDD, как мастодонты ROM, постепенно наращивали физическую скорость вращения диска. Однако, достигнув ~10..15krpm столкнулись с существенным снижением надёжности и увеличением нагрева, что послужило толчком к интегрирации собственной подсистемы RAM. Сейчас кэшем в 256Mb на HDD уже не удивить, а франкенштейны SSHD, ставшие пересменком эпох, и вовсе имели гигабайты. Собственно, SSD в HDD выполняли роль RAM, но, со стремительным снижением стоимости, ROM быстро стали полностью состоять из SSD.

HDD > HDD+SSD(RAM) > SSD
HDD > HDD+SSD(RAM) > SSD

Совершенно логично, что спустя непродолжительное время - растущие задачи потребовали RAM уже в SSD-ROM! Таким образом, в современных PCI-E x3 NVME SSD полноценный DRAM-кэш уже стал достаточно распространённой вещью, существенно ускоряя r/w CPU-обращения к и без того внушительным параметрам.

Где нужны такие скорости ROM?

В это сложно поверить, но в HPC (High Power Computing) для CAM/CAE задач уже более 5 лет даже NVMe SSD являются самым узким местом. Например, типовой небольшой гидродинамический расчёт в Ansys весит около 200-300Gb, и работа с ним - тяжелейшее испытание именно для ROM-систем.

Именно так HDD ROM превратились в SSD+RAM, а на рынке уже вовсю развиваются PSI Gen4 SSD.

Эволюция RAM в RAM(ROM)+CPU

И, в качестве апогея, нельзя не рассмотреть, во что же превратилась RAM. В целом, по ряду объективных причин (описано выше), RAM для CPU развивалась достаточно неспешно. Однако, существенное ускорение шины памяти, а так же ежегодный рост трафика данных порядка 150%/y таки привели к двум очень значимым изменениям RAM.

Во-первых, применение PIM (processing-in-memory) - а это в самом буквальном смысле embedded CPU - обещает нам почти трёхкратный прирост производительности.

Samsung DDR с PIM-модулями
Samsung DDR с PIM-модулями

А во-вторых, DDR5-RAM будет иметь по 0.5Tb памяти за ОДНУ планку, коего объёма у многих пользователей нет даже в виде ROM. RAM-disk уже достаточно распространённое явление, и радикальное увеличение/ускорение RAM в купе с развитием облачных сервисов может привести к принципиальному пересмотру вычислительных систем.

Таким образом, RAM превратилась в RAM+CPU с мощным заделом на роль моно-сессионного ROM.

Итого, MegaSoC

На сегодняшний день, строго-дискретные CPU, GPU, ROM и RAM превратились в сильно перемешанные многофункциональные отделы. Вот только задумайтесь - CPU получили кэш, чтобы забрать часть расчётов у RAM, а RAM получило собственный CPU, чтобы теперь уже забрать часть расчётов у CPU; ROM получило собственную RAM, а GPU вообще стал мини-компьютером:

  • CPU+RAM+GPU - всё ещё скорее вычислитель, но и в графику немного может, и запомнить что-то несложное

  • GPU+RAM+ROM - тоже всё ещё про графику, но рабочие проекты может целиком держать в себе

  • SSD+RAM - вроде пока ещё ROM, но граница с RAM стремительно стирается

  • RAM(ROM)+CPU - более чем RAM, да ещё и посчитать немного может, и удержать огромный массив на активную сессию

Современные отделы компьютера очень похожи по своей сути на отделы мозга, всё больше вовлекаясь в каждый процесс с разным весовым коэффициентом. И в самое ближайшее время мы можем ожидать архитектуру "MegaSoC" - кластер из нескольких взаимо-интегрированных подсистем.

Очевидно, нас ждёт распространение нишевых решений: без RAM (SSD-RAM only), без ROM (Tb RAM-disk thin-client) и прочие комбинации, которые ещё год назад казались невозможными, или как минимум дикими.

Ну а что будет ещё дальше, это полностью в наших руках ;)

Список использованных источников

  • https://www.cognifit.com/ru/brain-parts

  • https://www.amd.com/en/products/professional-graphics/radeon-pro-ssg

  • https://www.extremetech.com/extreme/232416-amd-announces-new-ssg-a-gpu-with-1tb-of-ssd-storage-attached

  • https://mysupport.netapp.com/NOW/public/eseries/sam/index.html#page/GUID-8538272A-B802-49D9-9EA2-96C82DAD26A2/GUID-74019039-D7CD-4628-8BE5-334B47DD94BE.html

  • https://news.samsung.com/global/samsung-brings-in-memory-processing-power-to-wider-range-of-applications

  • https://wccftech.com/samsung-develops-512-gb-ddr5-module-speeds-up-to-7200-mbps-mass-production-end-2021/

  • https://www.pcgamer.com/amd-zen-3-infinity-fabric-lottery/

  • https://www.ferra.ru/news/computers/pokazana-raznica-v-skorosti-raboty-processorov-s-bystroi-i-medlennoi-operativnoi-pamyatyu-23-05-2020.htm

  • https://www.seagate.com/ru/ru/tech-insights/sshd-vs-ssd-hybrid-drive-for-desktop-gaming-pc-master-ti/

  • https://www.researchgate.net/figure/Possible-evolution-of-total-global-data-traffic-toward-2030-5-9_fig1_332111132

  • https://searchbusinessanalytics.techtarget.com/definition/processing-in-memory-PIM

Источник: https://habr.com/ru/post/575928/


Интересные статьи

Интересные статьи

Выгрузка пользователей из 1C ЗУП в Битрикс24 или правдивая история о том как настроить интеграцию 1С-Битрикс24 с ЗУП без 1С-ника.В жизни так бывает, причём бывает чаще чем хотелось бы, хоть в целом и ...
Всем привет. Тетработ – название линейки разрабатываемых нами роботов и название нашего стартапа в сфере мехатроники и робототехники. Мы изобретаем и создаем роботов на н...
Решения для больших компаний обычно должны выдерживать высокие нагрузки. Когда в штате много десятков тысяч человек, и значительная доля из них ежедневно пользуются ...
Кто бы что ни говорил, но я считаю, что изобретение велосипедов — штука полезная. Использование готовых библиотек и фреймворков, конечно, хорошо, но порой стоит их отложить и создать ...
Здравствуйте, хочу рассказать о том, как я пришёл к созданию своей первой относительно серьезной игры для IOS и Android. Предыстория Ещё в средней школе, мы с другом хорошо относились к урок...