- •Московский государственный университет имени м.В. Ломоносова
- •1.2 Филаментация фемтосекундных импульсов в атмосфере
- •1.3 Филаментация частотно-модулированных импульсов
- •2.2 Численные методы решения задачи
- •3.2 Алгоритм распараллеливания задачи
- •3.3 Проверка эффективности работы алгоритма
- •3.4 Влияние значения порога ионизации на многофиламентацию импульса в турбулентной атмосфере
- •4.2 Методика расчета распространения частотно-модулированного импульса в турбулентной атмосфере на километровых трассах. Режим префиламентации.
- •4.3 Статистические характеристики «горячих точек» на километровых трассах
- •4.4 Характеристики множества филаментов в стационарном приближении
3.3 Проверка эффективности работы алгоритма
Для проверки эффективности работы алгоритма были проведены серии тестовых экспериментов по решению сформулированной задачи, на вычислительных кластерах с различными типами процессоров и коммуникационных сетей. Программы, написанные для кластера, использовали коммуникационную библиотеку MPI [31]. Технические характеристики этих кластеров приведены в таблице 3.1.
На кластере “D” логический узел в терминах MPI совпадает с физическим двухпроцессорным узлом. На всех остальных кластерах коммуникационная библиотека MPI сконфигурирована таким образом, что каждый процессор является логическим узлом, которому выделена половина памяти физического узла. Наиболее высокопроизводительный кластер “A”, имеет 160 логических узлов с 2 гигабайтами оперативной памяти каждый.
Рассмотрим первый из описанных алгоритмов распараллеливания задачи (рис 3.1a). В тестовых экспериментах использовалось до 8 узлов кластера, каждому из которых назначалась зона ответственности из 9 плоскостей zi. При использовании расчетной сетки с поперечными размерами 8192*8192 узлов это требовало привлечения всей оперативной памяти (2 Гбайта).
Имя |
Количество узлов / процессоров |
Вычислительный узел |
Коммуникационная сеть |
Программное обеспечение |
Производительность на тесте LINPACK |
Компилятор C++ |
НИВЦ МГУ (ANT) “A” |
80/160 |
2xOpteron 248/2.2 ГГц, RAM 4 Гбайт |
InfiniBand |
Suse Linux 9.1, MVAPICH 0.9.4 |
512 Гфлоп |
INTEL 8.1 |
НИВЦ МГУ (AQUA) “B” |
41/82 |
2xPentium III/1 ГГц, RAM 1 Гбайт |
Fast Ethernet |
RedHat Linux 7.3, MPICH 1.2.5 |
31 Гфлоп |
INTEL 8.1 |
PSI RAS (Первенец-M) “C” |
16/32 |
2xAMD AthlonMP 1800+/1.5 ГГц, RAM 1 Гбайт |
SCI |
Red Hat Linux 3.2.2, ScaMPI 1.13.15 |
57 Гфлоп |
GCC 3.2.2 |
МЛЦ МГУ “D” |
7/14 |
2xXeon/2.6 ГГц, RAM 1.5 Гбайт |
Gigabit Ethernet |
Fedora Core 2, MPICH 1.2.7 |
18 Гфлоп |
INTEL 8.0 |
Таблица 3.1. Характеристики используемых кластеров.
Для выявления зернистости задачи определялось время , затрачиваемое на счет каждым узлом между двумя точками обмена, и время обмена данных между узлами. При этом время обмена включает в себя время передачи, ожидания и приема данных. Время ожидания появлялось вследствие различной фактической производительности узлов кластера. Временные интервалы измерялись с помощью функции times(), взятой из стандартной библиотеки Linux. Результаты усреднялись по всем узлам кластера и внутри узлов по временным слоям, всего M реализаций.
Для сравнения были выполнены эксперименты на расчетных сетках разной размерности по поперечным координатам x,y от Nx,Ny=1024 до Nx,Ny=8192. При этом в точке обмена происходила передача комплексного поля от одного узла кластера другому состоящая из 8NxNy байт (по 8 байт на каждый узел сетки).