Эволюция главного элемента всей вычислительной техники, микропроцессора, со стороны кажется сложной кривой, описываемой уравнением со множеством неизвестных. Но сами вендоры, говоря о будущем, выделяют всего два определяющих фактора. Первый — сниженное энергопотребление, и речь о нём, если позволите, пойдёт чуть ниже. Второй — экстремальная многоядерность.
Сегодня сердце типичной персоналки уже содержит несколько ядер и каждое из них до определённой степени способно выполнять роль самостоятельного процессора (см. «40 лет 4004»). Однако этой схеме предстоит пережить серьёзную трансформацию, прежде чем она превратится в то, о чём мечтают производители. Словечко «экстремально» упомянуто не красоты ради: речь идёт о новом технологическом витке, после которого количество ядер на кристалле вырастет минимум на порядок. Представить себе наглядно, как это будет выглядеть и работать, можно, взглянув на процессор Knights Corner (KC), продемонстрированный компанией Intel в середине ноября.
Известно о нём пока немного. Разработчики KC использовали ультрасовременный инструментарий (22-нанометровая технология, 3D-транзисторы), чтобы воссоздать в кремнии ядро процессора Pentium (скорее всего, семейства Xeon конца 90-х годов). В плане производительности оно, конечно, несравнимо с современными разработками, ибо слишком простое. Но простота означает энергоэкономичность. А расход энергии в данном случае чрезвычайно важен, поскольку на кристалле Knights Corner размещено не два и не четыре, а более пятидесяти таких ядер!
В результате работающий на тактовой частоте около гигагерца и оснащённый расширенными 512-битными регистрами KC выполняет «в пике» один триллион операций над числами с плавающей запятой. Для сравнения: самые мощные «обычные» микропроцессоры от Intel и AMD (Core i7 и т.п.) отстают по производительности в 15 раз и более.
Впрочем, сказать, что Intel наткнулась на эту идею первой, было бы несправедливо. Ниву экстремальной многоядерности давно возделывают производители графических процессоров, nVidia и AMD (благодаря купленной ATI). Популярные семейства видеокарт GeForce и Radeon построены на чипах GPU, составленных из нескольких десятков примитивных процессорных ядер. Их функциональности достаточно для обсчёта графических сцен, но если постараться, их можно применить и для эффективного решения других задач, требующих большого объёма вычислений.
Далеко не каждую задачу можно ускорить, переложив вычисления на GPU (алгоритм должен хорошо распараллеливаться, состоять по возможности только из математических операций и т.п.), но всё же примеры имеются. Вспомните как строят BitCoin-фермы (см. «BitCoin: пирамида или валюта будущего?») или обратите внимание на список самых мощных суперкомпьютеров Top500.org, где всего за год число машин с гибридной архитектурой (CPU + GPU) выросло в несколько раз. В ближайшее время ожидается всплеск популярности гибридных решений на массовом рынке.
Что касается Intel, задумавшись над экстремальной многоядерностью в первой половине нулевых, микропроцессорный гигант попробовал спроектировать собственный мультиядерный GPU (известный под кодовым именем Larrabee). Однако проект свернули несколько лет назад, ещё до начала производства — очевидно, поняв, что догнать конкурентов таким образом не удастся. Тогда-то, по всей видимости, и родилась идея использовать в качестве строительного блока вместо примитивных графических вычислителей самое обычное ядро мипрокропроцессора общего назначения.
Эта архитектура получила название MIC (many integrated core — букв. множество интегрированных ядер). Действующий пробный образчик MIC-микропроцессора (Knights Ferry с тридцатью ядрами) компания показала ещё год назад, а Knights Corner должен стать уже первым коммерческим продуктом: на рынке он появится к 2013 году и, как ожидается, будет использоваться в суперкомпьютерах и рабочих станциях.
Несмотря на принципиальные архитектурные различия, Knights Corner имеет много общего со своими GPU-конкурентами от nVidia и AMD. Он так же не предназначен для работы в качестве центрального микропроцессора, лишь выполняя роль помощника, на который перекладываются тяжёлые вычисления. Примерно сопоставима у всех трёх игроков и производительность, измеряемая единицами терафлопс (точное сравнение не имеет смысла, поскольку в каждом конкретном случае необходимо учитывать ещё ряд аспектов, таких как разрядность вычислений, функциональное богатство системы команд и пр.). Вместе с тем оригинальный подход Intel обещает некоторые весомые преимущества.
Использование Pentium-ядра означает, что Knights Corner понимает систему команд x86. Поэтому, теоретически, он может исполнять даже тот софт, который работает на PC сегодня, без изменений. И использовать богатейший арсенал существующих для архитектуры x86 средств разработки. Intel уже воспользовалась этим, чтобы облегчить интеграцию KC в вычислительные системы: полсотни ядер нового процессора управляются операционной системой Linux, которая работает на них же — так что для «внешнего мира» KC выглядит как самостоятельный компьютер (просто новый элемент вычислительного кластера).
Проблема энергопотребления остаётся одной из самых болезненных для вычислительной техники, и особенно для суперкомпьютеров. Так китайский Tianhe-1A (почти 5 петафлопс в пике), до недавнего времени бывший самым мощным числогрызом в мире, потребляет 4 мегаватта, что выливается в счёт за электричество в несколько миллионов долларов каждый год.
Конкурирующие GPU от nVidia и AMD требуют серьёзной адаптации программного обеспечения (вспомните о специфическом устройстве графических ядер). Вот почему идея Intel кажется более перспективной для десктопов.
Но поддержка x86 много значит и для суперкомпьютеров. Сравнивая с «неполноценными» GPU, поддержка полного набора команд x86, по крайней мере в теории, позволяет Knights Corner достичь большей вычислительной мощности в расчёте на один ватт мощности электрической. Этот параметр не так уж важен для персоналок или рабочих станций, но едва ли не самый важный из всех для числогрызов.
Здесь следующая планка — эксафлопс, тысяча петафлопс или 1018 операций в секунду. Но чтобы её достичь, недостаточно просто масштабировать существующие решения: сегодня один петафлопс требует примерно одного мегаватта, так что необходимо существенно снизить энергопотребление, чтобы суперкомпьютерные вычисления даже на эксафлопсном уровне оставались экономически выгодными.
Intel надеется достичь заветной черты уже через шесть лет, в том числе благодаря наследникам знакомого вам Knights Corner. nVidia планирует быть там же годом позже.