Справочник - Материнские платы и процессоры

         

Терафлоповое будущее Intel


Евгений Патий
"Экспресс Электроника"

Область высокопроизводительных вычислений всегда находилась в стороне от мейнстрима. Рынок компьютеров, серверов и рабочих станций переживал взлеты и падения, развиваясь по четко очерченной траектории, однако серьезные системы выглядели на фоне привычных компьютеров, словно пришельцы с другой планеты: все знали о неслыханной производительности, однако не задумывались, за счет чего она достигается и как может быть задействована с бытовой точки зрения. Разумеется, HPC-системы (HPC — High Performance Computing) созданы не из академического интереса, а для решения довольно широкого круга задач — гидродинамики, макроэкономических экспериментов, ядерной отрасли и т. д. По определению компании Intel, HPC — это совокупность аппаратных и программных средств и языков программирования, которая позволяет решать задачи, ранее считавшиеся невыполнимыми. Причем подчеркивается: «и все это по приемлемой цене». Как правило, современные высокопроизводительные вычислительные комплексы построены с применением кластерного подхода — ведь отдельно взятый компьютер не всегда способен продемонстрировать требуемое быстродействие. Иными словами, в таком случае поставленная задача все-таки будет решена, однако для этого потребуется в десятки и сотни раз больше времени. На сегодня приемлемыми считаются следующие показатели: обработка 60 тыс. транзакций в секунду, средняя латентность отклика системы на уровне 30 мс и возможность оперирования 32-Гбайт базой данных в реальном времени.

Замечено, что производительность вчерашних суперкомпьютеров сегодня соответствует уровню рядовых ПК. Примем за единицу производительности пресловутый «терафлоп» — триллион вычислительных операций в секунду, и вспомним, что первый по-настоящему успешный суперкомпьютер (CDC 6600, эксплуатировавшийся в 1965–1977 гг.) демонстрировал производительность на уровне 9 мегафлоп, а быстрейший представитель рейтинга Top 500 до 2000 года, компьютер ASCI Red, — уже 1 терафлоп (эксплуатировался в 1997–2006 годах).
Наш современник Intel Endeavor в 2006 году показал результат 6,85 терафлоп, и при этом он был только на 68-м месте в Top 500.

Интересно, что ASCI Red построен на основе 9298 процессоров Pentium II Xeon, а Intel Endeavor — на базе «всего лишь» 464 чипов Xeon 5100: это говорит о существенном росте производительности отдельно взятого процессора. Таким образом, «терафлоп» не такая уж неосязаемая категория, а в чем-то даже вчерашний день. Однако подобного уровня производительности от одного процессора еще никому не удавалось достичь до недавнего времени.

Совершенно очевидно, что сегодняшний уровень развития технологий не позволяет получить вожделенный терафлоп на одном ядре одного процессора. Но мы прекрасно знаем, что в настоящее время понятия «один процессор» и «одно ядро» вовсе не означают одно и то же, поэтому теоретически есть возможность достичь фантастической производительности — для этого нужен процессор с достаточным количеством ядер. Как отмечалось выше, суперкомпьютер, состоящий из 464 двухъядерных процессоров Intel Xeon 5100, преодолел отметку 6,85 терафлоп, то есть можно предположить, что каждый процессор внес свою небольшую лепту — примерно 0,015 терафлоп. Нетрудно подсчитать, сколько потребуется подобных процессоров и ядер, чтобы достичь производительности в 1 терафлоп. Скажем лишь, сегодня для этой цели Intel хватило 80 ядер — в создании этого устройства ключевые роли сыграли индийский исследовательский центр Intel, находящийся в Бангалоре, и лаборатория в Орегоне. Экспериментальный 80-ядерный процессор достиг одного терафлопа. Не исключено, что когда-нибудь подобной производительностью будет обладать и отдельно взятое процессорное ядро, но это произойдет не завтра, и даже не послезавтра: сегодня мы имеем возможность ознакомиться с инициативой Intel Tera-scale Computing Research Program, в рамках которой корпорация экспериментирует с высокопроизводительными вычислениями. Специальная исследовательская группа Intel занимается работами в области энергоэффективного дизайна для грядущих многоядерных процессоров, а также разработками в области межъядерных коммуникаций.



На IDF Fall ‘ 2006 компания Intel продемонстрировала определенные результаты в данной области — это и был тот самый процессор с восемью десятками ядер. Каждое ядро содержит два программируемых блока вычислений с плавающей точкой, которые могут быть использованы для точных вычислений в области компьютерной графики, научного или финансового моделирования и т. д. С точки зрения дизайна, такие блоки гораздо сложнее модулей целочисленной арифметики, в которых, по сути, реализованы достаточно простые алгоритмы.

Как утверждает Intel, в ближайшее десятилетие интерактивные программные сервисы, обслуживаемые глобальными центрами обработки данных с миллионами серверов, позволят пользователям получать доступ к персональной информации, мультимедиа и приложениям с любого высокопроизводительного устройства, запускать фотореалистичные игры, совместно просматривать видео в режиме реального времени и вести поиск мультимедийной информации. Для решения подобных задач требуется невероятная по нынешним меркам вычислительная мощность, в то же время каждое ядро у продемонстрированного 80-ядерного процессора работает на рядовой частоте 3,1 ГГц.



