Параллельные вычисления с использованием микропроцессоров семейства Cell

Литература

1. Глинский Б.М., Собисевич А. Л., Хайретдинов М. Опыт вибросейсмического зондирования сложно построенных геологических структур (на примере грязевого вулкана Шуго) // Докл. РАН. - 2007. - Т. 413. - № 3. - С.398-402.

2. Глинский Б.М. Фатьянов А.Г. Численно-аналитическое моделирование волновых полей в разномасштабных зонах вулканической деятельности // Всероссийская конференция по вычислительной математике «КВМ-2007», Новосибирск, 18-20 июня 2007.

3. Глинский Б.М., Фатьянов А.Г. Вибросейсмический мониторинг живущих вулканов // Материалы 2-го межд. симпозиума «Активный геофизический мониторинг вулканов». - Новосибирск, 2005. - С. 57-61.

4. Глинский Б.М., Фатьянов А.Г. Изучение и мониторинг грязевых вулканов активными сейсмическими методами // Материалы 2-го межд. симпозиума «Активный геофизический мониторинг вулканов». - Новосибирск, 2005. - С. 52-57.

5. Bihn M. A Stable Discretization Scheme for the Simulation of Elastic Waves / M. Bihn, T. Weiland // Proceedings of the 15th IMACS World Congress on Scientific Computation, Modelling and Applied Mathematics. - 1997. - Vol. 2. - Р. 75-80.

6. Collino F. Application of the PML absorbing layer model to the linear elastodynamic problem in anisotropic heterogeneous media / F. Collino, C. Tsogka // Geophysics. -2001. - Vol. 66. - № 1. - Р. 294-307.

7. Clemens M. Descrete electromagnetism with the finite integration technique / M. Clemens, T.Weiland // Progress In Electromagnetics Research. - 2001. - Vol. 32. - Р. 65-87.

Караваев Дмитрий Алексеевич — Институт вычислительной математики и математи-

ческой геофизики СО РАН, магистр, dmitry1985@ngs.ru

УДК 004.4'23

ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ С ИСПОЛЬЗОВАНИЕМ МИКРОПРОЦЕССОРОВ СЕМЕЙСТВА CELL

С.М. Вишняков, А.С. Мордвинцев

Целью работы является исследование применимости архитектуры CBEA к различным типам вычислительных задач, в частности - к задаче трассировки лучей через сцену, имеющую воксельное представление. Для этого предполагается разработать демонстрационное приложение, позволяющее пользователю перемещаться по трехмерному миру и взаимодействовать с ним. Ключевые слова: микропроцессор Cell, воксельная графика.

Процессор Cell BE

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

- использование многоядерных и многопроцессорных систем традиционной (x86) архитектуры;

- использование параллельных вычислительных акселераторов, встраиваемых в системы традиционной архитектуры;

- использование параллельных вычислительных систем «альтернативных» архитектур.

Примером «альтернативной» архитектуры является архитектура Cell Broadband Engine Architecture (CBEA), разрабатываемая компанией IBM. Данная архитектура уже нашла свое применение в игровых приставках Sony Playstation 3 и активно продвигается компанией IBM в качестве платформы для высокопроизводительных вычислений различного характера.

Первой реализацией CBEA является процессор Cell Broadband Engine (CBE, Cell). Центральным элементом процессора Cell является процессорное ядро Power Processor Element (PPE), базирующееся на 64-битной архитектуре Power Architecture. Ядро PPE отвечает за работу операционной системы, ввод/вывод данных и распределение вычислений между остальными элементами системы - восемью ядрами Synergetic Processor Element (SPE). Поскольку ядра SPE предназначены исключительно для вычислительных задач и, по сути, являются параллельными вычислительными акселераторами для главного процессорного ядра (PPE), их архитектура серьезным образом отличается от архитектуры обычных процессоров.

В современных вычислительных системах узким местом зачастую оказывается обращение к памяти. Поэтому тот факт, что при программировании Cell загрузка данных из общей памяти вычислительного устройства в локальную память SPE регулируется программистом, дает определенные преимущества в плане производительности. Операции обращения к памяти являются асинхронными - следовательно, при правильном подходе время ожидания новых данных из памяти не уходит впустую, а тратится на обработку предыдущего блока данных. Таким образом, при оптимальной организации работы ядер SPE система может достигать производительности в 200 ГФлопс (при работе с числами ординарной точности).

Воксельная графика

Основная идея воксельной графики заключается в представлении сцены в виде трехмерного массива кубических ячеек, ребра которых выровнены по осям координат. Таким образом, воксельную сцену можно рассматривать как трехмерный аналог двухмерного растрового изображения. Одной из наиболее распространенных областей применения такого представления трехмерных данных является томография. Результатом сканирования является трехмерный массив, каждый элемент которого содержит численное значение, обозначающее какую-нибудь характеристику одной из ячеек исследуемого объема. В зависимости от типа сканера это может быть плотность, прозрачность для определенного вида излучения, содержание некоторого вещества и т. д.

Интерес для визуализации представляют только ячейки, находящиеся на поверхности объектов. Если хранить только их, то объем требуемой при фиксированном разрешении памяти будет пропорционален площади присутствующих в сцене объектов, которая, в свою очередь, пропорциональна второй степени линейных размеров сцены.

Для хранения вокселей поверхности в данном проекте используется представление сцены в виде разреженного октарного воксельного дерева (sparse voxel octree). Весь объем сцены помещается в куб, соответствующий корню дерева. Затем этот объем разбивается на восемь дочерних кубов. Кубы, целиком лежащие вне или внутри объектов сцены, отбрасываются. Для кубов, содержащих участки поверхностей объектов, операция повторяется. Когда на очередном уровне детализации объем пространства, соответствующий узлу, становится достаточно маленьким, в нем сохраняется цвет и вектор нормали к поверхности на этом участке, и дальнейшее разбиение прекращается.

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

Текущие результаты

В рамках работы над проектом были разработаны несколько реализаций алгоритмов построения и визуализации воксельных сцен для различных архитектур. Для процессора Cell с использованием 16 SPU удалось достичь производительности 180 мс на кадр разрешением 1024x768. Многопотоковая реализация, использующая только PPU, работает более 2 с. Можно отметить, что текущая реализация имеет потенциал для увеличения производительности: во-первых, имеет смысл реализовать более эффективную схему кэширования запросов процессоров SPU к глобальной памяти, во-вторых, более эффективно использовать SIMD-возможности процессора, а также использовать при рендеринге ядра PPU совместно с SPU.

Литература

1. Интервью Джона Кармака (id Software). - Режим доступа: http://www.pcper.com/article.php?aid=532, свободный.

2. Эксперементальный воксельный движок, разработанный Кеном Сильверманом. -Режим доступа: http://www.advsys.net/ken/voxlap.htm, свободный.

3. Aaron Knoll, Ingo Wald, Steven Parker, and Charles Hansen. Interactive Isosurface Ray Tracing of Large Octree Volumes // Proceedings of the IEEE Symposium on Interactive Ray Tracing, Salt Lake City, 2006. - Режим доступа: http://www.cs.utah.edu/~knolla/octiso-rt06.pdf, свободный.

Вишняков Сергей Михайлович — Санкт-Петербургский государственный универси-

тет информационных технологий, механики и оптики, студент, sergey.vishnyakov@gmail.com Мордвинцев Александр Сергеевич — Санкт-Петербургский государственный универси-

тет информационных технологий, механики и оптики, студент, zzznah@gmail.com

УДК 004.4'23

СТОХАСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ КОМПЛЕКСНЫХ СЕТЕЙ

И.И. Колыхматов

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

Введение

Комплексные сети, структура которых нерегулярна, сложна и динамически эволюционирует во времени, являются частью математического аппарата для описания, изучения свойств и поведения сложных систем в нескольких диапазонах пространственной и временной изменчивости [1, 2]. Комплексные сети применяются для моделирования объектов и систем, другие способы исследования которых (с помощью наблюдений и активного эксперимента) не представляются целесообразными или возможными. В общем виде динамическая модель на основе комплексной сети представляет собой случайный граф, закон взаиморасположения ребер и вершин для которого задается распределением вероятностей.