 | Уровень сложности: простой Гед Хейбер, ведущий разработчик, IBM
23.06.2009 Это вводное учебное пособие служит дополнением к инструментарию разработки программного обеспечения (SDK) для процессора Cell/B.E. (IBM SDK for Multicore Acceleration, Version 3.0; другое название – Cell Broadband Engine SDK). В нем рассказано о пяти средствах измерения производительности, входящих в состав SDK 3.0: OProfile, Cell Performance Counter, Performance Debugging Tool, PDT Trace Reader и FDPR-Pro. Также будет рассмотрен инструмент Visual Performance Analyzer, поставляемый отдельно.
Предисловие
Узнайте, что вы можете ожидать от данного учебного пособия и как извлечь из него максимальную пользу.
Об этой серии руководств
Данное руководство знакомит со средствами измерения производительности, входящими в состав IBM SDK for Multicore Acceleration 3.0 (Cell/B.E. SDK 3.0), и объясняет, как ими пользоваться:
- OProfile for Cell – это программа для профилирования кода системного уровня для ОС Linux® на процессоре Cell/B.E., способная профилировать весь запущенный код с минимальными издержками. OProfile входит в состав Cell Broadband Engine SDK. OProfile состоит из драйвера ядра, демона для сбора данных тестирования и нескольких утилит для обработки данных профилирования и извлечения из них полезной информации. OProfile осуществляет профилирование большого набора параметров, используя аппаратные счетчики производительности процессора. Результаты его работы также могут быть использованы для получения базовой информации о затратах процессорного времени. Профилировать можно любой код: обработчики аппаратных и программных прерываний, модули ядра, ядро, совместно используемые библиотеки и приложения. OProfile поставляется в составе SDK.
- Утилита Cell Performance Counter (также известная как cell-perf-counter tool и CPC) применяется для настройки и использования аппаратных счетчиков производительности процессора Cell/B.E. Эти счетчики позволяют отслеживать, сколько раз произошли те или иные аппаратные события, что полезно при анализе производительности программного обеспечения, работающего в системе на процессоре Cell/B.E. Доступны аппаратные события из всех логических модулей процессора Cell/B.E., включая PPE, SPE, интерфейсную шину, а также контроллеры памяти и устройства ввода-вывода. Для подсчета этих событий в модуле мониторинга производительности (performance monitoring unit, PMU) доступны четыре 32-разрядных счетчика, которые также могут быть настроены как пары 16-разрядных счетчиков. Кроме того, CPC использует возможности аппаратного сбора статистики PMU Cell/B.E. Эта функция позволяет оборудованию собирать очень точные данные счетчиков через определенные отрезки времени. Собранные данные можно использовать для мониторинга изменений производительности системы на основе процессора Cell/B.E. на протяжении длительного отрезка времени. CPC поддерживает различные форматы вывода данных счетчиков: текстовый вывод в сеансе терминала; формат HTML для просмотра в браузере; формат XML для использования в диагностических средствах высокого уровня, таких как Visual Performance Analyzer. CPC поставляется в составе SDK.
- Утилита Performance Debugging Tool (PDT) выполняет трассировку для записи важных событий во время выполнения программы и определения логического порядка событий. Главной задачей PDT является обеспечение возможности отслеживать необходимые события в режиме реального времени и записывать соответствующие данные из блоков SPE и PPE. Эта задача выполняется при помощи кода, реализующего ключевые функции регистрации событий в блоках SPE и PPE и собирающего записи трассировки. Эта деятельность требует дополнительного взаимодействия между блоками SPE и PPE, поскольку записи трассировки хранятся в памяти PPE. Трассировка 16 блоков SPE, использующих один центральный блок PPE, может привести к сильной загрузке последнего и, следовательно, повлиять на производительность приложения. PDT разработан для уменьшения нагрузки при трассировке и позволяет ограничивать нагрузку от трассировочной активности на PPE и все SPE. Кроме того, размер кода трассировки для SPE минимизирован так, чтобы он помещался в небольшую локальную память SPE. После включения трассировки данные можно собирать для любого запущенного приложения. Трассировка функционирует на уровне приложений (область пользователя). После включения приложения в список наблюдения данные трассировки собираются при каждом запуске данного приложения. PDT поставляется в составе SDK.
- PDT Trace Reader (PDTR) – это утилита командной строки, считывающая и отображающая данные трассировки PDT и создающая различные сводные отчеты для указанных событий трассировки. PDTR поставляется в составе SDK.
- FDPR-Pro for Cell/B.E. – это утилита настройки производительности, предназначенная для уменьшения времени выполнения и объема реальной памяти, используемой прикладными программами пространства пользователя. Она оптимизирует исполняемый образ программы, собирая информацию о работе программы под рабочей нагрузкой. Затем она создает новую версию этой программы, оптимизированную для такой нагрузки. FDPR-Pro for Cell/B.E. поставляется в составе SDK.
- Visual Performance Analyzer (VPA) – это набор утилит для наглядного представления данных производительности на основе Eclipse, состоящий из шести основных компонентов:
- Profile Analyzer включает богатый набор графических и текстовых представлений, позволяющих пользователям локализовать проблемы производительности вплоть до отдельного процесса, потока, модуля, символа, смещения, инструкции или строки кода.
- Code Analyzer отображает подробную информацию об основных блоках, функциях и ассемблерных инструкциях исполняемых файлов и динамических библиотек (DLL).
- Pipeline Analyzer отображает работу конвейеров (для систем на основе POWER®).
- Counter Analyzer анализирует данные аппаратных счетчиков производительности множества платформ IBM Systems (ранее IBM eServer™).
- Trace Analyzer визуализирует информацию трассировок Cell/B.E., такую как: подключения DMA, блокировки и разблокировки, почтовые сообщения и т.д.
- Control Flow Analyzer считывает вызовы файлов данных трассировки.
 |
