Ячейка (микропроцессор)

редактировать

Ячейка представляет собой многоядерную микроархитектуру микропроцессора, которая объединяет универсальное PowerPC ядро ​​ скромной производительности с оптимизированными сопроцессорными элементами, которые значительно ускоряют мультимедиа и векторную обработку приложений, а также многие другие формы специализированных вычислений.

Он был разработан Sony, Toshiba и IBM, известным альянсом как «СТИ». Архитектурный проект и первая реализация были выполнены в Центре дизайна STI в Остине, штат Техас в течение четырехлетнего периода, начиная с марта 2001 г., при бюджете, который, по данным Sony, приближается к 400 долл. США. миллион. Cell - это сокращение от Cell Broadband Engine Architecture, обычно сокращенно CBEA полностью или Cell BE частично.

Первое крупное коммерческое применение Cell было в игровой консоли Sony PlayStation 3 , выпущенной в 2006 году. В мае 2008 года на базе Cell IBM Roadrunner суперкомпьютер стал первым TOP500 LINPACK устойчивой системой 1,0 петафлопс. Mercury Computer Systems также разработала конструкции на основе Cell.

Архитектура Cell включает архитектуру когерентности памяти, которая подчеркивает энергоэффективность, отдает предпочтение полосе пропускания над низкой задержкой и поддерживает пиковые вычисления пропускная способность над простотой программного кода. По этим причинам Cell считается сложной средой для разработки программного обеспечения. IBM предоставляет платформу разработки на основе Linux, чтобы помочь разработчикам создавать программы для чипов Cell.

Содержание

  • 1 История
    • 1.1 Коммерциализация
  • 2 Обзор
    • 2.1 PowerXCell 8i
  • 3 Архитектура
    • 3.1 Элемент процессора питания (PPE)
      • 3.1.1 Ксенон в Xbox 360
    • 3.2 Элементы синергетической обработки (SPE)
    • 3.3 Шина межсоединения элементов (EIB)
      • 3.3.1 Оценка пропускной способности
    • 3.4 Контроллеры памяти и ввода / вывода
  • 4 Возможные применения
    • 4.1 Карта обработки видео
    • 4.2 Блейд-сервер
    • 4.3 Плата PCI Express
    • 4.4 Консольные видеоигры
    • 4.5 Домашний кинотеатр
    • 4.6 Суперкомпьютеры
    • 4.7 Кластерные вычисления
    • 4.8 Распределенные вычисления
    • 4.9 Мэйнфреймы
    • 4.10 Взлом паролей
  • 5 Разработка программного обеспечения
    • 5.1 Очередь заданий
    • 5.2 Многозадачность SPE
    • 5.3 Потоковая обработка
    • 5.4 Разработка программного обеспечения с открытым исходным кодом
  • 6 Галерея
  • 7 См. Также
  • 8 Ссылки
  • 9 Внешние ссылки

История

Ячейка BE, как она отображается в PS3 на материнская плата Peter Hofs tee, один из главных разработчиков микропроцессора Cell

. В середине 2000 г. образовались Sony Computer Entertainment, Toshiba Corporation и IBM. альянс, известный как "STI" по разработке и производству процессора.

Центр дизайна STI открылся в марте 2001 года. Ячейка проектировалась в течение четырех лет с использованием усовершенствованных версий инструментов проектирования для Процессор POWER4. Более 400 инженеров из трех компаний работали вместе в Остине при критической поддержке одиннадцати проектных центров IBM. За это время IBM подала множество патентов, касающихся архитектуры Cell, производственного процесса и программной среды. Ранняя патентная версия Broadband Engine была показана как пакет микросхемы, содержащий четыре «элемента обработки», которые были описанием патента для того, что теперь известно как элемент обработки мощности (PPE). Каждый элемент обработки будет содержать 8 «элементов синергетической обработки» (SPE) на кристалле. Этот пакет микросхем должен был работать с тактовой частотой 4 ГГц, а с 32 SPE, обеспечивающими 32 гигафлопс каждый (четверть точности FP8), Broadband Engine теоретически должен был иметь необработанную вычислительную мощность 1 терафлопс.

Проект с 4 СИЗ и 32 СИЗ так и не был реализован. Вместо этого Sony и IBM изготовили конструкцию только с одним PPE и 8 SPE. Эта меньшая конструкция, Cell Broadband Engine или Cell / BE, была изготовлена ​​с использованием процесса 90 нм SOI.

В марте 2007 года IBM объявила, что 65-нм версия Cell / BE находится в производстве на своем заводе (в то время это GlobalFoundries ') в Ист-Фишкилл, Нью-Йорк.

Bandai Namco Entertainment использовала процессор Cell / BE для их аркадная плата 357, а также последующие 369.

В феврале 2008 года IBM объявила, что она начнет производство процессоров Cell по процессу 45 нм.

В мае 2008 года IBM представила высокопроизводительную версию процессора Cell с плавающей запятой двойной точности, PowerXCell 8i, с размером элемента 65 нм.

В мае 2008 года суперкомпьютер на базе Opteron и PowerXCell 8i, система IBM Roadrunner, стала первой в мире системой, достигающей одного петафлопс, и была самый быстрый компьютер в мире до третьего квартала 2009 года. Три самых энергоэффективных суперкомпьютера в мире, представленные в списке Green500, также основаны на PowerXCell 8i.

45-нм процессор Cell был представлен вместе с Sony PlayStation 3 Slim в августе 2009 года.

К ноябрю 2009 года IBM прекратила разработку процессора Cell с 32 APU, но все еще разрабатывала другие продукты Cell.

Коммерциализация

17 мая 2005 г. Sony Computer Entertainment подтвердила некоторые спецификации процессора Cell, которые будут поставляться в грядущей на тот момент модели <279.>Консоль PlayStation 3. Эта конфигурация ячейки имеет один PPE в ядре с восемью физическими SPE в кремнии. В PlayStation 3 один SPE блокируется во время процесса тестирования, что помогает повысить производительность, а другой зарезервирован для ОС, оставляя 6 бесплатных SPE для использования кодом игр. Целевая тактовая частота при введении составляет 3,2 ГГц. Вводный дизайн изготовлен с использованием процесса SOI 90 нм, при этом начальное серийное производство планируется на предприятии IBM в Ист-Фишкилл, Нью-Йорк.

Взаимосвязь между ядрами и потоками является распространенным источником путаницы. Ядро PPE является двухпоточным и проявляется в программном обеспечении как два независимых потока выполнения, в то время как каждый активный SPE проявляется как один поток. В конфигурации PlayStation 3, описанной Sony, процессор Cell обеспечивает девять независимых потоков выполнения.

28 июня 2005 г. IBM и Mercury Computer Systems объявили о партнерском соглашении по созданию компьютерных систем на основе Cell для встроенных приложений, таких как медицинская визуализация., аэрокосмическая промышленность и оборона, обработка сейсмических данных и телекоммуникации. С тех пор Mercury выпустила блейд-серверы, обычные стоечные серверы и платы ускорителей PCI Express с процессорами Cell.

Осенью 2006 года IBM выпустила блейд-модуль QS20 , в котором используются процессоры Dual Cell BE, что обеспечивает потрясающую производительность в определенных приложениях, достигая пика в 410 гигафлопс при четверть точности FP8 на модуль. QS22 на базе процессора PowerXCell 8i использовался для суперкомпьютера IBM Roadrunner. Mercury и IBM используют полностью загруженный процессор Cell с восемью активными SPE. 8 апреля 2008 г. компания Fixstars Corporation выпустила плату ускорителя PCI Express на базе процессора PowerXCell 8i.

Высокопроизводительный сервер мультимедийных вычислений Sony ZEGO использует 3,2 ГГц Cell / BE процессор.

Обзор

"голый" кристалл (без держателя микросхемы ) процессора Cell

Cell Broadband Engine, или Cell, как это более широко известно, представляет собой микропроцессор, задуманный как гибрид обычных процессоров для настольных ПК (таких как семейства Athlon 64 и Core 2 ) и более специализированных высокопроизводительных процессоры, такие как графические процессоры NVIDIA и ATI (графические процессоры ). Более длинное имя указывает на его предполагаемое использование, а именно в качестве компонента в существующих и будущих системах онлайн-распространения ; как таковой он может использоваться в дисплеях высокой четкости и записывающем оборудовании, а также в системах HDTV. Кроме того, процессор может подходить для систем формирования цифровых изображений (медицинских, научных и т. Д.) И физического моделирования (например, научного и инженерного моделирования).

В простом анализе процессор Cell можно разделить на четыре компонента: внешние структуры ввода и вывода, главный процессор, называемый элементом обработки мощности (PPE) (двусторонний одновременный-многопоточный ядро ​​PowerPC 2.02 ), восемь полнофункциональных сопроцессоров, называемых элементами синергетической обработки, или SPE, и специализированная широкополосная кольцевая шина данных, соединяющая PPE, ввод / вывод элементы и SPE, называемые шиной межсоединения элементов или EIB.

Для достижения высокой производительности, необходимой для математически интенсивных задач, таких как декодирование / кодирование потоков MPEG, генерация или преобразование трехмерных данных или выполнение анализа Фурье данных, процессор Cell объединяет SPE и PPE через EIB, чтобы предоставить доступ через полностью согласованный кэш DMA (прямой доступ к памяти) как к основной памяти, так и к другим внешним хранилищам данных. Чтобы максимально использовать возможности EIB и перекрывать вычисления и передачу данных, каждый из девяти элементов обработки (PPE и SPE) оснащен механизмом DMA. Поскольку инструкции загрузки / сохранения SPE могут обращаться только к своей собственной локальной оперативной памяти, каждый SPE полностью зависит от DMA для передачи данных в основную память и локальную память других SPE и из них. Операция DMA может передавать либо единичную область блока размером до 16 КБ, либо список от 2 до 2048 таких блоков. Одним из основных проектных решений в архитектуре Cell является использование DMA в качестве центрального средства передачи данных внутри кристалла с целью обеспечения максимальной асинхронности и параллелизма при обработке данных внутри кристалла.

PPE, на котором может работать обычная операционная система, контролирует SPE и может запускать, останавливать, прерывать и планировать процессы, выполняемые на SPE. Для этого PPE имеет дополнительные инструкции, относящиеся к управлению SPE. В отличие от SPE, PPE может читать и записывать основную память и локальную память SPE с помощью стандартных инструкций загрузки / сохранения. Несмотря на наличие полной архитектуры по Тьюрингу, SPE не являются полностью автономными и требуют, чтобы PPE запускал их, прежде чем они смогут выполнять какую-либо полезную работу. Поскольку большая часть «лошадиных сил» системы обеспечивается элементами синергетической обработки, использование DMA в качестве метода передачи данных и ограниченный объем локальной памяти каждого SPE представляют серьезную проблему для разработчиков программного обеспечения, которые желаете максимально использовать эту мощность, требуя тщательной ручной настройки программ для извлечения максимальной производительности из этого процессора.

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

И PPE, и SPE являются архитектурами RISC с 32-битным форматом команд фиксированной ширины. PPE содержит набор 64-битных регистров общего назначения (GPR), 64-битный набор регистров с плавающей запятой (FPR) и 128-битный набор регистров Altivec. SPE содержит только 128-битные регистры. Их можно использовать для скалярных типов данных размером от 8 до 64 бит или для вычислений SIMD в различных целочисленных форматах и ​​форматах с плавающей запятой. Адреса системной памяти для PPE и SPE выражаются как 64-битные значения для теоретического диапазона адресов в 2 байта (16 эксабайт или 16 777 216 терабайт). На практике не все эти биты реализованы аппаратно. Адреса локального хранилища, внутренние для процессора SPU (Synergistic Processor Unit), выражаются в виде 32-битного слова. В документации, относящейся к ячейке, слово всегда означает 32 бита, двойное слово означает 64 бита, а четверное слово означает 128 бит.

PowerXCell 8i

В 2008 году IBM анонсировала обновленный вариант Cell под названием PowerXCell 8i, который доступен в QS22 Blade Servers от IBM. PowerXCell производится по процессу 65 нм и добавляет поддержку до 32 ГБ памяти DDR2 со слотами, а также значительно улучшает производительность с плавающей запятой двойной точности на SPE с пикового значения около 12,8. От GFLOPS до 102,4 GFLOPS для восьми SPE, что, по совпадению, является такой же пиковой производительностью, что и векторный процессор NEC SX-9, выпущенный примерно в то же время. Суперкомпьютер IBM Roadrunner, самый быстрый в мире в период с 2008 по 2009 год, состоял из 12 240 процессоров PowerXCell 8i и 6 562 процессоров AMD Opteron. Суперкомпьютеры с питанием от PowerXCell 8i также доминировали во всех шести самых «зеленых» системах в списке Green500, с самым высоким соотношением MFLOPS / Watt в мире. Помимо QS22 и суперкомпьютеров, процессор PowerXCell также доступен в качестве ускорителя на карте PCI Express и используется в качестве основного процессора в проекте QPACE.

Поскольку в PowerXCell 8i был удален интерфейс памяти RAMBUS и добавлены интерфейсы DDR2 значительно большего размера, а также улучшены SPE, пришлось переработать компоновку микросхемы, что привело к увеличению размера кристалла и корпуса.

Архитектура

Хотя микросхема Cell может иметь несколько различных конфигураций, основная конфигурация - это многоядерный чип, состоящий из одного «элемента процессора питания» («PPE») (иногда называемого «обработка Элемент », или« PE »), и несколько« элементов синергетической обработки »(« SPE »). PPE и SPE связаны между собой внутренней высокоскоростной шиной, получившей название «Element Interconnect Bus» («EIB»).

Power Processor Element (PPE)

PPE представляет собой основанное на PowerPC, двунаправленное последовательное двухпоточное одновременное многопоточное ядро с 23-ступенчатым конвейером, выступающим в качестве контроллера для восьми SPE, которые обрабатывают большую часть вычислительной нагрузки. СИЗ имеет ограниченные возможности исполнения вне очереди; он может выполнять загрузки вне очереди и имеет конвейеры отложенного выполнения . PPE будет работать с обычными операционными системами из-за его сходства с другими 64-битными процессорами PowerPC, в то время как SPE предназначены для выполнения векторизованного кода с плавающей запятой. PPE содержит кэш размером 64 KiB уровня 1 (инструкция 32 KiB и данные 32 KiB) и кэш уровня 2 512 KiB. Размер строки кэша составляет 128 байт. Кроме того, IBM включила модуль AltiVec (VMX), который полностью конвейеризован для одинарной точности с плавающей запятой (Altivec 1 не поддерживает векторы с плавающей запятой двойной точности.), 32-битный блок с фиксированной точкой (FXU) с 64-битным регистровым файлом на поток, блок загрузки и сохранения (LSU), 64-битный с плавающей точкой Unit (FPU), Branch Unit (BRU) и Branch Execution Unit (BXU). PPE состоит из трех основных блоков: блока инструкций (IU), блока выполнения (XU) и блока векторного / скалярного исполнения (VSU). IU содержит кэш инструкций L1, оборудование для прогнозирования ветвлений, буферы инструкций и логин для проверки зависимостей. XU содержит целочисленные исполнительные блоки (FXU) и блок загрузки-сохранения (LSU). VSU содержит все ресурсы выполнения для FPU и VMX. Каждый PPE может выполнять две операции двойной точности за такт с использованием скалярной инструкции слияния-умножения-сложения, которая преобразуется в 6,4 GFLOPS на частоте 3,2 ГГц; или восемь операций одинарной точности за такт с векторной инструкцией слияния-умножения-сложения, что соответствует 25,6 гигафлопс на частоте 3,2 ГГц.

Xenon в Xbox 360

PPE был разработан специально для Сотовый процессор, но во время разработки Microsoft обратилась к IBM с просьбой получить высокопроизводительное процессорное ядро ​​для своего Xbox 360. IBM выполнила это требование и создала трехъядерный процессор Xenon, основанный на слегка модифицированной версии PPE с добавленными расширениями VMX128.

Synergistic Processing Elements (SPE)

Каждый SPE - это процессор двойного назначения, состоящий из «блока синергетической обработки», SPU и «контроллера потока памяти», MFC (DMA, MMU и интерфейс шины). SPE не имеют аппаратного обеспечения предсказания ветвлений (следовательно, компилятор ложится тяжелой нагрузкой). Каждый SPE имеет 6 исполнительных блоков, разделенных между нечетными и четными конвейерами на каждом SPE: SPU выполняет специально разработанный набор инструкций (ISA) с 128-битным SIMD организация инструкций одинарной и двойной точности. В текущем поколении ячейки каждый SPE содержит 256 КБ встроенную SRAM для инструкций и данных, называемую «Локальное хранилище» (не путать с «Локальная память» в документах Sony, которые относятся к VRAM), которая видна PPE и может быть адресована непосредственно программным обеспечением. Каждый SPE может поддерживать до 4 ГиБ локальной памяти. Локальное хранилище не работает как обычный кэш ЦП, поскольку он не прозрачен для программного обеспечения и не содержит аппаратных структур, которые предсказывают, какие данные загружать. SPE содержат 128-битный файл регистров с 128 записями и имеют размер 14,5 мм для процесса 90 нм. SPE может работать с шестнадцатью 8-битными целыми числами, восемью 16-битными целыми числами, четырьмя 32-битными целыми числами или четырьмя числами с плавающей запятой одинарной точности за один такт, а также с операцией памяти. Обратите внимание, что SPU не может напрямую обращаться к системной памяти; 64-битные адреса виртуальной памяти, сформированные SPU, должны быть переданы из SPU в контроллер потока памяти SPE (MFC), чтобы настроить операцию DMA в системном адресном пространстве.

В одном типичном сценарии использования система загружает SPE небольшими программами (аналогично потокам ), связывая SPE вместе для обработки каждого шага в сложной операции. Например, телеприставка может загружать программы для чтения DVD, декодирования видео и звука и отображения, и данные будут передаваться от SPE к SPE до тех пор, пока, наконец, не окажутся на телевизоре. Другая возможность - разделить входной набор данных и иметь несколько SPE, выполняющих одинаковые операции параллельно. На частоте 3,2 ГГц каждый SPE дает теоретические 25,6 GFLOPS одинарной точности.

По сравнению с его персональным компьютером современниками, относительно высокая общая производительность процессора Cell с плавающей запятой, по-видимому, затмевает возможности модуля SIMD в процессорах, таких как Pentium 4 и Athlon 64. Однако сравнение возможностей системы только с плавающей запятой - это одномерный показатель, зависящий от конкретного приложения. В отличие от процессора Cell, такие настольные процессоры больше подходят для программного обеспечения общего назначения, которое обычно запускается на персональных компьютерах. Помимо выполнения нескольких инструкций за такт, процессоры Intel и AMD имеют предикторы ветвления. Ячейка предназначена для компенсации этого с помощью компилятора, в котором создаются инструкции по подготовке к переходу. Для операций с плавающей запятой двойной точности, которые иногда используются в персональных компьютерах и часто используются в научных вычислениях, производительность Cell падает на порядок, но все же достигает 20,8 GFLOPS (1,8 GFLOPS на SPE, 6,4 GFLOPS на PPE). Вариант PowerXCell 8i, который был специально разработан для двойной точности, достигает 102,4 GFLOPS при вычислениях двойной точности.

Тесты IBM показывают, что SPE могут достичь 98% своей теоретической пиковой производительности при оптимизированном параллельном умножении матриц.

Toshiba разработала сопроцессор на базе четырех SPE, но без PPE, названный SpursEngine, предназначенный для ускорения 3D-эффектов и эффектов кино в бытовой электронике.

Каждый SPE имеет локальную память размером 256 КБ. Всего у SPE 2 МБ локальной памяти.

Element Interconnect Bus (EIB)

EIB - это внутренняя коммуникационная шина процессора Cell, которая соединяет различные элементы системы на кристалле: процессор PPE, контроллер памяти (MIC), восемь сопроцессоров SPE и два интерфейса ввода-вывода вне кристалла, всего 12 участников в PS3 (количество SPU может варьироваться в промышленных приложениях). EIB также включает арбитражный блок, который функционирует как светофор. В некоторых документах IBM называет участников ЕИБ «единицами».

EIB в настоящее время реализован как круговое кольцо, состоящее из четырех однонаправленных каналов шириной 16 байт, которые попарно вращаются в противоположных направлениях. Когда шаблоны трафика позволяют, каждый канал может передавать до трех транзакций одновременно. Поскольку EIB работает на половине системной тактовой частоты, эффективная канальная скорость составляет 16 байтов каждые два системных такта. При максимальном параллелизме с тремя активными транзакциями в каждом из четырех колец пиковая мгновенная полоса пропускания EIB составляет 96 байтов за такт (12 параллельных транзакций × 16 байтов шириной / 2 системных такта на передачу). Хотя эта цифра часто цитируется в литературе IBM, просто масштабировать ее по тактовой частоте процессора нереально. Блок арбитража накладывает дополнительные ограничения..

Старший инженер IBM, ведущий разработчик EIB, объясняет модель параллелизма:

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

У каждого участника EIB есть один 16-байтовый порт чтения и один 16-байтовый порт записи. Ограничение для одного участника - это чтение и запись со скоростью 16 байтов за такт EIB (для простоты принято считать, что 8 байтов за такт). Каждый процессор SPU содержит выделенную очередь управления DMA, способную планировать последовательность транзакций различными к конечным точкам без вмешательства в текущие вычисления SPU; этими очередями DMA можно управлять локально или удаленно, что обеспечивает дополнительную гибкость модели управления.

Данные передаются по каналу ступенчато EIB по кольцу. Два участника двенадцать, общее количество шагов по каналу до исходной точки равно двенадцати. Шесть шагов - это самое большое расстояние между любым парой участников. Каналу EIB не разрешены данные, требующие более шести шагов; такие должны идти по более короткому данным по кругу в другом направлении. Количество шагов, участвующих в отправке пакета, очень мало влияет на задержку передачи: тактовая частота, управляющая шагами, очень высока по сравнению с другими соображениями. Однако более длинные дистанции связи показывают общую производительность EIB, поскольку они снижают доступный параллелизм.

Несмотря на большее желание IBM реализует EIB как более мощную перекладину, круговую конфигурацию, которую принимает для экономии ресурсов, редко является ограничивающим фактором для производительности чипа Cell в целом. В худшем программисте должен проявить особую осторожность, чтобы спланировать шаблоны связи, при которых EIB может функционировать на высоких уровнях параллелизма.

Дэвид Кролак объяснил:

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

Оценка полосы пропускания

На частоте 3,2 ГГц каждый канал имеет скорость 25,6 ГБ / с. Если рассматривать EIB отдельно от элементов системы, которые он соединяет, выполнение двенадцати одновременных транзакций при таком потоке приводит к абстрактной пропускной способности EIB 307,2 ГБ / с. Основываясь на этой точке обзора, многие публикации IBM показывают доступную пропускную способность EIB как «300 ГБ / с». Это число отражает пиковую мгновенную полосу пропускания EIB, масштабируемую величину процессора.

Однако другие технические ограничения связаны с механизмом арбитража для пакетов, принимаемых на шину. Группа IBM Systems Performance объяснила:

Каждое устройство в EIB может одновременно отправлять и получать 16 байтов данных за каждый цикл шины. Максимальная пропускная способность данных для всего EIB ограничивает максимальную скорость, с которой этот адрес отслеживается всеми устройствами в системе, которая составляет один за цикл шины. Скорость передачи теоретических данных на EIB составляет 3,2 ГГц 128Bx1,6 ГГц = 204,8 ГБ / с.

Эта цитата, по-видимому, представляет собой полную публичного раскрытия информации IBM этот механизм и его влияние. Блок арбитража EIB, механизм и генерация прерывания при сбоях трансляции сегментов или недостаточно хорошо блокирует документацию, которая еще не опубликована IBM.

На практике эффективная полоса пропускания EIB также может быть ограничена кольцо вовлеченных участников. В то время как каждый из девяти процессорных ядер может поддерживать синхронное чтение и запись со скоростью 25,6 ГБ / с, контроллер интерфейса памяти (MIC) привязан к паре каналов памяти XDR, обеспечивающий максимальный поток 25,6 ГБ / с для чтения и записи документировано, что комбинированный и два контроллера ввода-вывода максимальную комбинированную скорость ввода 25,6 ГБ / с и пиковую комбинированную скорость вывода 35 ГБ / с.

Чтобы еще больше усугубить путаницу, некоторые старые публикации упомянуты на полосу пропускания ЕИБ, исходя из системных часов 4 ГГц. Этот опорный кадр дает мгновенное значение пропускной способности EIB 384 и ограниченное арбитражем значение пропускной способности 256 ГБ / с.

С учетом всех обстоятельств, наиболее часто используемое теоретическое число 204,8 ГБ / с - лучшее, что нужно иметь в виду. Группа IBM Systems Performance обеспечивает, что потоки данных, оцененные на SPU, достигают 197 ГБ / с нахождения ячейки, работающем на частоте 3,2 ГГц, так что это число также является хорошим отражением на практике.

Контроллеры памяти и ввода-вывода

Ячейка содержит двухканальный макрос Rambus XIO, который взаимодействует с памятью Rambus XDR. Контроллер интерфейса памяти (MIC) отделен от макроса XIO и разработан IBM. Канал XIO-XDR работает со скоростью 3,2 Гбит / с на вывод. Два 32-битных канала могут обеспечить теоретический максимум 25,6 ГБ / с.

Интерфейс ввода / вывода, в том числе Rambus, известен как. Интерфейс FlexIO разбит на 12 полос, каждая из которых представляет собой однонаправленный двухточечный путь шириной 8 бит. Пять двухточечных маршрутов шириной 8 бит являются входящими полосами для Cell, а остальные семь - исходящими. Это обеспечивает теоретическую пиковую пропускную способность 62,4 ГБ / с (36,4 ГБ / с исходящий, 26 ГБ / с входящий) на частоту 2,6 ГГц. Интерфейс FlexIO можно синхронизировать независимо, тип. на частотах 3,2 ГГц. 4 входящие + 4 исходящие рекомендации по согласованию памяти.

Возможные применения

Карта обработки видео

Некоторые компании, такие как Leadtek, выпустили карты PCI-E на основе ячейки для перекодирования видео в формате H.264, MPEG-2 и MPEG-4 «быстрее, чем в реальном времени».

Блейд -сервер

29 августа 2007 года IBM анонсировала BladeCenter QS21. Производя измеренные 1,05 гига операций с плавающей запятой в секунду (гигафлопс) на ватт, с пиковой производительностью примерно 460 гигафлопс, это одна из самых энергоэффективных вычислительных платформ на сегодняшний день. Одно шасси BladeCenter может выполнять 6,4 терафлопс операций с плавающей запятой в секунду (терафлопс) и более 25,8 терафлопс в стандартной стойке 42U.

13 мая 2008 г. IBM анонсировала BladeCenter QS22. QS22 представляет процессор PowerXCell 8i, производительность которого с плавающей запятой точности в пять раз выше, чем у QS21, и емкость до 32 ГБ памяти DDR2 на блейд-сервере.

IBM прекратила выпуск линейки блейд-серверов на основе процессорах Cell по состоянию на 12 января 2012 г.

Плата PCI Express

Несколько компаний предоставляют платы PCI-e, в которых используется IBM PowerXCell 8i. Производительность составляет 179,2 Гфлопс (SP), 89,6 Гфлопс (DP) при 2,8 ГГц.

Консольные видеоигры

Видео Sony PlayStation 3 игровая консоль была первым производственным приложением процессора Cell с тактовой частотой 3,2 ГГц и содержитим семь из восьми рабочих SPE, что позволяет Sony выход увеличить процессор. производство. Только шесть из семи SPE доступны разработчикам, так как один зарезервирован ОС.

Домашний кинотеатр

Toshiba произвела HDTV с использованием Cell. Они представили систему для одновременного декодирования 48 потоков стандартного разрешения MPEG-2 на экране 1920 × 1080. Это может предложить зрителю канал на десятков миниатюрных видео, отображаемых одновременно на экране.

Суперкомпьютеры

Суперкомпьютер IBM, IBM Roadrunner, был гибридом универсальных x86-64 Opteron, а также процессоров Cell. Эта система заняла первое место в списке 500 лучших компьютеров за июнь 2008 года как первый суперкомпьютер, работающий со скоростью петафлопс, получив стабильную скорость 1,026 петафлопс при использовании стандартного теста Linpack. IBM Roadrunner использовала версию процессора Cell PowerXCell 8i, изготовленную по 65-нм технологиям, и усовершенствованные блоки SPU, которые могут обрабатывать вычисления двойной точности в 128-битных регистрах, достигая 102 гигафлопс двойной точности на чип.

Кластерные вычисления

Кластеры консолей PlayStation 3 представляют собой привлекательную альтернативу высокопроизводительных системам на основе блейд-серверов Cell. Лаборатория инновационных вычислений, группа под руководством Джека Донгарра с факультета компьютерных наук Университета Теннесси, тщательно исследовала такое приложение. Terrasoft Solutions продает кластеры PS3 с 8 и 32 узлами с предустановленной Yellow Dog Linux, что является результатом исследования Донгарры.

Как впервые сообщил Wired 17 октября 2007 года, интересное приложение использования PlayStation 3 в кластерной конфигурации было реализовано астрофизиком Гауравом Ханной из физического факультета университета . из Массачусетса Дартмута, который заменил время, используемое на суперкомпьютерах, кластером из восьми PlayStation 3. Впервые следующее поколение этой машины, теперь называемое PlayStation 3 Gravity Grid, использует сеть 16 машин и использует процессор Cell для предполагаемое приложение, которое является двоичным черной дырой влияние с использованием оценущений. В частности, кластер выполняет астрофизическое моделирование больших сверхмассивных черных дыр, захватывая более мелкие компактные объекты, и генерирует численные данные, которые многократно публиковались в соответствующей научно-исследовательской литературе. Версия процессора Cell, используемая PlayStation 3, имеет основной ЦП и 6 SPE, доступных пользователю, что дает машине Gravity Grid сеть из 16 процессоров общего назначения и 96 векторных процессоров. Единовременная стоимость сборки машины составляет 9000 долларов, и она подходит для моделирования черных дыр, которое в противном случае стоило бы 6000 долларов за запуск на обычном суперкомпьютере. Вычисления черных дыр не требуют интенсивного использования памяти и легко локализуются, поэтому хорошо подходят для этой архитектуры. Кханна утверждает, что производительность кластера превосходит производительность традиционного Linux-кластера на базе ядра Intel Xeon с более чем 100 ядрами по результатам его моделирования. PS3 Gravity Grid привлекала значительное внимание средств массовой информации в 2007, 2008, 2009 и 2010 годах.

Лаборатория вычислительной биохимии и биофизики в Университете Помпеу Фабра в Барселоне, развернула в 2007 году систему BOINC под названием PS3GRID для совместных вычислений на основе программного обеспечения CellMD, первую систему, разработанную специально для процессора Cell.

Исследовательская лаборатория ВВС США развернула кластер PlayStation 3 из более чем 1700 единиц, получивший название «Кластер Кондор», для анализа высокого разрешения спутниковые снимки. Военно-воздушные силы заявляют, что Condor Cluster станет 33-м по величине суперкомпьютером в мире по мощности. Лаборатория открыла суперкомпьютер для использования университетами в исследовательских целях.

Распределенные вычисления

С помощью вычислительной мощности более полумиллиона консолей PlayStation 3 проект распределенных вычислений Folding @ home была признана Книгой рекордов Гиннеса как самая мощная распределенная сеть в мире. Первый рекорд был достигнут 16 сентября 2007 года, когда проект превысил один петафлопс, который ранее никогда не был достигнут в распределенной вычислительной сети. Кроме того, коллективные усилия позволили одной только PS3 достичь отметки в петафлопс 23 сентября 2007 года. Для сравнения, второй по мощности суперкомпьютер в мире в то время, IBM BlueGene / L, производил около 478,2 терафлопс, Это означает, что вычислительная мощность Folding @ home примерно в два раза больше, чем у BlueGene / L (хотя межсоединение ЦП в BlueGene / L более чем в миллион раз быстрее, чем средняя скорость сети в Folding @ home). По состоянию на 7 мая 2011 года Folding @ home работает со скоростью около 9,3 x86 петафлопс, из которых 1,6 петафлопса генерируются только 26000 активных PS3. В конце 2008 года кластер из 200 консолей PlayStation 3 был использован для создания поддельного сертификата SSL, который эффективно взломал его шифрование.

Мэйнфреймы

IBM объявила 25 апреля, что 2007 г., что она начнет интеграцию микропроцессоров Cell Broadband Engine Architecture в линейку мэйнфреймов компании. Это привело к Gameframe.

Взлом паролей

Архитектура процессора делает его более подходящим для аппаратных криптографических атак методом грубой силы, чем обычные процессоры.

Разработка программного обеспечения

Из-за гибкого характера ячейки существует несколько возможностей использования ее ресурсов, не ограничиваясь только разными вычислительными парадигмами:

Очередь заданий

PPE поддерживает очередь заданий, планирует задания в SPE и отслеживает ход выполнения. Каждый SPE запускает «мини-ядро», роль которого заключается в получении задания, его выполнении и синхронизации с PPE.

Самостоятельная многозадачность SPE

Мини-ядро и планирование распределяются по SPE. Задачи синхронизируются с помощью мьютексов или семафоров, как в обычной операционной системе. Готовые к запуску задачи ждут в очереди, пока SPE их выполнит. SPE используют общую память для всех задач в этой конфигурации.

Обработка потока

Каждый SPE запускает отдельную программу. Данные поступают из входного потока и отправляются в SPE. Когда SPE завершает обработку, выходные данные отправляются в выходной поток.

Это обеспечивает гибкую и мощную архитектуру для потоковой обработки и позволяет явное планирование для каждого SPE отдельно. Другие процессы также могут выполнять потоковую передачу, но ограничены загруженным ядром.

Разработка программного обеспечения с открытым исходным кодом

В 2005 году разработчики IBM представили для включения исправления, поддерживающие поддержку Cell в ядре Linux. Арнд Бергманн (один из разработчиков вышеупомянутых патчей) также описал архитектуру Cell на основе Linux в LinuxTag 2005. Начало с версии 2.6.16 (20 2006 г.) ядро ​​Linux официально поддерживает процессор Cell.

И PPE, и SPE программируются на C / C ++ с использованием общего API, предоставляемого библиотекой.

Fixstars Solutions предоставил Yellow Dog Linux для систем на базе IBM и Mercury Cell, а также для PlayStation 3. Компания Terra Soft в стратегическом партнерстве с Mercury предоставила пакет поддержки Linux Board для Cell., а также поддержка и разработка программных приложений на различных других платформах Cell, включая IBM BladeCenter JS21 и Cell QS20, а также решения на основе Mercury Cell. Terra Soft также поддерживает набор для построения и управления кластером Y-HPC (высокопроизводительные вычисления) и инструменты для секвенирования генов Y-Bio. Y-Bio основан на стандарте RPM Linux для управления пакетами и предлагает инструменты, которые помогают исследователям в области биоинформатики выполнять свою работу с большей эффективностью. IBMала псевдофайловую систему для Linux под названием «Spufs», которая разрабатывает упрощенный доступ к ресурсам SPE и их использование. IBM в настоящее время поддерживает порты Linux kernel и GDB, в то время как Sony поддерживает набор инструментов GNU (GCC, binutils ).

В ноябре 2005 года IBM выпустила на свой веб-сайт «Пакет разработки программного обеспечения Cell Broadband Engine (CBE) версии 1.0», состоящий из симулятора и различных инструментов. Разработанные последней версии ядра и инструментов для Fedora Core 4 обслуживаются на веб-сайте Barcelona Supercomputing Center.

В августе 2007 года Mercury Computer Systems выпустила комплект разработки программного обеспечения для PLAYSTATION (R) 3 для высокопроизводительных вычислений.

В ноябре 2007 года корпорация Fixstars выпустила новый модуль «CVCell», направленный на ускорение нескольких важных OpenCV API-интерфейсов для соты. В серии расчетных тестов программного обеспечения они зафиксировали время выполнения соте 3,2 ГГц. процессор, который был в 6–27 раз быстрее по с равнению с тем же программным продуктом на Intel Core 2 Duo 2,4 ГГц.

Галерея

Иллюстрации d разных поколений Cell / B.E. процессоры и PowerXCell 8i. Изображения не в масштабе; All Cell / Б.Э. Размеры корпуса 42,5 × 42,5 мм, PowerXCell 8i - 47,5 × 47,5 мм.

См. Также

Ссылки

Внешние

Последняя правка сделана 2021-05-14 13:56:59
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте