UltraSPARC T1 ( кодовое название « Niagara ») — многопоточный многоядерный процессор , выпущенный компанией Sun Microsystems в 2005 году . Процессор, разработанный для снижения энергопотребления серверных компьютеров , обычно потребляет 72 Вт мощности на частоте 1,4 ГГц.
T1 — это новая реализация микропроцессора SPARC , которая соответствует спецификации архитектуры UltraSPARC 2005 [1] и выполняет полный набор инструкций SPARC V9 . Компания Sun выпустила два предыдущих многоядерных процессора ( UltraSPARC IV и IV+), но UltraSPARC T1 был ее первым микропроцессором, который был и многоядерным , и многопоточным. Безопасность была встроена с самого первого выпуска на кремнии, с аппаратными криптографическими блоками в T1, в отличие от процессоров общего назначения от конкурирующих поставщиков того времени. Процессор доступен с четырьмя, шестью или восемью ядрами ЦП, каждое ядро способно обрабатывать четыре потока одновременно. Таким образом, процессор способен обрабатывать до 32 потоков одновременно.
UltraSPARC T1 может быть разделен аналогично высокопроизводительным системам Sun SMP . Таким образом, несколько ядер могут быть разделены для запуска одного или группы процессов и/или потоков, в то время как другие ядра будут иметь дело с остальными процессами в системе.
Afara Websystems стала пионером радикального потокового дизайна SPARC. Компанию купила Sun, и интеллектуальная собственность стала основой линейки процессоров CoolThreads, начиная с T1.
UltraSPARC T1 был разработан с нуля как многопоточный специализированный процессор и, таким образом, представил совершенно новую архитектуру для получения производительности. Вместо того, чтобы пытаться сделать каждое ядро настолько интеллектуальным и оптимизированным, насколько это возможно, цель Sun состояла в том, чтобы запустить как можно больше параллельных потоков и максимально использовать конвейер каждого ядра. Ядра T1 менее сложны, чем у конкурирующих процессоров, чтобы позволить разместить 8 ядер на одном кристалле. Ядра не имеют внеочередного выполнения или значительного объема кэша .
Однопоточные процессоры сильно зависят от больших кэшей для своей производительности, поскольку промахи кэша приводят к ожиданию, пока данные извлекаются из основной памяти. Увеличивая кэш, вероятность промаха кэша уменьшается, но влияние промаха остается прежним.
Ядра T1 в значительной степени обходят проблему промахов кэша с помощью многопоточности. Каждое ядро является процессором-бочкой , то есть оно переключается между доступными потоками в каждом цикле. Когда происходит событие с большой задержкой, например промах кэша, поток выводится из ротации, а данные извлекаются в кэш в фоновом режиме. После завершения события с большой задержкой поток снова становится доступным для выполнения. Совместное использование конвейера несколькими потоками может замедлить каждый поток, но общая пропускная способность (и использование) каждого ядра намного выше. Это также означает, что влияние промахов кэша значительно снижается, и T1 может поддерживать высокую пропускную способность с меньшим объемом кэша. Кэш больше не должен быть достаточно большим, чтобы вмещать весь или большую часть «рабочего набора», только последние промахи кэша каждого потока.
Тесты показывают, что этот подход отлично работает на коммерческих (целочисленных) многопоточных рабочих нагрузках, таких как серверы приложений Java , серверы приложений Enterprise Resource Planning (ERP), серверы электронной почты (например, Lotus Domino ) и веб-серверы. Эти тесты показывают, что каждое ядро в UltraSPARC T1 более мощное, чем одноядерный однопоточный UltraSPARC III примерно 2001 года, и при сравнении чипов значительно превосходит другие процессоры на многопоточных целочисленных рабочих нагрузках. [ необходима цитата ]
UltraSPARC T1 содержит 279 миллионов транзисторов и имеет площадь 378 мм2 . Он был изготовлен Texas Instruments (TI) по их 90-нм комплементарному металл-оксид-полупроводник (КМОП) процессу с девятью уровнями медных межсоединений . [2] Каждое ядро имеет кэш инструкций L1 16 КБ и кэш данных 8 КБ. Кэш L2 составляет 3 МБ, а кэш L3 отсутствует.
Процессор T1 можно найти в следующих продуктах Sun и Fujitsu Computer Systems :
Микропроцессор UltraSPARC T1 уникален по своим сильным и слабым сторонам и, как таковой, нацелен на конкретные рынки. Вместо того, чтобы использоваться для высокопроизводительных вычислений и приложений сверхвысокой производительности, чип нацелен на серверы с высоким спросом, работающие в сети, такие как веб-серверы с высоким трафиком и серверы приложений Java, ERP и CRM среднего уровня, которые часто используют большое количество отдельных потоков. Одним из ограничений конструкции T1 является то, что один блок с плавающей точкой (FPU) разделяется между всеми 8 ядрами, что делает T1 непригодным для приложений, выполняющих много математических операций с плавающей точкой. Однако, поскольку предполагаемые рынки процессора обычно не используют много операций с плавающей точкой, Sun не ожидала, что это станет проблемой. Sun предоставляет инструмент для анализа уровня параллелизма приложения и использования инструкций с плавающей точкой, чтобы определить, подходит ли оно для использования на платформе T1 или T2. [3]
В дополнение к обработке на уровне веб-сайтов и приложений, UltraSPARC T1 может хорошо подходить для небольших приложений баз данных с большим количеством пользователей. Один клиент опубликовал результаты, показывающие, что приложение MySQL, работающее на сервере UltraSPARC T1, работало в 13,5 раз быстрее, чем на сервере AMD Opteron. [4]
T1 — первый процессор SPARC, поддерживающий режим гиперпривилегированного выполнения. Гипервизор SPARC работает в этом режиме и может разбить систему T1 на 32 логических домена , каждый из которых может запустить экземпляр операционной системы.
В настоящее время [ когда ? ] поддерживаются Solaris , Linux , NetBSD и OpenBSD .
Традиционно коммерческие программные пакеты, такие как Oracle Database, взимают плату со своих клиентов на основе количества процессоров, на которых работает программное обеспечение. В начале 2006 года Oracle изменила модель лицензирования, введя процессорный фактор . С процессорным фактором .25 для T1, 8-ядерный T2000 требует только 2-процессорной лицензии. [5]
«Таблица коэффициентов тактовой частоты процессоров Oracle» [6] с тех пор регулярно обновляется по мере появления на рынке новых процессоров.
В третьем квартале 2006 года IBM представила концепцию ценообразования Value Unit (VU). Каждое ядро T1 стоит 30 PVU (каждое ядро T2 стоит 50 PVU, а T3 стоит 70 PVU) вместо значения по умолчанию в 100 PVU на ядро. [7]
T1 предлагал только один блок с плавающей точкой для совместного использования 8 ядрами, что ограничивало использование в средах HPC. Этот недостаток был смягчен последующим процессором UltraSPARC T2 , который включал 8 блоков с плавающей точкой, а также другие дополнительные функции.
Более того, T1 был доступен только в однопроцессорных системах, что ограничивало вертикальную масштабируемость в крупных корпоративных средах. Этот недостаток был смягчен с последующим UltraSPARC T2 Plus , [8] а также следующим поколением SPARC T3 и SPARC T4 . UltraSPARC T2+, SPARC T3 и SPARC T4 предлагают конфигурации с одним, двумя и четырьмя сокетами.
T1 обладал выдающейся пропускной способностью с огромным количеством потоков, поддерживаемых процессором, но старые приложения, обремененные узкими местами одного потока, иногда демонстрировали низкую общую производительность. Слабость однопоточных приложений была смягчена с последующим процессором SPARC T4 . Количество ядер T4 было уменьшено до 8 (с 16 в T3), ядра были сделаны более сложными, тактовая частота была почти удвоена — все это способствовало более высокой производительности одного потока (на 300–500 % больше, чем в предыдущих поколениях). [9] Дополнительные усилия были предприняты для добавления «API критического потока», где операционная система обнаруживала узкое место и временно выделяла ресурсы всего ядра, вместо 1 (из 8) потоков, целевым процессам приложений, демонстрирующим однопоточное поведение, связанное с ЦП. [10] Это позволило T4 уникально смягчить узкие места одного потока, при этом не идя на компромисс в общей архитектуре для достижения огромной многопоточной пропускной способности.
Использование огромного количества параллелизма на уровне потоков (TLP), доступного на платформе CoolThreads, может потребовать иных методов разработки приложений, чем для традиционных серверных платформ. Использование TLP в приложениях является ключом к получению хорошей производительности. Sun опубликовала ряд Sun BluePrints , чтобы помочь программистам приложений в разработке и развертывании программного обеспечения на серверах CoolThreads на базе T1 или T2. Основная статья, Настройка приложений на многопоточных системах UltraSPARC T1 Chip [11] , рассматривает вопросы для общих программистов приложений. Также есть статья BluePrints об использовании криптографических ускорителей на процессорах T1 и T2. [12]
Широкий спектр приложений был оптимизирован на платформе CoolThreads, включая Symantec Brightmail AntiSpam, [13] приложения Oracle Siebel , [14] и Sun Java System Web Proxy Server . [15] Sun также задокументировала свой опыт перемещения своего собственного интернет-магазина на кластер серверов T2000, [16] и опубликовала две статьи о веб-консолидации на CoolThreads с использованием контейнеров Solaris . [17] [18]
У Sun была страница настройки производительности приложений для ряда приложений с открытым исходным кодом , включая MySQL , PHP , gzip и ImageMagick . [19] Правильная оптимизация для систем CoolThreads может привести к значительному выигрышу: при использовании компилятора Sun Studio с рекомендуемыми настройками оптимизации производительность MySQL повышается на 268% по сравнению с использованием только флага -O3 .
Архитектура «Coolthreads(TM)», начинающаяся с UltraSPARC T1 (со всеми ее положительными и отрицательными сторонами), безусловно, оказала влияние на параллельные и будущие разработки процессоров SPARC.
Оригинальный UltraSPARC T1 был разработан только для систем с одним ЦП и не поддерживает SMP. «Rock» был более амбициозным проектом, предназначенным для поддержки архитектур серверов с несколькими чипами, нацеленным на традиционные рабочие нагрузки, связанные с данными, такие как базы данных. Он рассматривался скорее как продолжение процессоров Sun SMP, таких как UltraSPARC IV , а не как замена UltraSPARC T1 или T2, но был отменен в период приобретения Oracle Sun.
Ранее известный под кодовым названием Niagara 2 , как продолжение UltraSPARC T1, T2 обеспечивает восемь ядер. В отличие от T1, каждое ядро поддерживает 8 потоков на ядро, один FPU на ядро, один улучшенный криптографический блок на ядро и встроенные в ЦП сетевые контроллеры 10 Gigabit Ethernet.
В феврале 2007 года на ежегодном саммите аналитиков Sun объявила, что ее проект одновременной многопоточности третьего поколения под кодовым названием Victoria Falls был представлен в октябре 2006 года. Двухсокетный сервер (2 RU ) будет иметь 128 потоков, 16 ядер и 65-кратное улучшение производительности по сравнению с UltraSPARC III. [8]
На конференции Hot Chips 19 компания Sun объявила, что Victoria Falls будет в двух- и четырехканальных серверах. Таким образом, один четырехканальный SMP-сервер будет поддерживать 256 одновременных аппаратных потоков. [20]
В апреле 2008 года компания Sun выпустила двухпроцессорные серверы UltraSPARC T2 Plus — SPARC Enterprise T5140 и T5240.
В октябре 2008 года Sun выпустила 4-процессорный сервер UltraSPARC T2 Plus SPARC Enterprise T5440. [21]
В октябре 2006 года Sun раскрыла, что Niagara 3 будет построен с использованием 45 нм процесса. [ требуется ссылка ] The Register сообщил в июне 2008 года, что микропроцессор будет иметь 16 ядер, неверно предположив, что каждое ядро будет иметь 16 потоков. Во время конференции Hot Chips 21 Sun раскрыла, что чип имеет в общей сложности 16 ядер и 128 потоков. [22] [23] Согласно презентации ISSCC 2010:
«16-ядерный процессор SPARC SoC обеспечивает до 512 потоков в 4-канальной системе без склеивания для максимальной пропускной способности. Кэш L2 объемом 6 МБ со скоростью 461 ГБ/с и 308-контактный SerDes I/O со скоростью 2,4 Тбит/с поддерживают необходимую пропускную способность. Шесть тактовых частот и четыре домена напряжения, а также методы управления питанием и схемы оптимизируют производительность, мощность, изменчивость и обеспечивают компромиссы на кристалле размером 377 мм 2 ». [24]
Процессор T4 был выпущен в конце 2011 года. Новый процессор T4 сократит количество ядер с 16 (в T3) до 8 (как в T1, T2 и T2+). Новая конструкция ядра T4 (названная «S3») отличается улучшенной производительностью на поток за счет внедрения внеочередного выполнения, а также имеет дополнительную улучшенную производительность для однопоточных программ. [25] [26]
В 2010 году Ларри Эллисон объявил, что Oracle предложит Oracle Linux на платформе UltraSPARC, и порт должен был стать доступным в период T4 и T5. [27]
Джон Фаулер, исполнительный вице-президент Oracle Systems, на Openworld 2014 заявил, что Linux в какой-то момент сможет работать на Sparc. [28] [29] [30] [31]
Новый процессор T5 имеет 128 потоков на 16 ядрах и производится по 28-нанометровой технологии.
21 марта 2006 года компания Sun сделала проект процессора UltraSPARC T1 доступным под лицензией GNU General Public License через проект OpenSPARC . [32] Опубликованная информация включает в себя:
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка )