Глоссарий
ABI
Application Binary Interface (прикладной бинарный интерфейс). Стандарт, следование которому при создании программы гарантирует корректность выполнения этой программы на Cell BE вне зависимости от типа компилятора и возможного использования библиотек других поставщиков. ABI определяет типы данных, порядок использования регистров, условия вызова программ и форматы объектов.
акселератор
Процессор общего или специального назначения в гибридной системе. Акселератор может иметь многоуровневую архитектуру, включающую как элементы уровня основного процессора, так и уровня акселератора. В данном случае акселератор определяется в виде иерархии, которая может содержать несколько уровней основных процессоров и акселераторов. Акселераторный элемент всегда связан с одним основным процессором. Минуя его, акселератор не может обмениваться данными с другими процессорами системы. Подсистему памяти акселератора можно рассматривать как отдельную, независимую от основного процессора. В совокупности кластеров эта подсистема называется подчиненной.
ALF
Accelerated Library Framework (инфраструктура библиотек ускоренных вычислений). Это интерфейс прикладного программирования (API), обеспечивающий набор сервисов, помогающих программистам решать задачи параллельной обработки данных на гибридных системах. ALF поддерживает модель программирования MPMD (multiple program — multiple data), когда несколько программ могут выполняться одновременно в одно и то же время. ALF предлагает программистам интерфейс для распределения данных между множеством параллельных процессоров, не требуя написания архитектурно-зависимого кода.
API
Application Program Interface (интерфейс прикладного программирования).
ATO
Atomic Unit (атомарный блок). Часть потокового контроллера памяти (MFC) сопроцессора SPE. Используется для синхронизации с другими процессорными блоками.
Broadband Engine
См. CBEA.
C++
C++ — объектно-ориентированный язык программирования, произошедший от Си.
кэш-память
Высокоскоростное запоминающее устройство, расположенное в непосредственной близости к процессору. В кэш-памяти, как правило, хранятся недавно использовавшиеся данные или команды, однако с помощью специальных команд управления кэш-памятью можно блокировать выгрузку, выгружать и иным образом изменять порядок кэширования команд или данных.
CBEA
Cell Broadband Engine Architecture (архитектура Cell Broadband Engine). Новая архитектура, расширяющая возможности 64-разрядной архитектуры PowerPC. CBEA и Cell Broadband Engine являются результатом сотрудничества Sony, Toshiba и IBM (альянса STI), формально начавшегося в начале 2001 года.
процессор Cell BE
The Cell BE processor is a multi-core broadband processor based on IBM’s Power Architecture.
процессор Cell Broadband Engine
См. процессор Cell BE.
кластер
Набор узлов.
компилятор
Программа, транслирующая программу, на языке высокого уровня (таком как C++), в исполняемый код.
вычислительное ядро
Часть кода для акселератора, выполняющая не имеющее собственного состояния вычислительное задание по обработке фрагмента входных данных и получению соответствующего результата.
вычислительное задание
Исполняемый образ для акселератора, состоящий из вычислительного ядра, скомпонованного с библиотекой периода исполнения акселератора ALF.
набор данных
Набор данных ALF является логическим множеством буферов данных.
DMA
Direct Memory Access (прямой доступ к памяти). Схема на основе специального контроллера, выполняющая обмен данными между оперативной памятью и другими устройствами без участия центрального процессора.
команда DMA
Тип команды MFC, осуществляющей пересылку либо управление пересылкой массива данных или команд, содержащегося в определенной области памяти. См. MFC.
список DMA
Последовательность элементов пересылки (элементов списка), которые, совместно с инициирующей передачу командой управления списком, определяют последовательность пересылок посредством DMA между одной областью локального хранилища и непрерывными сегментами основного хранилища. Такие списки хранятся в локальных хранилищах сопроцессоров SPE, а последовательность пересылок инициируется командой управления списком, такой как getl или putl. Команды управления списком DMA могут выдаваться лишь программами, выполняющимися на сопроцессорах SPE, однако процессор PPE и другие устройства могут создавать списки и сохранять их в локальных хранилищах сопроцессоров. Списки DMA можно использовать для реализации функций разбиения и компоновки данных при обмене данными между основным и локальными хранилищами.
Команда управления списком DMA
Тип команды MFC, инициирующей последовательность пересылок посредством DMA, определяемую списком DMA, хранящимся в локальном хранилище. См. список DMA.
эффективный адрес
Адрес, сгенерированный или используемой программой для доступа к памяти. Блок управления памятью преобразует эффективный адрес в виртуальный адрес, который затем транслируется в физический адрес, по которому осуществляется доступ к физической памяти. Максимальный размер адресного пространства эффективных адресов — 264 байт.
исключение
Ошибка, нестандартное условие, либо внешний сигнал, который могут изменить разряд состояния программы и вызывать соответствующее прерывание, если такое разрешено. См. прерывание.
БПФ
Быстрое преобразование Фурье.
GCC
Компилятор Си GNU
ссылка
Ссылка — абстракция объекта данных; обычно имеет вид указателя на структуру.
основной процессор
Процессор общего назначения на гибридной системе. К основному процессору может быть подключено несколько акселераторов. Его часто называют ведущим узлом совокупности кластеров.
HTTP
Hypertext Transfer Protocol (протокол передачи гипертекста). Совокупность правил передачи данных в среде World Wide Web.
гибрид
Модуль, заключающий в себе две платы Cell BE, соединенных посредством процессора AMD Opteron.
IDL
Interface definition language (язык определения интерфейса). Следует отличать IDL от CORBA IDL.
ядро
Основная часть операционной системы, предоставляющая сервисы другим ее частям и обеспечивающая многозадачность. В операционных системах Linux и UNIX ядро можно легко скомпилировать в новой конфигурации, чтобы включить в него расширения, которые станут доступны всей операционной системе.
латентность
Время между вызовом функции (или команды) и завершением ее работы. Программисты часто оптимизируют код так, чтобы функции выполнялись как можно быстрее; такой подход называют минимизацией латентности (low-latency approach to optimization). Программы с низкой латентностью часто заставляют процессор простаивать в ожидании данных, в результате чего страдает производительность.
локальное хранилище
256-килобайтное запоминающее устройство, связанное с сопроцессором SPE. Оно содержит как команды, так и данные.
основное хранилище
Адресное пространство эффективных адресов. Оно состоит из физической памяти (всей внешней по отношению к интерфейсному контроллеру памяти, включая как энергозависимую, так и энергонезависимую), локальных хранилищ SPU, отображаемых на память регистров и массивов, отображаемых на память устройств ввода-вывода (весь ввод-вывод отображается на память) и страниц виртуальной памяти, находящихся на диске. Оно не включает кэш-память и регистровые файлы исполнительного блока. См. также локальное хранилище.
основной поток
(Основной поток приложения.) Во многих случаях программы для архитектуры Cell BE являются многопотоковыми и одновременно используют несколько сопроцессоров SPE. Типовой сценарий заключается в том, что приложение состоит из основного потока, который создает необходимое число потоков для SPE и организует их работу.
MFC
Memory Flow Controller (потоковый контроллер памяти). Модуль сопроцессора SPE, выполняющий две основных функции: пересылку данных по каналу DMA между локальным хранилищем SPE и основным хранилищем и синхронизацию SPU с остальными процессорами системы.
MPMD
Multiple Program Multiple Data (множество программ — множество данных). Модель параллельного программирования, когда несколько отдельных программ обрабатывают различные наборы данных.
узел
Узел — это функциональный блок в системной топологии, состоящий из основного процессора со всей совокупностью акселераторов, подключенных по схеме дочерних устройств (включая все дочерние устройства акселераторов).
PDF
Portable document format (формат переносимых документов).
конвейеризация
Технология, разбивающая операции, такие как выполнение команды или шинная транзакция, на отдельные шаги, так, чтобы последовательный шаг, помещенный на конвейер, мог начать выполняться раньше, чем закончен предыдущий шаг.
PPE
PowerPC Processor Element (процессор PowerPC). Процессор общего назначения в системе Cell BE.
PPU
PowerPC Processor Unit (блок процессора PowerPC). Модуль PPE, включающий блоки исполнения, управления памятью и кэш-память первого уровня.
процесс
Стандартный для UNIX процесс с отдельным адресным пространством.
раздел программы
См. раздел кода.
SDK
Инструментарий разработчика для многоядерных ускоренных вычислений. Законченный пакет инструментов для разработки приложений.
раздел
См. раздел кода.
SIMD
Single Instruction Multiple Data (одна команда — множество данных). Вид обработки, когда одна команда обрабатывает несколько элементов данных, т. н. векторный тип данных. Также называется векторной обработкой. Этот стиль программирования реализует параллелизм на уровне даннных.
SPE
Сопроцессор Synergistic Processor Element. Расширяет архитектуру PowerPC 64, действуя в качестве согласованного процессора разгрузки (синергетического процессора). Обмен данными с синергетическими процессорами осуществляется с помощью механизмов прямого доступа к памяти (DMA) и синхронизации (управление потоками памяти) и расширениями для управления в реальном времени. Процессор Cell содержит 8 SPE.
SPU
Synergistic Processor Unit (блок синергетического процессора). Часть сопроцессора SPE, выполняющая команды, содержащиеся в его локальном хранилище.
синхронизация
Порядок, в котором выполняются операции доступа к хранилищу.
поток
Последовательность команд, выполняемых в глобальном контексте (совместно используемых пространстве памяти и других глобальных ресурсах) процесса, создавшая (породившая) поток. Несколько потоков (в том числе несколько экземпляров одной последовательности команд) могут выполняться одновременно, если каждый поток имеет собственное системное состояние (регистры, счетчик команд, разряды признаков и прочие программно-доступные регистры состояния). Каждый сопроцессор SPE поддерживает выполнение лишь одного потока. Несколько SPE могут выполнять несколько потоков. PPE может выполнять два потока одновременно, причем программа освобождена от необходимости создавать потоки. Для этого процессор дублирует системное состояние. Обычно поток создается библиотекой pthreads.
вектор
Операнд команды, содержащий набор элементов данных, представленных в виде одномерного массива. Элементы могут быть представлены в виде чисел с фиксированной либо плавающей запятой. Большинство команд мультимедийного расширения Vector/SIMD и команд SIMD SPU обрабатывают векторные операнды. Векторы также называются операндами SIMD и упакованными операндами.
виртуальная память
Адресное пространство, созданное процессорными средствами управления памятью.
виртуальное хранилище
См. виртуальная память.
рабочий блок
Базовый блок данных, с которым оперирует ALF. Состоит из одного массива распределенных данных, соответствующего выходного буфера и связанных параметров. Рабочий блок связывается с заданием. Число рабочих блоков задания определяется необходимостью может иметь столько рабочих блоков, сколько нужно.
нагрузка
Набор примеров программ в SDK, характеризующий эффективность архитектуры, алгоритмов, библиотек, инструментов и компиляторов.
рабочая очередь
Внутренняя структура данных ALF, содержащая списки рабочих блоков, подлежащих обработке активными экземплярами вычислительного задания.
x86
Общее название семейств процессоров Intel и совместимых.
XLC
Оптимизирующий компилятор IBM C/C++.
|