stringtranslate.com

УльтраSPARC T1

Процессор UltraSPARC T1

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 (Niagara, 8 ядер)
Конвейер UltraSPARC 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 отсутствует.

Системы

Сервер Sun Fire T1000

Процессор 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.

УльтраSPARC T2

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

УльтраSPARC T2 Plus

В феврале 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]

СПАРК Т3

В октябре 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]

СПАРК Т4

Процессор 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]

СПАРК Т5

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

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

21 марта 2006 года компания Sun сделала проект процессора UltraSPARC T1 доступным под лицензией GNU General Public License через проект OpenSPARC . [32] Опубликованная информация включает в себя:

Ссылки

  1. ^ "OpenSPARC T1". SunSource.net . Sun Microsystems. 2006. Архивировано из оригинала 21 апреля 2006 г. Получено 3 августа 2024 г.
  2. ^ Макган, Харлан (6 ноября 2006 г.). «Ниагара 2 открывает шлюзы». Отчет о микропроцессоре .
  3. ^ "cooltst: Cool Threads Selection Tool". Блог Workload Characterization . Sun Microsystems . 6 апреля 2006 г. Получено 2008-05-30 .
  4. ^ Томас Рампельберг; Джейсон Дж. В. Уильямс (2006-05-09). "Cruisin' with a T2k" (PDF) . DigiTar. стр. 6. Получено 2007-02-07 .
  5. ^ "Многоядерные процессоры: влияние на лицензирование процессоров Oracle" (PDF) . Oracle. Архивировано из оригинала (PDF) 2007-03-20 . Получено 12-08-2007 .
  6. ^ "Таблица факторов ядра процессора Oracle" (PDF) . Oracle . Получено 8 сентября 2011 г. .
  7. ^ "Лицензирование единиц производительности процессора для распределенного ПО". IBM . Получено 15 июня 2011 г.
  8. ^ ab Fowler, John (6 февраля 2007 г.). "Growth by Design" (PDF) . Sun Microsystems . стр. 21. Получено 2007-02-07 .
  9. ^ "Чип Oracle Sparc T4: вы заплатите премию Ларри?". The Register . Получено 21.06.2012 .
  10. ^ "Беседы с инноваторами Oracle". Oracle . Получено 2012-06-21 .
  11. ^ "Разработка и настройка приложений на многопоточных системах на базе микросхем UltraSPARC T1" (PDF) . Sun BluePrints Online . Sun Microsystems . Получено 09.01.2008 .
  12. ^ "Использование криптографических ускорителей в процессорах UltraSPARC T1 и T2" (PDF) . Sun BluePrints Online . Sun Microsystems . Получено 2008-01-09 .
  13. ^ "Настройка Symantec Brightmail AntiSpam на серверах с процессорами UltraSPARC T1 и T2" (PDF) . Sun BluePrints Online . Sun Microsystems . Получено 2008-01-09 .
  14. ^ "Оптимизация приложений Oracle Siebel на серверах Sun Fire с помощью технологии CoolThreads" (PDF) . Sun BluePrints Online . Sun Microsystems . Получено 09.01.2008 .
  15. ^ "Высокопроизводительное и надежное решение веб-прокси от Sun" (PDF) . Sun BluePrints Online . Sun Microsystems . Получено 2008-01-09 .
  16. ^ "Консолидация Sun Store на серверах Sun Fire T2000" (PDF) . Sun BluePrints Online . Sun Microsystems. Октябрь 2007 г. Получено 2008-01-09 .
  17. ^ "Развертывание Sun Java Enterprise System 2005-Q4 на сервере Sun Fire T2000 с использованием контейнеров Solaris" (PDF) . Sun BluePrints Online . Sun Microsystems . Получено 2008-01-09 .
  18. ^ "Web Consolidation on the Sun Fire T1000 using Solaris Containers" (PDF) . Sun BluePrints Online . Sun Microsystems . Получено 2008-01-09 .
  19. ^ "Настройка производительности приложений". Sun Microsystems . Получено 2008-01-09 .
  20. ^ Стивен, Филлипс (21 августа 2007 г.). «Водопад Виктория: масштабирование многопоточных процессорных ядер» (PDF) . Sun Microsystems . стр. 24 . Получено 24 августа 2007 г. .
  21. ^ "Сервер SPARC Enterprise T5440 от Sun и Fujitsu выводит на новый уровень вычислительные системы среднего уровня с ведущими в отрасли ценами, управлением питанием и многочисленными мировыми рекордами". Sun Microsystems . 13 октября 2008 г. Получено 13 октября 2008 г.
  22. ^ Санджай Патель, Стивен Филлипс и Аллан Стронг. "Многопоточный процессор следующего поколения от Sun - Rainbow Falls: Процессор следующего поколения CMT от Sun. Архивировано 23 июля 2011 г. на Wayback Machine ". HOT CHIPS 21 .
  23. Стоукс, Джон (9 февраля 2010 г.). «Два монстра с миллиардом транзисторов: POWER7 и Niagara 3». Ars Technica .
  24. ^ J. Shin, K. Tam, D. Huang, B. Petrick, H. Pham, C. Hwang, H. Li, A. Smith, T. Johnson, F. Schumacher, D. Greenhill, A. Leon, A. Strong. "40-нм 16-ядерный 128-поточный CMT SPARC SoC-процессор". ISSCC 2010 .
  25. ^ «Процессор Oracle SPARC T4: вы заплатите премию Ларри?». The Register .
  26. Шон Галлахер (28 сентября 2011 г.), «SPARC T4 выглядит достаточно хорошим, чтобы предотвратить переход на x86, Linux», arstechnica.com , Ars Technica
  27. ^ Николаи, Джеймс. «Эллисон: Oracle Enterprise Linux выходит на Sparc». PCWorld.
  28. ^ "Oracle заявляет, что чип Sparc M7 положит конец Heartbleed". The Inquirer. Архивировано из оригинала 3 октября 2014 г.{{cite web}}: CS1 maint: неподходящий URL ( ссылка )
  29. ^ "патчи binutils". binutils ml.
  30. ^ "патчи ядра Linux". sparc linux ml.
  31. ^ "libc patches". libc ml.
  32. ^ "Open SPARC T1". oracle.com . Получено 2021-01-16 .

Внешние ссылки