2018/09/19 13:07:39

Тектонический сдвиг: Intel разработал новую архитектуру, которая заменит х86

Компьютерная индустрия медленно, но верно подходит к тому историческому моменту, когда закончится период безусловного доминирования архитектуры х86. Она подавила все настолько, что до 2018 года помимо x86 из всего былого процессорного разнообразия дожили только три RISC-архитектуры - ARM в мобильных устройствах, Power в серверах IBM и SPARC в продуктах Fujitsu, причем последние две имеют ограниченное распространение. О том, как Intel с помощью новой архитектуры планирует достичь кратного увеличения производительности процессоров – в статье, подготовленной специально для TAdviser журналистом Леонидом Черняком.

Удивительное долгожительство х86 поддерживалось двумя обстоятельствами: сохранявшимся ростом плотности транзисторов на кристалле по закону Мура и постоянным высокотехнологичным тюнингом архитектуры, изначально созданной для ПК. Но рано или поздно всему приходит конец. В случае х86 он обусловлен появлением новых типов нагрузок, таких как машинное обучение и другие из области искусственного интеллекта (ИИ), работа с большими объемами данных и высокопроизводительные вычисления. Системы на базе х86 оказываются слишком сложными и малоэффективными с энергетической точки зрения.

Конец наступит не сразу, он может растянуться на многие годы. Не исключено, что он не затронет ряд приложений, например, ПК, с которых началась эпоха x86. Что же касается машинного обучения, то на этапе тренинга глубинных нейронных сетей архитектура x86 уже показала свою несостоятельность, поэтому в качестве временной замены (по-английски stub, заплатка) используют графические процессоры для универсальных вычислений GPGPU. В предвидении грядущих тектонических подвижек более сотни компаний от начинающих стартапов до крупнейших вендоров заняты поиском альтернативы CPU c фон-неймановской архитектурой, среди них, естественно и Intel.

В 2015 году корпорация купила за $17 млрд компанию Altera, второго по значимости производителя программируемых матриц FPGA. Она сделала это в расчете на использование технологий Altera в реконфигурируемых процессорах, предназначенных в первую очередь для машинного обучения. В конце 2017 года Intel поведала о нейроморфном процессоре Loihi, специально предназначенном для моделирования мозговых процессов. Процессор Loihi построен на асинхронной схеме[1]. Что чрезвычайно интересно, он состоит из 130 000 нейронов и 130 миллионов связывающих их синапсов, способных образовывать пространственные, иерархические и рекуррентные топологии, в которых каждый нейрон может быть связан с тысячами других нейронов. Планируется, что в 2018 году процессоры Loihi будут переданы в университетские исследовательские лаборатории.

Intel создала нейроморфный  процессор Loihi для моделирования мозговых процессов
Intel создала нейроморфный процессор Loihi для моделирования мозговых процессов


Осознание ограниченности возможностей x86 подвело Intel к решению о необходимости радикально изменить техническую политику при разработке компьютеров с производительностью свыше одного экзабайта. Первым из них должен стать Aurora A21, за ним последуют Frontier и El Capitan. Все три будут установлены в национальных лабораториях, ведущих исследования, связанные с использованием ядерной энергии.

Вот, что сказал по этому поводу в 2015 году Эл Гара, руководящий созданием экзафлопных компьютеров в Intel:

«
Мы рассматриваем Aurora как поворотную точку, причем не только по отношению к HPC (High Performance Computing) и High Performance Technical Computing (HPTC). Полученный опыт может быть распространен на системы малого и среднего масштаба, а в долговременной перспективе он окажет влияние на весь компьютинг.
»

Это и аналогичные обещания привлекли к себе внимание серьезной компьютерной общественности и прессы. К тому же исчезло сомнение о том, почему в последние годы Intel не оказывает заметное влияние на высшие позиции в списке TOP-500 суперкомпьютеров мира.

Эл Гара
Эл Гара


Корпорация Intel явно не стремится участвовать в гонке за исчисляемое миллионами количество ядер и за мощность потребления, изменяемую десятками мегаватт. Идя своим путем, она приняла программу Exascale Computing Project (ECP), являющуюся частью национальной программы National Strategic Computing initiative, принятой в 2015 году. ECP как комплексная программа включает разработку новых архитектур, нового аппаратного, системного и прикладного программного обеспечения, а также подготовку специалистов. В результате внедрения этих мер за ближайшее десятилетие должно быть достигнуто десятикратное преимущество в производительности по сравнению с традиционным эволюционным путем.

Программа Exascale Computing Project (ECP) должна способствовать достижению десятикратного преимущества в производительности по сравнению с традиционным эволюционным путем
Программа Exascale Computing Project (ECP) должна способствовать достижению десятикратного преимущества в производительности по сравнению с традиционным эволюционным путем


