Представлять корпорацию Sun нет смысла. Она – не просто известный игрок на рынке корпоративных сетевых серверов, эта компания многие годы занимала на нем доминирующую роль со своими популярными в России высокопроизводительными станциями SunSPARC Station, работающими на фирменных микропроцессорах (МП) UltraSPARC этой компании под управлением фирменной ОС Solaris. Ниже описаны характеристики нового МП и его использование в новой линейке сетевых серверов.
Жесткая конкурентная борьба на рынке сетевых серверов, в первую очередь с такими гигантами, как IBM и HP, а в последнее время и с Intel, так как именно ее процессоры Itanium 2 используются в серверах Definity компании HP, заставила Sun Microsystems более точно позиционировать свои системы как высокопроизводительные системы пониженного энергопотребления. В этом направлении она добилась убедительных успехов. Ее новый МП UltraSPARC T1, обладая лучшими вычислительными возможностями, чем его предшественники, потребляет всего порядка 70 Вт, тогда как МП-конкуренты его класса – 130–150 Вт. Сетевые серверы, созданные на его основе, потребляют в несколько раз меньше электроэнергии и занимают на порядок меньший объем, чем их предшественники, при большей производительности.
Процессор
МП UltraSPARC T1 отличается следующими основными особенностями:
· разработан на базе UltraSPARC Architecture 2005 [2] (продвинутой RISC-архитектуры);
· поддерживает многопотоковость на кристалле (СМТ – chip multi-threading): может иметь 4, 6 или 8 ядер, выполняющих одновременно по 4 потока;
· реализует технологию CoolThreads и объединяет 32 системы на одном кристалле;
· изготовлен с использованием технологии, допускающей разрешение 90-нм;
· ядра работают с тактовой частотой 1,2 ГГц;
· имеет 4 контроллера памяти: эффективные средства передачи данных между ядрами и памятью, доставляющие процессору данные с той скоростью, с которой он их может обработать;
· потребляет малую мощность – 72 Вт, и генерирует мало тепла.
Для того чтобы понять скрытые достоинства МП UltraSPARC T1, напомним некоторые известные вещи. Все ПК, применяемые в качестве корпоративных и сетевых серверов, используют разные МП, архитектура которых, в той или иной мере, относится к двум типам:
· CISC – процессор с полным набором команд (например, МП компаний Intel, AMD);
· RISC – процессор с сокращенным набором команд (например, МП компаний IBM, HP, SGI).
CISC-процессоры, рассчитанные на обычную нагрузку (как правило, однозадачную), проектируются на один поток, пытаясь максимально увеличить скорость обработки в нем, в том числе и за счет конвейерного способа обработки. Например, Intel Pentium 4 использует порядка 20 ступеней параллельной обработки инструкций, т.е. использует параллелизм на уровне инструкций (ILP). Оптимизация CISC-МП – путь неэффективный и даже тупиковый, так как дальнейший рост числа ступеней не ускоряет обработку, а лишь приводит к усложнению управления МП. В результате, скорость обработки определяется только тактовой частотой, рост которой приводит к росту потребляемой мощности и технологическим сложностям при реализации.
RISC-процессоры, рассчитанные на промышленную нагрузку (как правило, многозадачную), проектируются на несколько потоков и с большим количеством специализированных функциональных (вычислительных) блоков с упрощенной схемой обработки потоков. Несколько потоков управляются одним ядром, их число зависит от сложности решаемых задач. Так, в МП UltraSPARC Т1 одно ядро управляет 4 потоками, а число ядер может быть 2, 4, 6, 8, допуская возможность управления максимально 32 потоками. Такой МП использует параллелизм на уровне потоков (TLP). При этой архитектуре скорость обработки определяется не только тактовой частотой, но и оптимизацией использования памяти. Коэффициент использования памяти практически достигает 100% благодаря наличию четырех контроллеров памяти и режима мультиплексирования 4 потоков с временным разделением (типа режима TDM в системах связи, см. рис. 1а), что недоступно для ILP-процессоров (см. рис. 1б для простого случая двухступенчатого конвейера). Только этот факт дает, грубо говоря, 4-кратное увеличение эквивалентной тактовой частоты TLP-процессоров по сравнению с однопоточными ILP-процессорами.
Кэш-память. МП UltraSPARC Т1 имеет двухуровневую интегрированную полностью ассоциативную [3] кэш-память. Каждое ядро имеет первый уровень четырехпутной кэш-памяти (используемой одновременно 4 потоками) объемом: 16 кБ (для инструкций, с линией заполнения 32 байта) и 8 кБ (для данных, с линией заполнения 16 байт). 8 ядер вместе, работая через матричный коммутатор, соединены с объединеной 12-путной (3 четырехпутные банка памяти) кэш-памятью 2 уровня емкостью 3 МБ (с линией заполнения 64 байта) [2].
Блок-схема ядра МП UltraSPARC Т1 формально проста и приведена на рис. 2. Каждое физическое ядро аппаратно поддерживает 4 виртуальных процессора (ВП, или strand), имеет полный регистровый файл – 32 регистра (по 8 на каждый ВП) и ряд других регистров: ASI (идентификатор адресного пространства), ASR (служебные регистры состояния), привилегированные регистры у каждого ВП.
Кэш-память первого уровня инструкций (I) и данных (D) одного физического ядра обслуживает 4 ВП. Кэш-память 2 уровня и блок операций с плавающей запятой (FPU) обслуживают одновременно все 8 физических ядер (считается, что в коммерческих приложениях такие операции составляют 1% от всех других операций). Кэш-память инструкций взаимодействует с четырьмя регистрами инструкций ВП, инструкции мультиплексируются диспетчером ВП и после декодирования подаются на арифметико-логическое устройство (АЛУ) и регистровый файл, с которым взаимодействует и кэш-память данных.
МП UltraSPARC Т1 реализует версию V9 архитектуры UltraSPARC 2005, которая поддерживает все типы данных этой архитектуры.
Серверы на базе Т1
Указанный МП был использован для создания серверов серии SunFire: T1000 и T2000. Их общая спецификация приведена ниже (если их параметры различны, то они указаны отдельно):
· процессор – UltraSPARC T1, версии с 4, 6, 8 ядрами и с тактовой частотой 1,0 или 1,2 ГГц (Т2000);
· память (DDR2) до 16 или 32 ГБ (Т2000);
· интерфейсы: Ethernet 10/100/1000 Мбит/с, 4xUSB 1.1 (T2000), COM-порт DB-9;
· шины: PCI-Express (PCI-E), PCI-X (64-бита) (Т2000);
· накопители (внутренние): SATA (3,5") 80 ГБ (Т1000), SAS (2,5") 4x73 ГБ (Т2000), DVD-R/CD-RW (T2000), большая номенклатура внешних дисковых и ленточных устройств;
· ПО: ОС Solaris 10, Sun Java Enterprise System;
· источник питания: 300 (Т1000) и 2х400 Вт с возможностью горячей замены (Т2000);
· габариты (ВхШхГ): 43х425х483 (Т1000) и 89х440х617 мм (Т2000);
· масса: 9,1 (Т1000), 16,8 кг (Т2000).
Фактическое потребление энергии составляет: 180–220 Вт (Т1000), 325 Вт (Т2000).
Тестирование: сервер Т2000 в ходе сравнительного тестирования с 8-процессорным сервером SunFire V880 на базе МП UltraSPARC III с тактовой частотой 900 МГц показал на 30–40% более высокую производительность, в 3–4 раза более низкое энергопотребление, занимая при этом в 10 раз меньший объем [1].
Литература
1. Конференция "Время Т". – Москва, 9 дек. 2005 г. (Sun Microsystems).
2. UltraSPARC T1™ Supplement to the UltraSPARC Architecture 2005. – Draft D1.8.3, 13 Feb 2006.
3. Baron R.J., Higbie L. Computer Architecture. – Reading, Mass.: Addison-Wesley Publishing Company. 1992.