Наша прошлая статья подробно описала возможности процессорных архитектур ближайшего будушего. Они должны будут придти на смену современным Intel Core и AMD K8/K10 через полтора-два года. Однако сейчас уже ведутся более перспективные разработки, способные со временем вытеснить x86-архитектуру в принципе. Несколько лет назад Intel хотела проделать подобное представив процессор Itanium, но данную идею постигла неудача. Сейчас известно, что одной из очень перспективных разработок процессорного гиганта является проект Tera-scale. Недавно в его рамках был создан прототип 80-ядерного процессора, после чего его продемонстрировали широкой публике. В этой статье описывается устройство нового сверхпроизводительного чипа, а также перспективы начала его массового производства.
Недавно компания Intel обнародовала восемь новых технических документов о своем 80-ядерном процессорном прототипе Tera-scale, который является на сегодняшний момент одним из наиболее производительных решений в операциях с плавающей точкой. Первая информация об этой новой разработке компании Intel появилась весной прошлого года, а уже менее чем через год был продемонстрирован действующий прототип, преодолевший рубеж производительности в 1 TFLOPS. В этой статье мы попытались приоткрыть завесу тайны над потенциальной "убийцей" архитектуры x86 - платформой Tera-scale.
В настоящее время над проектом Tera-scale работают более 10 независимых команд специалистов Intel. Они занимаются проектированием и разработкой элементов новой платформы, начиная с электрических схем и заканчивая программным обеспечением.
80-ядерный процессор в системной плате
Еще в феврале этого года, процессорный гигант представил прототип чипа, построенного в соответствии с 65 нм техпроцессом. Он объединял вместе 80 независимых ядер, и его частота составляла 3.16 - 5.80 ГГц. В шести различных тестах, отражающих производительность систем в традиционных вычислительных операциях, прототип процессора Tera-scale смог показать 1.01 TFLOPS параллельных вычислений при входной мощности всего лишь 62 Вт, 1.63 TFLOPS при частоте 5.10 ГГц и мощности 175 Вт, 1.81 TFLOPS при частоте 5.70 ГГц и мощности 265 Вт. Хотя эти результаты не могут не впечатлить, то, как этого добилась Intel, впечатляет еще больше.
Готовая логика
Инженеры Intel активно использовали уже готовые логические компоненты для создания своего прототипа. Это означает, что арифметические модули, контроллеры памяти, внутренние технологии маршрутизации, кэш-память и многие другие элементы прототипа были использованы либо в том же виде, в каком они уже имеются сейчас, либо же в них были внесены минимальные изменения. Этот подход позволил компании создать действующий прототип новой платформы менее чем за год. Впервые о проекте Tera-scale официально заговорили в марте 2006 года.
Сборная конструкция
Одним из наиболее существенных преимуществ платформы является ее "сборная конструкция". По сути Intel удалось создать процессор, для которого не важно какой вычислительный движок заключен в каждом из ядер. Это позволит в будущем, используя единую логическую систему, создавать сложнейшие вычислительные системы, которые будут собираться как "конструктор", для решения самых различных задач на базе одной платформы.
80 гомогенных ядер прототипа Tera-scale
Это стало возможным благодаря использованию новой шинной архитектуры, позволяющей любому ядру связываться напрямую с любым другим ядром по методу "один к любому". Сам по себе прототип использует 80 однородных ядер, но, по заявлению специалистов компании, число используемых ядер не ограничено, и они отнюдь не должны быть однородными.
Связь с ядрами
Intel использует многоуровневую коммуникационную систему в своей платформе Tera-scale. Представленный прототип чипа состоит из десяти блоков (узлов), каждый из которых включает по восемь ядер. В свою очередь каждый узел может обращаться к любому другому узлу и затем уже к любому ядру, входящему в его состав, в пределах процессора. Каждое ядро напрямую может обращаться к любому ядру из своего узла, но требует использования связи "узел-к-узлу" при обращении к ядрам за пределами своего узла. По словам представителей процессорного гиганта, подобная система маршрутизации, применяемая в Tera-scale, позволяет любому элементу в пределах узла связываться с любым элементом на чипе.
При этом отмечается, что этими элементами не обязательно должны быть вычислительные ядра. По сути, в рамках одного узла могут быть объединены разнородные ядра. При этом сам узел не обязан содержать что-либо кроме системы коммуникационного маршрутизатора. Это означает, что платформа Tera-scale позволяет совершенно без ограничений объединять в рамках чипа цифровые процессоры сигналов, вычислительные ядра или другие элементы.
Таким образом компании удалось создать на одном чипе в полном смысле "многокомпьютерную" систему, способную решать разноплановые задачи в зависимости от используемых элементов этого "конструктора". Если вам нужна более производительная в операциях с плавающей точкой система - пожалуйста, размещайте дополнительный узел с ядрами, занимающимися вещественными вычислениями. Или же можно добавить несколько специализированных RISC-ядер или узел кэш-памяти. Такая сборная структура открывает перед нами новые возможности и гибкость по настройке производительности системы, которые даже трудно сейчас представить.
Исполнение
Структура Tera-scale представляет собой своеобразный "сэндвич". Память размещена в нижней части чипа и вертикально связанна с находящимся сверху ядром. Каждому ядру полагается по 64 Мбайт ОЗУ. В прототипе общий объем памяти составил 5.12 Гбайт, но Intel была ограничена техническими требованиями и определенным количеством транзисторов.
Коммуникационная система была создана чрезвычайно быстро благодаря использованию уже готовых компонентов Intel. Это хотя и несколько ограничило пропускную способность шины, которая без сомнения будет гораздо выше в финальном исполнении процессоров Tera-scale, тем не менее, прототип продемонстрировал впечатляющую внутреннюю пропускную способность 1.2 Тбайт/с.
Также на прототипе была реализована "экономная" система дистрибьюции сигнала синхронизации. По данным специалистов Intel около 30% всего энергопотребления процессора идет на эту операцию, а у Tera-scale это лишь 10%, что достигается благодаря меньшему числу повторов. Это позволяет передавать сигналы на большие расстояния с меньшими энергозатратами. Для этого компании пришлось преодолеть серьезную проблему в виде несовпадения фаз исходного и полученного сигнала при передаче сигналов на большие расстояния. Решение помогла найти математика: рассчитывается на сколько может измениться фаза сигнала синхронизации при передаче на определенные расстояния. Это позволяет изначально изменить передаваемый сигнал, чтобы в конечную точку он "прибыл" в нужной фазе.
Маршрутизация
Еще одной замечательной стороной новой платформы является маршрутизация. Каждое ядро само по себе снабжено маршрутизатором, который может передавать сигналы в шести направлениях. Это традиционные север, юг, восток и запад, позволяющие восьми ядрам обращаться к соседям. Есть еще два дополнительные направления: логические вверх и вниз, которые связаны с обращениями к памяти и узлу.
Каждое ядро обращается напрямую к соседним ядрам. Также напрямую связываются и узлы друг с другом. При этом совершенно не важно, что находится в узлах, главное, что они могут друг с другом общаться. А с системой маршрутизации, используемой здесь, это не составляет особого труда. Так Intel реализовала в Tera-scale масштабируемость, позволяющую создавать сколь угодно сложные вычислительные системы.
Система маршрутизации, реализованная в прототипе Tera-scale, позволяет настраивать физические пути передачи данных после отправки первоначального запроса. Когда путь открыт, отправитель передает N-число пакетов данных. После приема информации получатель посылает обратно сигнал о том, что передача прошла успешно без ошибок, после чего закрывается путь. В этом случае каждый маршрутизатор между отправителем и получателем точно знает сколько данных будет передано. И после того, как информация передана, роутеры могут автоматически перестроиться для отправки данных в соответствии со следующим заданием.
Самокоррекция
В Tera-scale реализована мощная система самокоррекции, столь необходимая при создании многоуровневых сложных вычислительных систем. В том случае, если ядро не проходит по каким-либо причинам самоконтроль, оно может отправить другим ядрам информацию о своем выходе из строя. При этом система маршрутизации автоматически перестроится в соответствии с "внесенными" изменениями и тем самым не потребуется программное вмешательство. Это позволит процессорам на платформе Tera-scale продолжать корректное функционирование, даже если часть вычислительных ядер вышла из строя.
Также предусмотрена возможность перераспределения потоков обрабатываемых данных по наиболее эффективным "маршрутам". По словам инженеров процессорного гиганта, эта технология позволяет более эффективно управлять терморегуляцией, распределением загрузки кэша и др. Так, например, "переброска" потоков информации подальше от наиболее "горячих" узлов позволит снизить локальный нагрев и тем самым повысить эффективность теплоотвода, а также использовать свободную кэш-память.
Таким образом полностью автоматизированная система маршрутизации может справиться с перераспределением любых потоков данных. При этом для внешнего программного обеспечения ничего не изменяется - ОС продолжает думать, что задачу выполняет ядро №1, когда эта задача возложена уже на ядро №4. Значение подобной автоматической подстраховки сложно переоценить, особенно если она не сказывается негативно на производительности системы в целом.
Архитектура кэш-памяти
В процессорах на платформе Tera-scale предусмотрено использование трехуровневой системы кэширования. Кэш L1 будет непосредственно связан с каждым ядром и его объем составит 16-64 Кбайт. Кэш второго уровня размером 256-1024 Кбайт будет уже общий для всего узла. Доступным для всех узлов станет кэш третьего уровня объемом 8-32 Мбайт. Модули кэш-памяти будут размещаться на той же подложке, что и вычислительные ядра, маршрутизаторы и прочие элементы.
Структура кэш-памяти Tera-scale
Также инженеры Intel продемонстрировали модель работы нового L4-кэша высокой емкости, который будет размещаться между процессором и памятью (схема "бутерброд"). Есть также вариант размещения кэша четвертого уровня напротив процессора. У обеих схем есть свои преимущества и свои недостатки. В настоящее время эксперты компании тестируют оба варианта.
Варианты расположения кэша L4
Еще одним важным элементом системы кэширования станет управление приоритетами выполняемых задач, реализуемое посредствам настроек QoS (Quality of Service). По данным, обнародованным представителями процессорного гиганта, благодаря внедрению QoS удается достичь 10-20% прироста производительности над системой работающей по классической схеме "первый пришел, первым обслужен". Всегда есть задачи, требующие более высокого приоритета доступа к данным, и если система установки приоритета их верно идентифицирует, то работа в целом выполняется быстрее.
Процесс разработки
По словам авторов платформы Tera-scale, при ее разработке главным критерием были требования, предъявляемые программным обеспечением в будущем, к аппаратной части. Предстояло ответить не только на вопрос "что будет нужно", но и "как этого добиться".
В ходе проектирования и создания прототипа чипа Tera-scale использовались симуляторы циклов, FPGA эмуляторы и реальные кремниевые прототипы. Процесс разработки новой платформы инженерами Intel был организован в виде последовательного проектирования "на бумаге", создания прототипа, тестирования его, внесения изменений в программное обеспечение и затем пересмотра "бумажного" проекта, после чего цикл начинался заново.
Будущее
В представленном прототипе наибольший интерес, бесспорно, представляет многоуровневая структура и использование уже имеющихся ядер в узлах. Схожая структура будет реализована в процессорах AMD Fusion, объединяющих на одной подложке общие вычислительные функции с проектированием геометрических поверхностей и иными функциями современных GPU. По словам представителей компании Intel в рамках узла платформы Tera-scale может быть реализована логика GPU. Это же касается и таких мощных графических чипов как ClearSpeed CSX600. Даже DSP, Gigabit Ethernet, полноценные видео решения, большая часть системной логики и многое другое. Любой тип кремниевых продуктов, существующих на сегодняшний день, может быть внедрен в эту модель, по крайней мере в теории.
В принципе ничто не мешает использовать в чипе Tera-scale даже ядра c различной иной разрядностью. Благодаря этому разработанная Intel платформа откроет ранее недоступные возможности виртуализации и оптимизации системы под конкретные задачи. В ходе демонстрационного тестирования процессорный гигант показал, что одному чипу Tera-scale под силу заменить коммерческую компьютерную систему, состоящую из 63 системных блоков, включающих 130 процессоров.
По словам представителей Intel, инженерам компании удалось очень многого добиться в кратчайшие сроки. Но при этом остается много препятствий, которые еще предстоит преодолеть, перед тем как запустить процессоры на платформе Tera-scale в серию. Пока не называется даже предварительная дата появления подобных решений на рынке, но, по словам экспертов, программное обеспечение, которое сможет в полной мере использовать возможности чипов Tera-scale, увидит свет лишь через 5-10 лет. Поэтому очевидно, что Intel и будет ориентироваться на эти сроки и вычислительных систем на базе этой новой платформы не стоит ждать раньше 2012-2013 года.
Эпилог
Intel Tera-scale является чрезвычайно гибкой и перспективной платформой, которая в будущем может ознаменовать начало новой вехи в компьютерном проектировании, открывающей недоступные доселе возможности. Эта технология позволит выполнять огромное количество параллельных операций в рамках модели MIMD (Multiple Instruction, Multiple Data). И это можно будет реализовать, используя традиционную многоядерную модель или через добавление специализированных ядер.
В перспективе процессоры Intel Tera-scale могут стать не только сверхпроизводительными процессорами с низким энергопотреблением, но и стать наследниками архитектуры x86, которая рано или поздно уступит свое место более современной разработке.
По материалам ресурса TGDaily