UltraSPARC T1 - UltraSPARC T1

UltraSPARC T1
Микрофотография Ultrasparc t1.JPG
Sun UltraSPARC T1 (Niagara 8 Core)
Общая информация
Запущен2005
РазработаноSun Microsystems
Общий производитель (ы)
Спектакль
Максимум. ЦПУ тактовая частотаОт 1,0 ГГц до 1,4 ГГц
Архитектура и классификация
Набор инструкцийSPARC V9
Физические характеристики
Ядра
  • 4, 6, 8
Продукты, модели, варианты
Основное имя (я)
  • S1
История
ПреемникUltraSPARC T2
Процессор UltraSPARC T1

Sun Microsystems ' UltraSPARC T1 микропроцессор, известная до своего объявления 14 ноября 2005 года своим разработчиком кодовое название "Ниагара", это многопоточность, многоядерный ЦПУ. Разработан для снижения энергопотребления серверные компьютеры, процессор обычно использует 72 W мощности на 1,4 ГГц.

Веб-системы Афара разработал радикальную конструкцию SPARC, требующую многозадачности. Компания была куплена Sun, и интеллектуальная собственность легла в основу линейки процессоров CoolThreads, начиная с T1. T1 - это новинка с нуля SPARC реализация микропроцессора, соответствующая Спецификация UltraSPARC Architecture 2005 и выполняет полный SPARC V9 Набор инструкций. Sun производила два предыдущих многоядерных процессора (UltraSPARC IV и IV +), но UltraSPARC T1 - это его первый микропроцессор, который одновременно является многоядерным. и многопоточный. Безопасность была встроена с самого первого выпуска на кремнии, с аппаратными криптографическими модулями в T1, в отличие от современных процессоров общего назначения от конкурирующих поставщиков. Процессор доступен с четырьмя, шестью или восемью ядрами, каждое из которых может обрабатывать четыре ядра. потоки одновременно. Таким образом, процессор может одновременно обрабатывать до 32 потоков.

UltraSPARC T1 можно разделить аналогично High-End Sun SMP системы. Таким образом, несколько ядер могут быть разделены для запуска одного или группы процессов и / или потоков, в то время как другие ядра работают с остальными процессами в системе.

Ядра

Микропроцессор T1 поэтажный план
UltraSPARC T1's трубопровод

UltraSPARC T1 был разработан с нуля как многопоточный процессор специального назначения и, таким образом, представляет собой совершенно новую архитектуру для достижения высокой производительности. Вместо того, чтобы пытаться сделать каждое ядро ​​настолько умным и оптимизированным, насколько это возможно, цель Sun заключалась в том, чтобы запустить как можно больше параллельных потоков и максимально использовать конвейер каждого ядра. Ядра T1 менее сложны, чем у современных высокопроизводительных процессоров, что позволяет разместить 8 ядер на одном кристалле. Ядра не имеют внеочередное исполнение, или значительное количество тайник.

Однопоточные процессоры в значительной степени зависят от больших кешей для своей производительности, потому что промахи в кэше приводят к ожиданию, пока данные извлекаются из основной памяти. Увеличивая размер кэша, вероятность промаха кэша уменьшается, но влияние промаха остается тем же.

Ядра T1 в значительной степени обходят стороной проблему пропусков кеша из-за многопоточности. Каждое ядро ​​- это баррель процессор, что означает, что он переключается между доступными потоками каждый цикл. Когда происходит событие с большой задержкой, такое как промах в кэше, поток выводится из ротации, а данные загружаются в кэш в фоновом режиме. После завершения события с большой задержкой поток снова становится доступным для выполнения. Совместное использование конвейера несколькими потоками может замедлить работу каждого потока, но общая пропускная способность (и использование) каждого ядра намного выше. Это также означает, что влияние промахов кэша значительно снижается, и T1 может поддерживать высокую пропускную способность с меньшим объемом кэша. Кэш больше не должен быть достаточно большим, чтобы содержать весь или большую часть «рабочего набора», только последние промахи кеша каждого потока.