Следует отметить, что созданная инженерами Intel 80-ядерная микросхема была необходима вовсе не для того, чтобы побить какие-либо рекорды: на этом экспериментальном процессоре (который, кстати, по своему набору инструкций несовместим с x86) отрабатываются технологии межкомпонентных соединений на участках «ядро-ядро» и «ядро-память». Конструктивно процессор представляет собой матрицу ядер 8×10, причем каждое ядро содержит пятипортовый маршрутизатор, отвечающий за взаимодействие ядер. Как утверждают специалисты Intel, такая схема позволяет добиться более слаженной работы всех ядер, нежели те подходы, что применяются в современных массовых процессорах.

Конструктивно процессор представляет собой матрицу ядер 8×10, каждое из которых содержит пятипортовый маршрутизатор, отвечающий за взаимодействие ядер Довольно интересно выглядят решения, реализованные как часть концепции «энергоэффективная производительность» — суммарная рассеиваемая мощность 80-ядерного процессора находится на довольно невысоком уровне и составляет 62 Вт.


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

Не менее значимой инновацией является микросхема статической памяти (SRAM) объемом 20 Мбайт, пакетированная с процессором и размещенная на одном кристалле с ним. Пакетирование в процессоре позволяет создать тысячи межкомпонентных соединений и обеспечивает полосу пропускания канала между памятью и ядрами шириной более 1 Тбайт/с.

Intel располагает некоторыми прогнозами относительно дальнейшего увеличения производительности экспериментального процессора — за счет хорошо знакомого наращивания тактовой частоты ядер (см. таблицу).


Частота ядра, ГГц Напряжение, В Рассеиваемая мощность, Вт Пропускная способность, Тбит/с Производи-
тельность, Тфлоп
3,16 0,95 62 1,62 1,01
5,1 1,2 175 2,61 1,63
5,7 1,65 265 2,92 1,81
Таблица. План развития терапроцессора И сама же корпорация признает ущербность такого пути — достаточно лишь взглянуть на значения рассеиваемой мощности. Вместо этого предлагается довести до совершенства схему взаимодействия между процессорными ядрами, и в дальнейшем вместо поднятия частоты наращивать количество ядер. В этом и заключается основная идея Tera-scale computing в видении Intel: от нескольких ядер ко многим, когда понятие «многоядерность» будет подразумевать не скромные два или четыре ядра, а десятки и сотни. Как обычно, Intel апеллирует к закону Мура и планирует в ближайшие несколько лет удваивать количество транзисторов каждые 18–24 месяцев. Но только на ином пути — с целью увеличения числа ядер.

В настоящее время корпорация ведет около сотни различных исследовательских проектов, так или иначе связанных с инициативой Terascale computing. Приставка «Tera» в данном случае указывает на оперирование терабайтами данных при «терафлоповой» производительности.


С обывательской точки зрения, где не нужны дата-центры или моделирование погодных условий, выдвигаются прежние аргументы: обработка трехмерной графики и мультимедиаданных, но уже в реальном времени. В качестве примера Intel приводит возможность значительного повышения качества видеоролика, полученного с обычной любительской видеокамеры. При этом можно будет накладывать различные эффекты, изменять параметры изображения, разрешение — и все это в реальном времени, не утруждаясь промежуточной обработкой.

На сегодня работа по созданию терапроцессоров и платформ идет в следующих направлениях: программируемость, адаптивность, надежность и масштабируемость. Как уже не раз отмечалось, все преимущества многоядерной архитектуры легко сводятся на нет неоптимизированным программным обеспечением. И если в том, что программа не способна работать, например, с набором инструкций SSE на одноядерном процессоре, большой беды не было, то в случае ее изначальной однопоточности никакого преимущества не будет — ни на двухъядерном, ни на 80-ядерном процессоре. Intel прекрасно понимает последствия упорного нежелания программистов проектировать свои продукты без учета современных тенденций микроэлектроники и всячески пытается наставить программистскую братию на путь истинный — проводит тренинги и курсы, предлагает специальные средства разработчика и т. п.

Под адаптивностью компания понимает следующее: платформа должна быть способна самостоятельно динамически менять собственную конфигурацию в соответствии с актуальными потребностями приложения в производительности. Кроме того, должны отслеживаться и изменения в конфигурации аппаратуры, например, учитываться энергетические и термальные факторы. Увеличение комплексности всего решения (значительное наращивание числа ядер и соответствующих им маршрутизаторов) предъявляет весьма высокие требования к надежности: при всей привлекательности концепции Terascale computing нельзя допустить понижения процента выхода годных чипов. Кроме того, Intel уделяет большое внимание масштабируемости — при простом добавлении определенного количества процессорных ядер требуется, чтобы аппаратное и программное обеспечение пережили эти изменения совершенно безболезненно, будучи изначально подготовленными с учетом определенного «запаса».


Возможности наращивания количества микропроцессорных ядер напрямую зависят от возможностей технологических норм — сейчас инженеры компании выясняют пределы этого количества для техпроцессов 45, 32 и 22 нм. Кроме того, определяется технологический набор компонентов для отдельно взятого ядра, с целью создания конечных продуктов, ориентированных на удовлетворение различных потребностей рынка: обработка видеоконтента высокого разрешения, криптография, DSP или графика. Зачастую нет нужды создавать один универсальный процессор, гораздо разумнее разработать несколько специализированных.

В заключение хотелось бы отметить: в качестве даты коммерческого запуска терапродуктов компания Intel указывает 2010 год. Не исключено, что нынешний 80-ядерный чип и коммерческие образцы будутсовершенно непохожи, однако очевидно, что концепция «сеть из ядер» останется неизменной.
Не исключено, что нынешний 80-ядерный чип и коммерческие образцы будут совершенно непохожи, однако очевидно, что концепция «сеть из ядер» останется неизменной

Содержание раздела