НЕОДНОРОДНЫЙ МНОГОЯДЕРНЫЙ ПРОЦЕССОР CELL: АРХИТЕКТУРА И ПРОГРАММИРОВАНИЕ

Автор: Недоводеев К. В.,
мл. науч. сотр., ин-т ВКиСТ, ГУАП,
ассистент каф. АиВТ ФТК СПбГПУ
Санкт-Петербург, 2008

Краткое содержание модуля

Данный модуль содержит описание ключевых архитектурных особенностей многоядерного процессора CELL, отличающих его от представителей семейства однородных многоядерных процессоров таких как процессоры Intel Core Duo (Quad), AMD Phenom и др. В процессе изложения затрагиваются все ключевые элементы процессора CELL: PPE-ядро, SPE-ядра, DMA-ядра (входят в состав контроллера памяти MFC) и шина EIB. Помимо рассмотрения архитектуры процессора в данный модуль включено рассмотрение моделей программирования вычислительных систем, построенных на базе многоядерного процессора CELL. Для каждой модели приводится описание особенностей ее применения. В процессе изучения модуля студентам предлагается выполнить ряд лабораторных работ, направленных на закрепление полученных знаний.

Лекция 1. Архитектура многоядерного процессора CELL (2 часа)

Презентация

В данной лекции приведен обзор архитектуры многоядерного процессора CELL, рассматриваются все основные компоненты процессора. Указывается одно из основных отличий многоядерного процессора CELL от представителей семейства однородных многоядерных процессоров – наличие трехзвенной архитектуры подсистемы памяти с программируемым обменом данными между различными модулями памяти. Приведено описание архитектуры конвейера PPE-ядра и SPE-ядер.

Лекция 2. Модели программирования многоядерного процессора CELL (2 часа)

Презентация

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

Лабораторные работы

  1. Создание программ для многоядерного процессора CELL (1 час / 1 час)
  2. Статический анализ характеристик программы SPE-ядра (1 час / 1 час)
  3. Оценка производительности программы (PPE-ядро либо SPE-ядро) (2 часа / 2 часа)
  4. Организация векторной обработки данных (SPE-ядро) (2 часа / 4 часа)
  5. Организация DMA-обмена (Инициируемый со стороны PPE-ядра, либо со стороны SPE-ядра) (2 часа / 4 часа)

Задания на индивидуальные исследования

  1. Организация блочной обработки данных на уровне регистров (register tiling) (SPE-ядро)
  2. Оптимизация программ (исследование механизма статического предсказания переходов) (SPE-ядро)
  3. Организация блочной обработки данных на уровне кэш-памяти (cache tiling) (PPE-ядро)
  4. Организация блочной обработки данных на уровне регистров (register tiling) (PPE-ядро)
  5. Оптимизация программ (конвейеризация циклов) (SPE-ядро)

На данный момент выполнено 5 индивидуальных заданий:

Дипломные работы

Помимо выполнения индивидуальных заданий в дальнейшем студентам предлагается выполнить дипломный проект, либо магистерскую диссертацию. На данный момент уже выполнен и защищен 1 дипломный проект:

Магистерские диссертации

Предлагаются следующие темы магистерских диссертаций:

Программное обеспечение

При выполнении практических и исследовательских работ студенты используют следующее программное обеспечение, любезно предоставленное компанией IBM:

Опубликованные работы

  1. Ахин  М. Х., Пяйт  А. Л. Определение пропускной способности единичных DMA-обменов в многоядерном процессоре Cell // Наука и инновации в технических университетах. Материалы Всероссийского Форума студентов, аспирантов и молодых ученых.- СПб.: Изд-во Политехнического университета, 2008.- 256 с., c. 63-65
  2. Большев  Р. А., Таубергер  Т. В. Исследование эффективности применения развертки циклов в программе PPE-ядра многоядерного процессора Cell // Наука и инновации в технических университетах. Материалы Всероссийского Форума студентов, аспирантов и молодых ученых.- СПб.: Изд-во Политехнического университета, 2008.- 256 с., с. 86-87
  3. Карпенко  А. В., Баженов  А. С. Организация цепочечного DMA-обмена в многоядерном процессоре Cell // Наука и инновации в технических университетах. Материалы Всероссийского Форума студентов, аспирантов и молодых ученых.- СПб.: Изд-во Политехнического университета, 2008.- 256 с., с. 69-70
  4. Недоводеев  К. В. Оценка производительности мультиядерной СБИС Мультикор 12 // Тезисы Всероссийской научно-практической конференции студентов, аспирантов и молодых специалистов (4-9 апреля 2005, г. Красноярск)
  5. Недоводеев  К. В. Организация взаимодействия RISC- и DSP-ядер сверхбольшой интегральной схемы «Мультикор» в задачах обработки сигналов // Материалы IX Междунар. науч. конф., посвящ. 45-летию Сиб. гос. аэрокосмич. ун-та имени акад. М. Ф. Решетнева (10-12 нояб. 2005, г.Красноярск)
  6. Недоводеев  К. В., Шейнин  Ю. Е. Высокопроизводительная обработка больших массивов данных в неоднородных мультиядерных процессорах // Электронные компоненты, 2006, № 9, с. 116-122.
  7. Недоводеев  К. В. Организация (макро) потоковых вычислений в неоднородных мультиядерных процессорах // Шестой международный научно-практический семинар и молодежная школа «Высокопроизводительные параллельные вычисления на кластерных системах» (12-16 Декабря 2006, Санкт-Петербург)
  8. Недоводеев  К. В. Применение модели потоков данных для описания (макро)блочных алгоритмов // Материалы всероссийского форума студентов, аспирантов и молодых ученых «Наука и инновации в технических университетах» (10 — 12 Октября 2007, Санкт-Петербург)
  9. Недоводеев  К. В. Метод синтеза блочного алгоритма по его графовому представлению // Научно-технические ведомости, 2007, № 4, том 2, с. 141-148
  10. Маслов  А. Ю., Тимофеева  Т. А. Векторизация вычислений в SPE-ядрах процессора Cell // Наука и инновации в технических университетах. Материалы Всероссийского Форума студентов, аспирантов и молодых ученых.- СПб.: Изд-во Политехнического университета, 2008.- 256 с., с. 48-50
  11. Nedovodeev  K. V. Multimedia Data Processing On Dual-Core Soc Multicore-24 // Proceedings of the IEEE Tenth International Symposium on Consumer Electronics (ISCE 2006) 28 June — 1 July 2006 St. Petersburg, Russia

Литература

  1. Дж. Голуб, Ч. Ван Лоун Матричные вычисления М.: Мир, 1999. – 548 стр.
  2. David F. Bacon, Susan L. Graham and Oliver J. Sharp Compiler transformations for high-performance computing // ACM Computing Surveys Vol. 26, No. 4, 1994 pp. 345 420
  3. K. Yotov, X. Li, G. Ren, et al. A comparison of empirical and model-driven optimization // Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, San Diego, California, 2003 pp. 63 – 76
  4. Cell Broadband Engine Programming Handbook: Version 1.1
  5. C/C++ Language Extensions for Cell Broadband Engine Architecture: Version 2.5
  6. IBM Full-system simulator User’s guide. Modeling systems based on the Cell Broadband Engine processor: Version 3.0
  7. Performance Analysis with the IBM Full-System Simulator. Modeling the Performance of the Cell Broadband Engine Processor: Version 3.0

Интернет

  1. http://www.research.ibm.com/cell
  2. http://www-128.ibm.com/developerworks/power/cell