Тесты показывают, что этот подход очень хорошо работает с коммерческими (целочисленными) многопоточными рабочими нагрузками, такими как Ява серверы приложений, Планирование ресурсов предприятия (ERP) серверы приложений, электронная почта (например, Лотос домино ) серверы и веб-серверы. Эти тесты показывают, что каждое ядро ​​в UltraSPARC T1 более мощное, чем одноядерный, однопоточный UltraSPARC III примерно 2001 года, и при сравнении чипа к чипу значительно превосходит другие процессоры в многопоточных целочисленных рабочих нагрузках.[нужна цитата ]

Физические характеристики

UltraSPARC T1 содержит 279 миллионов транзисторов и имеет площадь 378 мм.2. Это было сфабриковано Инструменты Техаса (TI) в их 90 нм комплементарный металл – оксид – полупроводник (CMOS) с девятью уровнями медное соединение.[1] Каждое ядро ​​имеет кэш инструкций L1 объемом 16 КБ и кэш данных 8 КБ. Кэш L2 составляет 3 МБ, а кэш L3 отсутствует.

Системы

Солнце огонь Сервер T1000

Процессор T1 можно найти в следующих продуктах Sun и Fujitsu Computer Systems:

Целевой рынок

Микропроцессор UltraSPARC T1 уникален по своим сильным и слабым сторонам и поэтому ориентирован на определенные рынки. Вместо того, чтобы использоваться для высококлассная обработка чисел и сверхвысокопроизводительных приложений, микросхема предназначена для сетевых серверов с высокими требованиями, таких как высокопроизводительные веб-серверы и серверы приложений Java, ERP и CRM среднего уровня, которые часто используют большое количество отдельных потоков. Одним из ограничений дизайна T1 является то, что один блок с плавающей запятой (FPU) используется всеми 8 ядрами, что делает T1 непригодным для приложений, выполняющих много вычислений с плавающей запятой. Однако, поскольку предполагаемые рынки процессоров обычно не используют много операций с плавающей запятой, Sun не ожидает, что это будет проблемой. Sun предоставляет инструмент для анализа уровня приложения параллелизм и использование инструкций с плавающей запятой, чтобы определить, подходит ли он для использования на платформе T1 или T2.[2]

В дополнение к обработке веб-уровня и уровня приложений UltraSPARC T1 может хорошо подходить для небольших приложений баз данных, которые имеют большое количество пользователей. Один клиент опубликовал результаты, показывающие, что MySQL приложение, работающее на сервере UltraSPARC T1, работало в 13,5 раз быстрее, чем на сервере AMD Opteron.[3]

Виртуализация

T1 - это первый процессор SPARC, поддерживающий режим выполнения Hyper-Privileged. Гипервизор SPARC работает в этом режиме, и он может разделить систему T1 на 32 Логические домены, каждый из которых может запускать экземпляр операционной системы.

В настоящее время, Солярис, Linux, NetBSD и OpenBSD поддерживаются.

Проблемы с лицензированием программного обеспечения

Традиционно коммерческие программные пакеты, такие как База данных Oracle взимать плату со своих клиентов в зависимости от количества процессоров, на которых работает программное обеспечение. В начале 2006 г. Oracle изменили модель лицензирования, введя коэффициент процессора. С коэффициентом процессора 0,25 для T1 8-ядерный T2000 требует только лицензии на 2 процессора.[4]

«Таблица факторов ядра процессора Oracle»[5] с тех пор регулярно обновляется по мере появления на рынке новых процессоров.

В третьем квартале 2006 г. IBM представила концепцию ценообразования за единицу стоимости (VU). Каждое ядро ​​T1 составляет 30 PVU (каждое ядро ​​T2 - 50 PVU, а T3 - 70 PVU) вместо значения по умолчанию в 100 PVU на ядро.[6]

Недостатки

T1 предлагал только один модуль с плавающей запятой, который совместно использовали 8 ядер, что ограничивало использование в средах HPC. Эта слабость была смягчена с помощью последующих UltraSPARC T2 процессор, включающий 8 блоков с плавающей запятой, а также другие дополнительные функции.

Кроме того, T1 был доступен только в однопроцессорных системах, что ограничивало вертикальную масштабируемость в крупных корпоративных средах. Эта слабость была смягчена с помощью следующего "UltraSPARC T2 Plus ",[7] а также следующее поколение SPARC T3 и SPARC T4. Все UltraSPARC T2 +, SPARC T3 и SPARC T4 предлагают конфигурации с одним, двумя и четырьмя сокетами.

