"Журнал «Компьютерра» №47-48 от 20 декабря 2005 года" - читать интересную книгу автора (Компьютерра Журнал 619)

НОВОСТИ: Извержение водопада


Sun Microsystems представила в Нью-Йорке системы на своем новом многоядерном и многопотоковом процессоре. В разработке его знали под кодовым названием Niagara, а при официальном рождении на свет нарекли UltraSPARC T1. Новичок потребляет рекордно малое количество энергии - чуть больше 70 Вт, а по производительности его трудно сравнивать «в лоб» с любым из существующих процессоров. Он просто другой.

Sun изменила бы себе, если б к представлению серверов с новыми процессорами не придумала чего-то необычного. И это был не только стандартный костюм и красный галстук Скотта Макнили, который галстуков принципиально не носит (это еще можно списать на влияние Нью-Йорка, где в деловой среде человек без костюма и черного пальто выглядит полным фриком). В рекламном ролике, посвященном новому процессору, показывали исключительно серверы Dell. На них жарили курицу и разогревали пиццу. Для стоек из серверов Dell, на которые проворно взбирались альпинисты, строили атомные электростанции. А воздушные потоки для охлаждения этих стоек размазывали людей по стеклу. В общем, серверы Dell мочили, как у нас говорят, по-страшному. В России такое, к сожалению, невозможно. Закон «О рекламе» не позволяет ругать соперников по рынку. Поэтому в русскоязычных материалах Sun прибегает к эзопову языку и сравнивает свои системы с «сервером от конкурента». Это отнимает право у конкурента быть названным - как известно, плохой рекламы не бывает, а серверы Dell, уверен, очень хорошо запомнились зрителям американского ролика Sun. Причем не факт, что с плохой стороны. Впрочем, поговорим теперь о самом процессоре UltraSPARC T1, который был представлен после ролика о серверах Dell по принципу «сыграем на контрастах».

Главный контраст по сравнению с другими процессорами (из которых Sun знает только Xeon и Power, а Opteron почему-то забывает - может, потому, что партнеры?) заключается в уменьшенном энергопотреблении. Процессор с восемью ядрами потребляет, по данным Sun Microsystems, 72-78 Вт «на типичных нагрузках». Типичными нагрузками для нового процессора, на которых он наиболее выпукло показывает свои преимущества, являются параллельные многопотоковые приложения. Например, веб-сервисы или приложения для биллинга, когда к серверу обращаются одновременно множество пользователей. Именно поэтому новые серверы получили самые благоприятные отзывы от компании Google и «Вымпелком».

В Sun любят подчеркивать, что процессор обладает бинарной совместимостью с приложениями на Solaris, а его производительность возрастает «даже без оптимизации». Можно предположить, что, поскольку в T1 используются вычислительные ядра SPARC, оптимизация сводится к более эффективному распараллеливанию приложения, а не к глубинному изменению процессорных инструкций. Впрочем, производительность сильно зависит от типа приложений. «Наихудшим сценарием» для нового процессора компания Forrester Research считает однопотоковое приложение, не страдающее от задержек обращения к памяти и интенсивно использующее вычисления с плавающей запятой (все ядра UltraSPARC T1 работают с одним и тем же модулем FPU). В таком случае производительность T1 окажется в два-три раза ниже, чем у Intel Xeon, предполагают специалисты Forrester. В случае же многопотоковых приложений процессор в два-три раза обгоняет двухъядерные процессоры Intel и AMD при заметно меньшем потреблении энергии.

С выпуском систем на UltraSPARC T1 Sun сделала необычный ход. Компания объявила, что архитектура процессора будет полностью открыта до описания на языке Verilog (которое достаточно для того, чтобы процессор сделать). «Это понизит барьер для выхода на процессорный рынок, облегчит создание новых вычислительных, сетевых и потребительских устройств», - говорит почетный сотрудник Sun и главный технолог подразделения масштабируемых систем Майк Сплайн. Однако сторонние наблюдатели считают, что в первую очередь это даст возможность оптимизировать приложения для нового процессора. В любом случае, открытие архитектуры произойдет не сразу: «Необходимо сформировать адекватную лицензию, получить разрешение у правительства - впереди еще много нерешенных вопросов», - подчеркивает Сплайн.

