Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

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

Закон Амдаля говорит о том, что далеко не все задачи могут быть эффективно распараллелены [2]. При этом многое зависит от сложности реализации параллельного алгоритма решаемой задачи. Если программирование для систем с общей памятью, как правило, еще не столь трудно, то организация расчета на кластере - гораздо более сложная задача, в которой приходится учитывать много дополнительных факторов. Поэтому для эффективного расчета на кластере решаемые задачи должны иметь определенную структуру:

  1. длительность независимого, параллельного расчета должна быть значительной (много дольше чем обмен между узлами кластера);
  2. пересылки данных между узлами должны быть минимальны и грамотно организованы.

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

Одной из задач, требующих больших вычислительных мощностей, является моделирование динамики электронного потока, которое является приоритетным направлением исследований в современной физической электронике. Актуальность данного направления определяется множеством практических применений: изучение влияния солнечной активности на озоновый слой атмосферы и здоровье человека, электромагнитное оружие, радиолокация, радиопротиводействие, радионавигация, промышленный нагрев, бытовые устройства и т.д. Моделирование динамики электронного потока дает возможность производить исследование процессов, недоступных для непосредственного изучения в реальных приборах [3].

Динамика электронного потока описывается следующим образом:

,


где E0 и B0 - векторы напряженности и магнитной индукции статического поля соответственно, Eпз - напряженность поля в месте расположения частицы, обусловленное кулоновским взаимодействием частиц, v- вектор скорости i - ой частицы.

Наиболее выгодным в плане соотношения производительность/цена для расчета данной задачи оказалось создание кластера из центральных и графических процессорных устройств. Преимущества данного гибрида не только в цене, но и в электропотреблении, площади занимаемого помещения и т.д.

К примеру, кластер из ЦПУ и ГПУ, собранный на базе Волгоградского Государственного Технического Университета, кафедры ЭВМ и Систем, содержит 10 ГПУ NVIDIA GTX 260, что соответствует производительности в 5-6 Tflops, а с учетом процессоров суммарная производительность составляет около 6 Tflops. Стоимость же такого кластера около 600 тыс. рублей без учета стоимости программного обеспечения.

Для выявления тенденций и закономерностей при моделировании электронного потока в скрещенных полях был проведен ряд экспериментов для различного числа электронов в потоке, результаты которых занесены в таблицу №1. Производилось сравнение времени расчета на кластере из ЦПУ и ГПУ, содержащего 32 процессорных ядра (все процессоры - Intel Xeon/Quad 3 ГГц) и 10 ГПУ GTX 260, и на одном ядре процессора Intel Xeon/Quad 3 ГГц.

Число электронов

в потоке

Время расчета на одном ядре Intel Xeon/Quad 3 ГГц, с

Время расчета на кластере из ЦПУ и ГПУ, с

Ускорение

50000

1232

48,03

25,7

100000

4781

80,01

59,8

200000

18670

96,7

193

500000

117124

314

373

1000000

468496

1145

409

2000000

1873984

4494

417

4000000

7495936

17847

420

Из таблицы следует, что выбранная технология позволяет эффективно распараллеливать моделирование динамики электронного потока для системы из ЦПУ с общей памятью [1]. Основным отличием при программировании для ГПУ является необходимость выделения более мелкозернистого параллелизма, чем при программировании для ЦПУ. Если задача не подразумевает возможности выделения тысяч параллельно выполняющихся потоков, она не будет эффективна при выполнении на ГПУ.

Наибольшее число ограничений имеет кластер из ЦПУ и ГПУ, и соответственно он позволяет эффективно решать наиболее узкий круг задач. К тому же, программирование для такого кластера сопряжено с дополнительными трудностями, связанными, в основном, с необходимостью комбинации различных технологий достижения параллелизма. Для данной задачи такая организация вычислительной системы как кластер из ЦПУ и ГПУ является самой высокопроизводительной и дешевой.

Для расчета данной задачи ускорение, получаемое от использования ГПУ в качестве сопроцессора достаточно велико, что объясняется удобной для архитектуры графических процессоров структурой программы.

 

СПИСОК ЛИТЕРАТУРЫ

  1. Шамов Е.А., Андреев А.Е., Сергеев Е.С., Жариков Д.Н. Практическое применение OpenMP при моделировании динамики плоского электронного потока в скрещенных электрическом и магнитном полях. Известия ВолгГТУ. Серия Электроника, измерительная техника, радиотехника и связь. Выпуск 1. 2010.
  2. Хьюз К., Хьюз Т. Параллельное и распределенное программирование с использованием C++ [Текст] // Хьюз К., Хьюз Т. // М.: Изд-во Вильямс, 2004. - 672 с.
  3. Калинин, Ю.А. Сложная динамика и явление динамического хаоса в потоке заряженных частиц, формируемом магнетронно-инжекторной пушкой (численный и физический эксперимент) [Текст] // Ю.А Калинин, В.Н. Кожевников, А.Г. Лазерсон // ЖТФ. - 2000. - Т.70. - Вып. 7. - С. 83-91.