Предварительные условия
Хотя это руководство начального уровня, при чтении будет полезен предыдущий опыт работы с Cell/B.E. SDK 3.0.
Системные требования
SDK 3.0 предъявляет к аппаратному и программному обеспечению ряд требований.
Оборудование
В следующей таблице приведены рекомендуемые минимальные конфигурации для каждой аппаратной платформы.
Таблица 1. Аппаратные требования
| Система | Рекомендуемая минимальная конфигурация |
|---|
| x86 или x86-64 | Процессор Pentium® 4 с тактовой частотой 2 ГГц |
|---|
| PowerPC®
| 64-разрядный процессор PowerPC (PPC) с тактовой частотой 1,42 ГГц
32-разрядные платформы PPC не поддерживаются
|
|---|
| BladeCenter® QS20 | Версия 31 или выше и встроенное микропрограммное обеспечение версии QA-06.14.0-0F (7.21) или более новое |
|---|
| BladeCenter QS21 | Встроенное микропрограммное обеспечение версии QB-01.08.0-00 или более новое |
|---|
Все компьютеры должны иметь:
- Не менее 5 ГБ свободного места на диске для установки исходного пакета и дополнительных средств разработки.
- Не менее 1 ГБ ОЗУ на хост-системе.
Примечание: при использовании имитатора Full System Simulator минимальный объем установленной оперативной памяти должен вдвое превосходить объем имитируемой памяти. Например, для имитации системы с оперативной памятью объемом 512 МБ в хост-системе должно быть установлено не менее 1 ГБ оперативной памяти.
Программное обеспечение
SDK 3.0 требует наличия операционной системы Fedora 7, которая должна быть установлена до установки SDK.
SELinux: файлы политик SELinux, включенные в базовый дистрибутив Fedora 7, препятствуют правильному запуску spufs при загрузке. Для установки SDK необходимо либо отключить SELinux, либо обновить пакеты RPM selinux-policy и
selinux-policy-targeted до последней версии. Рекомендуется использовать обновление пакетов. Для обновления введите от имени суперпользователя root команду
yum update selinux-policy selinux-policy-targeted.
Expat: для работы демона DaCS for Hybrid-x86 на платформах X86_64 и BladeCenter QS20/QS21 требуется библиотека обработки XML expat. Для установки expat введите от имени суперпользователя root команду
yum install expat.
Зависимости пакета SDK: для SDK необходимы пакеты rsync, sed, TCL и wget. Для установки необходимых пакетов введите от имени суперпользователя root команду yum install rsync sed tcl wget.
|  |