T1 обладал выдающейся пропускной способностью с огромным количеством потоков, поддерживаемых процессором, но старые приложения, обремененные узкими местами в одном потоке, иногда демонстрировали низкую общую производительность. Слабость однопоточного приложения была устранена с помощью последующих SPARC T4 процессор. Количество ядер T4 было уменьшено до 8 (с 16 на T3), ядра были сделаны более сложными, тактовая частота была почти удвоена - все это способствовало более высокой производительности однопоточного процессора (от 300% до 500% по сравнению с предыдущими поколениями.[8] Дополнительные усилия были предприняты для добавления «API критического потока», в котором операционная система обнаруживала узкое место и временно выделяла ресурсы всего ядра вместо 1 (из 8) потоков целевым процессам приложений, демонстрирующим однопоточный ЦП. связанное поведение.[9] Это позволило T4 уникальным образом устранить узкие места в однопоточном режиме, при этом не пришлось идти на компромисс в общей архитектуре для достижения огромной многопоточной пропускной способности.

Настройка приложения

Используя огромное количество параллелизм на уровне потоков (TLP), доступный на платформе CoolThreads, может потребовать других методов разработки приложений, чем для традиционных серверных платформ. Использование TLP в приложениях - ключ к достижению хорошей производительности. Sun опубликовала ряд Sun BluePrints чтобы помочь прикладным программистам в разработке и развертывании программного обеспечения на серверах CoolThreads на базе T1 или T2. Основная статья, Настройка приложений в многопоточных системах с чипом UltraSPARC T1,[10] решает проблемы для обычных прикладных программистов. Также есть статья BluePrints об использовании модулей Cryptographic Accelerator Units на процессорах T1 и T2.[11]

Тематические исследования

На платформе CoolThreads был оптимизирован широкий спектр приложений, в том числе Symantec. Brightmail Антиспам,[12] Oracle Siebel Приложения,[13] и Веб-прокси-сервер Sun Java System.[14] Sun также задокументировала свой опыт переноса собственного интернет-магазина в кластер серверов T2000,[15] и опубликовали две статьи о веб-консолидации на CoolThreads с использованием Контейнеры Solaris.[16][17]

У Sun была страница настройки производительности приложений для ряда Открытый исходный код приложения, в том числе MySQL, PHP, gzip, и ImageMagick.[18] Правильная оптимизация для систем CoolThreads может дать значительный выигрыш: когда Компилятор Sun Studio используется с рекомендованными настройками оптимизации, производительность MySQL улучшается на 268% по сравнению с использованием только -O3 флаг.

Современный и последующий дизайн

Архитектура Coolthreads ™, начиная с UltraSPARC T1 (с ее положительными и отрицательными аспектами), безусловно, оказала влияние на параллельные и будущие разработки процессоров SPARC.

"Камень"

Исходный UltraSPARC T1 был разработан только для однопроцессорных систем и не поддерживает SMP. «Rock» был более амбициозным проектом, предназначенным для поддержки серверных архитектур с несколькими микросхемами, ориентированного на традиционные рабочие нагрузки, связанные с данными, такие как базы данных. Он рассматривался как продолжение процессоров Sun SMP, таких как UltraSPARC IV, а не заменой UltraSPARC T1 или T2, но был отменен в сроки Приобретение Oracle компании Sun.

UltraSPARC T2

Ранее известный под кодовым названием Ниагара 2, являющийся продолжением UltraSPARC T1, T2 имеет восемь ядер. В отличие от T1, каждое ядро ​​поддерживает 8 потоков на ядро, один FPU на ядро, один усовершенствованный криптографический блок на ядро ​​и встроенные в ЦП сетевые контроллеры 10 Gigabit Ethernet.

UltraSPARC T2 Plus

В феврале 2007 года Sun объявила на своем ежегодном саммите аналитиков, что ее третье поколение одновременная многопоточность дизайн, кодовое название водопад Виктория, был скотчем в октябре 2006 года. Двухсокетный сервер (2 RU ) будет иметь 128 потоков, 16 ядер и увеличение производительности в 65 раз по сравнению с UltraSPARC III.[7]

На Горячие чипсы 19 конференции Sun объявила, что у водопада Виктория будут двух- и четырехсторонние серверы. Таким образом, один 4-сторонний SMP-сервер будет поддерживать 256 параллельных аппаратных потоков.[19]

В апреле 2008 года Sun выпустила двусторонние серверы UltraSPARC T2 Plus, SPARC Enterprise T5140 и T5240.

В октябре 2008 года Sun выпустила 4-процессорный сервер UltraSPARC T2 Plus SPARC Enterprise T5440.[20]

SPARC T3

В октябре 2006 года Sun сообщила, что Niagara 3 будет построена по 45-нм техпроцессу.[нужна цитата ] Реестр, сообщил в июне 2008 года, что микропроцессор будет иметь 16 ядер, ошибочно предполагая, что каждое ядро ​​будет иметь 16 потоков. Во время конференции Hot Chips 21 Sun сообщила, что у этого чипа всего 16 ядер и 128 потоков.[21][22] Согласно ISSCC Презентация 2010 года:

«16-ядерный процессор SPARC SoC обеспечивает до 512 потоков в 4-процессорной бесклеевой системе для максимального увеличения пропускной способности. 6 МБ кэш-памяти L2 со скоростью 461 ГБ / с и 308-контактный ввод-вывод SerDes со скоростью 2,4 Тбит / с обеспечивают необходимую пропускную способность. тактовая частота и четыре области напряжения, а также методы управления питанием и схемотехники оптимизируют производительность, мощность, изменчивость и обеспечивают компромиссы на 377 мм2 умереть."[23]

SPARC T4

ЦП T4 был выпущен в конце 2011 года. Новый ЦП T4 упадет с 16 ядер (на T3) до 8 ядер (как используется на T1, T2 и T2 +). В новом дизайне ядра T4 (названном «S3») улучшена производительность по потокам за счет введения внеочередного выполнения, а также дополнительно улучшена производительность однопоточных программ.[24][25]

В 2010, Ларри Эллисон объявила, что Oracle предложит Oracle Linux на платформе UltraSPARC, и порт должен был быть доступен во временные рамки T4 и T5.[26]

Джон Фаулер, исполнительный вице-президент по системам Oracle на конференции Openworld 2014, сказал, что Linux в какой-то момент сможет работать на Sparc.[27][28][29][30]

SPARC T5

Новый ЦП T5 имеет 128 потоков по 16 ядрам и изготовлен по 28-нанометровой технологии.

Открытый дизайн

21 марта 2006 г. компания Sun сделала процессор UltraSPARC T1 доступным в рамках Стандартная общественная лицензия GNU через OpenSPARC проект. Опубликованная информация включает:

  • Verilog исходный код дизайна UltraSPARC T1;
  • Пакет верификации и имитационные модели;
  • Спецификация ISA (UltraSPARC Architecture 2005);
  • В Солярис 10 имитационных образов ОС.

Рекомендации

  1. ^ МакГан, Харлан (6 ноября 2006 г.). «Ниагара 2 открывает шлюзы». Отчет микропроцессора.
  2. ^ "cooltst: Инструмент выбора интересных тем". Блог о характеристиках рабочих нагрузок. Sun Microsystems. 6 апреля 2006 г.. Получено 2008-05-30.
  3. ^ Томас Рампельберг; Джейсон Дж. У. Уильямс (2009-05-09). "Круиз с T2k" (PDF). DigiTar. п. 6. Получено 2007-02-07.
  4. ^ «Многоядерные процессоры: влияние на лицензирование процессоров Oracle» (PDF). Oracle. Архивировано из оригинал (PDF) на 2007-03-20. Получено 2007-08-12.
  5. ^ «Таблица коэффициентов ядра процессора Oracle» (PDF). Oracle. Получено 8 сентября 2011.
  6. ^ «Лицензирование единицы мощности процессора для распределенного ПО». IBM. Получено 2011-06-15.
  7. ^ а б Фаулер, Джон (6 февраля 2007 г.). «Рост благодаря дизайну» (PDF). Sun Microsystems. п. 21 год. Получено 2007-02-07.
  8. ^ «Чип Oracle Sparc T4: заплатите ли вы премию Ларри?». Реестр. Получено 2012-06-21.
  9. ^ «Беседы с новаторами Oracle». Oracle. Получено 2012-06-21.
  10. ^ «Разработка и настройка приложений для многопоточных систем с чипом UltraSPARC T1» (PDF). Sun BluePrints онлайн. Sun Microsystems. Получено 2008-01-09.
  11. ^ «Использование криптографических ускорителей в процессорах UltraSPARC T1 и T2» (PDF). Sun BluePrints онлайн. Sun Microsystems. Получено 2008-01-09.
  12. ^ «Настройка Symantec Brightmail AntiSpam на серверах с процессором UltraSPARC T1 и T2» (PDF). Sun BluePrints онлайн. Sun Microsystems. Получено 2008-01-09.
  13. ^ «Оптимизация приложений Oracle Siebel на серверах Sun Fire с помощью технологии CoolThreads» (PDF). Sun BluePrints онлайн. Sun Microsystems. Получено 2008-01-09.
  14. ^ «Высокопроизводительное и надежное решение Sun для веб-прокси» (PDF). Sun BluePrints онлайн. Sun Microsystems. Получено 2008-01-09.
  15. ^ «Консолидация Sun Store на серверах Sun Fire T2000» (PDF). Sun BluePrints онлайн. Sun Microsystems. Октябрь 2007 г.. Получено 2008-01-09.
  16. ^ «Развертывание Sun Java Enterprise System 2005-Q4 на сервере Sun Fire T2000 с использованием контейнеров Solaris» (PDF). Sun BluePrints онлайн. Sun Microsystems. Получено 2008-01-09.
  17. ^ «Веб-консолидация на Sun Fire T1000 с использованием контейнеров Solaris» (PDF). Sun BluePrints онлайн. Sun Microsystems. Получено 2008-01-09.
  18. ^ «Настройка производительности приложений». Sun Microsystems. Получено 2008-01-09.
  19. ^ Стивен, Филлипс (21 августа 2007 г.). «Водопад Виктория: масштабирование процессорных ядер с высокой степенью потоков» (PDF). Sun Microsystems. п. 24. Получено 2007-08-24.
  20. ^ «Сервер SPARC Enterprise T5440 от Sun и Fujitsu переопределяет корпоративные вычисления среднего уровня с лучшими в отрасли ценами, управлением питанием и множеством мировых рекордов». Sun Microsystems. 13 октября 2008 г.. Получено 2008-10-13.
  21. ^ Санджай Патель, Стивен Филлипс и Аллан Стронг. "Многопоточный процессор нового поколения Sun - Rainbow Falls: CMT-процессор нового поколения Sun В архиве 2011-07-23 на Wayback Machine ". ГОРЯЧИЕ ЧИПСЫ 21.
  22. ^ Стоукс, Джон (9 февраля 2010 г.). "Два миллиарда транзисторов: POWER7 и Niagara 3 ". Ars Technica.
  23. ^ Дж. Шин, К. Там, Д. Хуанг, Б. Петрик, Х. Фам, К. Хван, Х. Ли, А. Смит, Т. Джонсон, Ф. Шумахер, Д. Гринхилл, А. Леон, А. Стронг. «40-нм 16-ядерный 128-поточный процессор CMT SPARC SoC». ISSCC 2010.
  24. ^ «Чип Oracle SPARC T4: заплатите ли вы премию Ларри?».
  25. ^ Шон Галлахер (28 сентября 2011 г.), «SPARC T4 выглядит достаточно хорошо, чтобы предотвратить переход к x86, Linux», arstechnica.com, Ars Technica
  26. ^ Никколай, Джеймс. «Эллисон: Oracle Enterprise Linux переходит на Sparc». PCWorld.
  27. ^ «Oracle заявляет, что чип Sparc M7 положит конец Heartbleed». Спрашивающий.
  28. ^ "патчи binutils". binutils ml.
  29. ^ "патчи ядра Linux". sparc linux мл.
  30. ^ "патчи libc". libc ml.

внешняя ссылка