На процессоре UltraSPARC T1 компания выпустила серверы T1000 и T2000, монтирующиеся в стойку. В первом, высотой 1U используется один процессор T1 с шестью или восемью ядрами и частотой 1 ГГц. Во втором, высотой 2U, - тот же процессор с четырьмя, шестью или восемью ядрами и частотой 1,2 ГГц. Помимо повышенной частоты процессора, T2000 отличается возможностью горячей замены дисков и блоков питания, избыточной вентиляцией и другими средствами повышения надежности.

Из истории видно, что разработка процессора началась в самый разгар интернет-бума. Судя по темпам роста отрасли в те времена, центрам обработки данных вскоре должно было не хватить места на земной поверхности, и проблема их электроснабжения тогда встала бы очень остро. Бум быстро пошел на спад, темпы роста замедлились, однако ко времени выпуска очень удачно для процессора UltraSPARC T1 подорожала нефть, а с нею и электроэнергия. Экономичность вновь вышла на первый план. В России электричество дешевле, однако оно не везде есть в нужных количествах «Все крупные центры обработки данных в Москве испытывают проблемы с ростом из-за ограниченного подвода мощности», - говорит Жан-Поль Бергманс, глава представительства Sun Microsystems в СНГ.

Разница в энергопотреблении процессоров впечатляет, но насколько она существенна в масштабах всего сервера? Согласно спецификации Sun, максимальная рабочая мощность составляет у T1000 - 220 Вт, у T2000 - 400 Вт. У серверов Dell (если уж о них зашла речь) моделей 1850 (высотой 1U) и 2850 (2U) максимальная рабочая мощность составляет 550 и 700 Вт. Разница - в 1,5-2 раза в пользу T1. Каталожная цена и на Sun Fire T1000, и на Dell 1850 очень похожа - около 3 тысяч долларов. Вывод: выгоды нового сервера с точки зрения электропитания очевидны, если применяемые приложения умеют использовать преимущества многопоточности. И, конечно, если они существуют под Solaris.


Матчасть

Процессор UltraSPARC T1 содержит до восьми процессорных ядер, каждое из которых способно обрабатывать до четырех потоков (итого на процессор приходится максимум 32 потока). Ядра в UltraSPARC T1 соединены коммутатором с пропускной способностью 134 Гбайт/с. На чипе располагается общая кэш-память третьего уровня объемом 3 Мбайт, к которой одновременно могут обращаться двенадцать потоков. Встроенный контроллер памяти обеспечивает суммарную пропускную способность 24 Гбайт/с по четырем каналам DDR2. Процессор содержит приблизительно 300 млн. транзисторов.

«В UltraSPARC T1 используются типичные ядра SPARC-процессоров, которые мы упростили до предела. У них упрощенный пятиступенчатый конвейер, простой предсказатель ветвлений, простая логика на шине. Кроме того, та часть процессора, которая не относится к вычислительным ядрам, работает на пониженной частоте - полгигагерца или даже меньше. Мы решили не гнаться за высокой пиковой производительностью каждого ядра, а постарались оптимизировать структуру в целом, сделать так, чтобы все ядра были заняты по-максимуму», - объясняет Майк Сплайн.

По архитектуре UltraSPARC T1 сильно отличается от прочих членов семейства UltraSPARC, в том числе от топ-модели UltraSPARC V (которая после серии задержек с выпуском была и вовсе снята с повестки дня). Это объясняется историей проекта. В 1998 г. группа старших разработчиков покинула Sun, основав компанию Afara Websystems, которая разработала первую версию процессора, основанную на технологии UltraSPARC II. В 2002 г. Sun приобрела Afara, вернув себе и разработчиков, и проект. Afara Websystems оказалась удачной покупкой - в отличие от приобретенного за 2 млрд. долларов в 2000 г. производителя серверов Cobalt Networks, линейка продукции которого была убита Sun в 2003 г.