Отметим, что кластер построен на базе стандартного оборудования
компьютерного класса. Это, с одной стороны, существенно снизило
стоимость всей установки по сравнению с приобретением готового
кластерного решения от одного из ведущих производителей такого
типа техники (Hewlett-Packard, IBM, T-Платформы и др.). С другой
стороны, опыт создания и настройки кластера сам по себе является
ценным как с методической, так и с практической точки зрения: он
позволяет при проведении вычислительного эксперимента учитывать
более тонкие особенности системы, чем это доступно при использо-
вании готовых (и в этом смысле “закрытых”) коммерческих решений.
Настройка подобной кластерной установки является нетривиаль-
ной задачей, но вполне доступна специалисту, имеющему инженерное
образование и знакомому с операционными системами Linux.
Оценка производительности кластера.
Описание теста Linpack
Benchmark.
Производительность кластера оценена с помощью стан-
дартного тестового пакета Linpack Benchmark [8], скомпилированого
при помощи компилятора Intel и оптимизированного под архитекту-
ру Intel Nehalem, лежащую в основе используемых процессоров Intel
Core i7. Этот тест состоит в решении системы линейных алгебраиче-
ских уравнений вида
Ax
=
b
, где
A
— полностью заполненная матри-
ца размера
N
×
N
, методом
LU
-факторизации с частичным выбором
главного элемента. При этом в процессе факторизации матрицы
L
и
U
хранятся в памяти на месте исходной матрицы
A
.
При параллельном расчете на вычислительном кластере исход-
ная матрица разделяется на элементарные блоки размерностью
N
B
×
×
N
B
. Полученные
n
2
= (
N/N
B
)
2
блоков распределяются на вычи-
слительные модули по схеме
P
×
Q
(рис. 2), причем
P
∙
Q
=
n
m
,
где
n
m
— число вычислительных модулей, задействованных в экс-
перименте. На каждом шаге расчета происходит
LU
-разложение
N
B
Рис. 2. Распределение блоков, состоя-
щих из
N
B
×
N
B
элементов, по мо-
дулям при
P
= 3
и
Q
= 2
. Цифрами
обозначены соответствующие номера
модулей, пунктиром выделены круп-
ные
P
×
QP Q
-блоки
столбцов матрицы
A
, пересылка
данных между модулями с исполь-
зованием одного из шести комму-
никационных алгоритмов и обно-
вление оставшейся части расши-
ренной матрицы
(
A
|
b
)
. При таком
алгоритме все малые блоки, входя-
щие в крупный блок, состоящий из
P
×
Q
малых, обрабатываются од-
новременно, причем число
n
задает
число шагов расчета, а размер ма-
лого блока
N
B
определяет размер
ISSN 1812-3368. Вестник МГТУ им. Н.Э. Баумана. Сер. “Естественные науки”. 2011. № 4
35