Новая архитектура позволит создавать процессоры с сотнями ядер
Intel готовится произвести первый залп, приступая к выпуску многоядерных процессоров. В конечном итоге это может привести к появлению процессоров с десятками ядер.
С выпуском двухъядерного серверного процессора из серии Woodcrest Xeon 5100 этот изготовитель микросхем начинает производство ядра новой микроархитектуры Core Microarchitecture, в которой упор делается на экономное энергопотребление. Причем исследователи из Intel сообщили, что уже добились результатов в работе по изучению процессоров с десятками и даже сотнями ядер, проводимой в рамках инициативы Tera-scale Computing.
Корпорация уже намекнула, что ставит перед собой цель к концу десятилетия выпустить процессоры с более чем десятью ядрами. Однако выглядеть и работать микрочипы Tera-scale будут по-разному. Они создаются на базе многочисленных сравнительно простых процессорных ядер общего назначения, построенных на архитектуре Intel Architecture x86. Для некоторых целей они могут быть дополнены специализированными ядрами. Все это позволит повысить производительность посредством разделения и параллельного выполнения задач.
Процессоры Tera-scale основаны на законах дизайна полупроводников, которые гласят, что меньшие по размеру и более медленные ядра потребляют меньше энергии. Это удовлетворит потребности бизнеса в высокой производительности и одновременно снимет его озабоченность по поводу энергопотребления серверов.
“Если упростить отдельное процессорное ядро, ограничив его производительность одним потоком, вы сможете благодаря снижению энергопотребления разместить больше ядер на одном кристалле, - говорит главный технолог Intel Джастин Раттнер. - В этом заключается секрет эффективного энергопотребления Tera-scale. Здесь на самом деле “меньше” означает “больше”, поскольку эффективность лежащего в основе конструкции ядра выше, чем у других ядер, выпущенных нами ранее”.
Особенно хорошо процессоры Tera-scale подойдут для решения задач, связанных с обработкой больших объемов данных, - таких, как компьютерная визуализация или управление компьютером с помощью жестов. Но для того чтобы потенциал этого нового подхода использовать полностью, необходимо усовершенствовать технологию изготовления микросхем, в частности повысить скорость работы размещенного на процессоре кэша, создать высокоскоростные межсоединения для передачи данных и построить более эффективные системы синхронизации циклов (clock timing systems). Руководители Intel сказали, что добиться успеха не удастся и без участия разработчиков ПО, многие из которых лишь сейчас начинают переходить от однопоточных приложений к многопоточным.
Концептуальная архитектура Tera-scale
“Каждый раз, когда вы увеличиваете число потоков, вы возлагаете на программистов дополнительную нагрузку, заставляя их писать приложения, способные полностью использовать все возможности имеющегося параллелизма”, - поясняет Раттнер.
Подход Tera-scale означает радикальное изменение по сравнению с процессором Intel Xeon 5100, в котором используются два сложных ядра. Но проект в области Tera-scale был начат потому, что количество транзисторов в процессоре уже измеряется миллиардами, а со временем еще и удвоится. Исследователи утверждают, что к концу десятилетия это число приблизится к 32 млрд.
Таким образом, большее количество меньших по размеру транзисторов дает Intel возможность разместить многочисленные ядра на одном кристалле без увеличения его площади и производственных затрат.
До сих пор производители наращивали число транзисторов для создания более сложных процессоров и увеличения объема размещаемой в одном корпусе с ними кэш-памяти. С помощью множества простых ядер - с заменой двух Woodcrest десятками ядер архитектуры 386 - можно было бы значительно увеличить потенциал параллельных вычислений и в результате повысить производительность, считают аналитики.
“Более важный вопрос заключается в том, как воспользоваться преимуществами такой системы, - уточняет Дин Мак-Кэррон, главный аналитик компании Mercury Research. - Не все задачи можно разделить на несколько процессов. Но даже с учетом сказанного мы все же вынуждены следовать этим путем”.
Программирование для процессоров Tera-scale потребует совершенно иного подхода с одновременным использованием множества различных потоков. Сегодня с таким подходом знакомы не многие программисты, утверждает Стив Павловски, главный технолог группы Intel Digital Enterprise Group. Так что корпорация приступает к работе. В некоторых случаях она напрямую сотрудничает с крупными производителями ПО. В других ее группа Software Products предлагает инструменты, призванные помочь программистам использовать многопоточность, говорит Джеймс Рейндерс, директор Intel по маркетингу и развитию бизнеса в подразделении продуктов для разработчиков (Developer Products Division).
Это, в частности, компиляторы, исполнительные библиотеки, средства настройки и проверки потоков, облегчающие решение таких проблем, как масштабируемость (или ускорение работы приложения при двух и более ядрах), корректность (или устранение ошибок), простота разработки.
“Мы определенно наблюдаем изменение подхода разработчиков к многопоточным приложениям, - констатирует Рейндерс. - Я думаю, в ближайшие пять лет они в большинстве своем захотят лучше понять особенности параллелизма”.
По меньшей мере одна компания, изготовитель видеокодеков MainConcept из Германии, уже перешла на многоядерные процессоры, сообщил ее генеральный директор Маркус Мониг.
MainConcept обнаружила, что оптимизация под двухъядерные процессоры с использованием инструментов Intel позволяет повысить производительность ее продукции. “На двухпроцессорных машинах кодеки работают в 1,8 раза быстрее, поскольку вы можете фактически разделить изображение на слои и передавать их независимым процессорам, - сказал Мониг. - Для нас переход к разработке ПО для многоядерных процессоров был сопряжен с довольно серьезными трудностями”.
Он предсказывает, что и другие производители вскоре вступят на этот путь. “Компании вроде нашей, не желающие терять конкурентоспособность, будут вынуждены пойти на это, - заявил Мониг. - Если ваш кодек работает недостаточно быстро, его никто не купит. Приложения, требующие значительной вычислительной мощности, дают разнообразные преимущества”.
Конечно, группа корпоративных технологий Intel (Corporate Technology Group) имеет весьма солидную базу в области изучения Tera-scale: около 80 проектов и 40% входящих в нее исследователей в той или иной степени задействовано в этом. Мало того, уже есть несколько нишевых рынков, на которых такая технология способна найти применение. И тем не менее может оказаться, что Tera-scale никогда не будет реализована в полном объеме. Ведь в конечном итоге исследования должны быть одобрены другими группами Intel, занимающимися теми или иными конкретными продуктами, прежде чем их результаты появятся на рынке. А они могут не захотеть отказаться от своих нынешних планов или предпочесть какой-то другой подход к реализации многоядерных архитектур.
Но как бы то ни было, это, безусловно, окажет принципиальное влияние на продукты конца нынешнего и начала следующего десятилетия, уверен Раттнер.