В марте 2017 года в презентации, сделанной Полем Мессина, руководителем ECP были раскрыты некоторые детали проекта[2]. Он сказал, что ECP предоставляет редкую возможность для усовершенствования всей экосистемы в целом благодаря тому, что заново проектируются все ее компоненты.

ECP предоставляет возможность для усовершенствования всей экосистемы, благодаря проектированию всех компонентов заново
ECP предоставляет возможность для усовершенствования всей экосистемы, благодаря проектированию всех компонентов заново


Тогда же был опубликован общий вид дизайна вычислительного узла будущего, состоящего из трехмерной памяти 3D Stacked Memory, связанной с массивом ускорителей на простых (тонких) ядрах Thin Cores/Accelerators, и обычной памяти DRAM, поддерживающей обычные (толстые) ядра. Центральной частью здесь является массив, собранный из тонких процессорных ядер, иначе называемых процессорными элементами (Processing Element, PE). Глядя на эту схему, вспоминаются слова профессора Массачусетского технологического института Ананда Агарвала, который сказал: «Процессор – это транзистор современности».

Общий вид дизайна вычислительного узла будущего
Общий вид дизайна вычислительного узла будущего


В рамках ECP корпорацией Intel ведется разработка новой архитектурной концепции CSA (Configurable Spatial Accelerator), реализующей этот дизайн. Название можно перевести как "конфигурируемый пространственный ускоритель". Но слово ускоритель не должно вводить в заблуждение. Речь не идет об ускорителе в традиционном смысле, служащим дополнением к CPU, не о каком-то сопроцессоре, а совершенно самостоятельных устройствах для обработки потоков данных (dataflow engines), собранных из PE.

С точки зрения истории у CSA есть предшественники. Нечто похожее можно обнаружить в исследованиях, выполненных в Эдинбургском университете, где был создан CFA (Configurable Flow Accelerator), а также в разработках британской компании Graphcore, создавшей IPU (Intelligent Processing Unit), предназначенный для машинного обучения. В нем совмещены training и inference.

В отличие от экспериментальных CFA и IPU, остающимися предметом исследования, архитектура CSA разработана под конкретную задачу, поставленную Минобороны США. Патентная заявка на CSA была подана в декабре 2016 года, она была удовлетворена 5 июля 2018 года. Публичного анонса CSA пока еще не было, но 3 августа 2018 года на портале Nextplatform был опубликован обзор патента на CSA.

Проект CSA двуедин. В нем реализованы две переплетающиеся между собой идеи: одна - возможность конфигурирования мультипроцессорной системы под решаемую задачу; другая - выделение из задачи графа потоков данных (dataflow graph) и перенос его на подготовленную конфигурацию. Разделить их сложно.

Возникает вопрос: в программируемых матрицах FPGA тоже выполняется реконфигурирование, чем этот процесс отличается от CSA? Дело в том, что массив FPGA по своей природе более низкоуровневый. Как следует из названия field-programmable gate array - это массив, состоящий из вентилей, программируемых в процессе эксплуатации с использованием таких средств как Verilog или VHDL. В CSA элементом служит процессор PE, а реконфигурирование осуществляется посредством перепрограммирования коммутаторов, объединяющих PE. Такую схему можно было бы по аналогии назвать FPPA от field programmable PE array, заменив gate на PE. Элемент PE здесь играет роль транзистора, как предсказывал Ананд Агарвал. В CSA впервые создана многоуровневая модель процессора, состоящего не из транзисторов, а процессоров нижнего уровня. В отличие от единообразных транзисторов, PE должны быть целочисленными процессорами, процессорами с плавающей точкой или какими-то специализированными процессорами.

А далее на готовую конфигурацию накладывается граф потоков данных c использованием технологии явного исполнения графа EDGE (Explicit data graph execution). Технология EDGE известна с начала двухтысячных, она служит для разбиения исходного кода на гиперблоки размером в несколько тысяч команд с последующим статическим размещением. Эта процедура напоминает ассемблирование с тем отличием, что гиперблоки выполняются не последовательно, а параллельно. Идея EDGE не могла быть воплощена вплоть до появления архитектур типа CSA. Идея явной поддержки потоков данных сейчас переживает второе рождение, например она реализована в процессоре Microsoft E2 EDGE.

Раньше других процессорами на основе CSA будет комплектоваться суперкомпьютер Aurora, создаваемый для Аргоннской национальной лаборатории Министерства энергетики США с запланированной производительностью 1,2 экзабайта. Его запуск намечен на 2022 год.

Примечания