Научная статья на тему 'Исследование масштабируемости алгоритма Чиммино для решения систем линейных неравенств на кластерных вычислительных системах'

Исследование масштабируемости алгоритма Чиммино для решения систем линейных неравенств на кластерных вычислительных системах Текст научной статьи по специальности «Математика»

CC BY
102
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМ ЧИММИНО / СИСТЕМА ЛИНЕЙНЫХ НЕРАВЕНСТВ / ИТЕРАЦИОННЫЙ АЛГОРИТМ / ПРОЕКЦИОННЫЙ АЛГОРИТМ / РЕЛАКСАЦИЯ / МОДЕЛЬ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ BSF / ОЦЕНКА МАСШТАБИРУЕМОСТИ / ЭФФЕКТИВНОСТЬ РАСПАРАЛЛЕЛИВАНИЯ / КЛАСТЕРНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ / CIMMINO ALGORITHM / SYSTEM OF LINEAR INEQUALITIES / ITERATIVE ALGORITHM / PROJECTION ALGORITHM / PARALLEL COMPUTATION MODEL / BSF / SCALABILITY ESTIMATION / SPEEDUP / PARALLEL EFFICIENCY / CLUSTER COMPUTING SYSTEMS

Аннотация научной статьи по математике, автор научной работы — Соколинская Ирина Михайловна, Соколинский Леонид Борисович

Работа посвящена исследованию масштабируемости алгоритма Чиммино для решения систем неравенств. Данный алгоритм является типичным представителем класса итерационных проекционных алгоритмов для решения систем линейных уравнений и неравенств. Для аналитического анализа масштабируемости используется модель параллельных вычислений BSF (Bulk Synchronous Farm). Дается представление алгоритма Чиммино в виде операций над списками с использованием функций высшего порядка Map и Reduce. Выводятся аналитические оценки верхней границы масштабируемости алгоритма для многопроцессорных вычислительных систем с распределенной памятью. Приводятся данные о реализация алгоритма Чиммино над списками на языке С++ с использованием программного шаблона BSF и библиотеки параллельного программирования MPI. Демонстрируются результаты масштабных вычислительных экспериментов, выполненных на кластерной вычислительной системе. На основе экспериментальных результатов дается анализ адекватности оценок, полученных аналитическим путем с помощью стоимостных метрик модели BSF.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Соколинская Ирина Михайловна, Соколинский Леонид Борисович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SCALABILITY EVALUATION OF CIMMINO ALGORITHM FOR SOLVING SYSTEMS OF LINEAR INEQUALITIES ON CLUSTER COMPUTING SYSTEMS

The paper is devoted to a scalability study of Cimmino algorithm for linear inequality systems. This algorithm belongs to the class of iterative projection algorithms. For the analytical analysis of the scalability, the BSF (Bulk Synchronous Farm) parallel computation model is used. An implementation of the Cimmino algorithm in the form of operations on lists using higher-order functions Map and Reduce is presented. An analytical estimation of the upper scalability bound of the algorithm for cluster computing systems is derived. Information about the implementation of Cimmino algorithm on lists in C++ language using the BSF program skeleton and MPI parallel programming library is given. The results of large-scale computational experiments performed on a cluster computing system are demonstrated. A conclusion about the adequacy of the analytical estimations by comparing them with the results of computational experiments is made.

Текст научной работы на тему «Исследование масштабируемости алгоритма Чиммино для решения систем линейных неравенств на кластерных вычислительных системах»

УДК 519.688, 004.272.2

DOI: 10.14529/cmsel90102

ИССЛЕДОВАНИЕ МАСШТАБИРУЕМОСТИ АЛГОРИТМА ЧИММИНО ДЛЯ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ НЕРАВЕНСТВ НА КЛАСТЕРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ

© 2019 И.М. Соколинская, Л.Б. Соколинский

Южно-Уральский государственный университет (454080 Челябинск, пр. им. В.И. Ленина, д. 76) E-mail: irina.sokolinskaya@susu.ru, leonid.sokolinsky@susu.ru Поступила в редакцию: 05.05.2018

Работа посвящена исследованию масштабируемости алгоритма Чиммино для решения систем неравенств. Данный алгоритм является типичным представителем класса итерационных проекционных алгоритмов для решения систем линейных уравнений и неравенств. Для аналитического анализа масштабируемости используется модель параллельных вычислений BSF (Bulk Synchronous Farm). Дается представление алгоритма Чиммино в виде операций над списками с использованием функций высшего порядка Map и Reduce. Выводятся аналитические оценки верхней границы масштабируемости алгоритма для многопроцессорных вычислительных систем с распределенной памятью. Приводятся данные о реализация алгоритма Чиммино над списками на языке С++ с использованием программного шаблона BSF и библиотеки параллельного программирования MPI. Демонстрируются результаты масштабных вычислительных экспериментов, выполненных на кластерной вычислительной системе. На основе экспериментальных результатов дается анализ адекватности оценок, полученных аналитическим путем с помощью стоимостных метрик модели BSF.

Ключевые слова: алгоритм Чиммино, система линейных неравенств, итерационный алгоритм, проекционный алгоритм, релаксация, модель параллельных вычислений BSF, оценка масштабируемости, эффективность распараллеливания, кластерные вычислительные системы.

ОБРАЗЕЦ ЦИТИРОВАНИЯ

Соколинская И.М., Соколинский Л.Б. Исследование масштабируемости алгоритма Чиммино для решения систем линейных неравенств на кластерных вычислительных системах // Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2019. Т. 8, № 1. С. 20-35. DOI: 10.14529/cmse190102.

Введение

Задача решения системы линейных неравенств возникает во многих областях вычислительной математики. В качестве примеров можно привести линейное программирование [1, 2], восстановление изображений по проекциям [3], обработку изображений в магнитно-резонансной томографии [4], радиационную терапию с модулируемой интенсивностью [5]. В настоящее время известно достаточно много методов решения систем линейных неравенств, среди которых можно выделить класс «самоисправляющихся» итерационных методов, допускающих эффективное распараллеливание. Пионерскими работами здесь являются публикации [6, 7], в которых предложен метод релаксаций Агмона—Моц-кина—Шоенберга для решения систем линейных неравенств. Метод релаксаций можно отнести к алгоритмам проекционного типа, использующим операцию ортогональной проекции на гиперплоскость в Евклидовом пространстве. Одним из первых итерационных алгоритмов проекционного типа был алгоритм Чиммино (Cimmino) [8], предназначенный для решения систем линейных уравнений и неравенств. Алгоритм Чиммино оказал большое влияние на развитие вычислительной математики [9]. Обобщениям и расширениям

алгоритма Чиммино было посвящено значительное количество работ (см., например, [3,

Системы линейных неравенств, возникающие при решении практических задач, во многих случаях могут включать в себя сотни миллионов переменных, при этом количество неравенств составляет величину того же порядка [2]. В этом случае актуальным становится вопрос разработки масштабируемых параллельных алгоритмов для решения сверхбольших систем линейных неравенств на многопроцессорных системах с распределенной памятью. При создании параллельных алгоритмов для больших многопроцессорных систем важно уже на ранней стадии разработки алгоритма (до написания программы) получить аналитические оценки его масштабируемости. Для этой цели используются различные модели параллельных вычислений [14]. В настоящее время известно большое количество различных параллельных вычислительных моделей. Наиболее известными среди них являются модели PRAM [15], BSP [16] и LogP [17]. Указанные модели подверглись обобщениям и уточнениям, породив целые семейства, насчитывающие десятки параллельных вычислительных моделей (см., например, [18-20]). Задача разработки новых параллельных вычислительных моделей не утратила актуальности и в настоящее время. Это объясняется тем, что невозможно создать модель параллельных вычислений - «хорошую во всех отношениях». Поэтому необходимо ограничиваться определенными многопроцессорными архитектурами и определенными классами алгоритмов. В работе [21] была предложена модель параллельных вычислений BSF (Bulk Synchronous Farm), ориентированная на кластерные вычислительные системы и алгоритмы итерационного типа. Указанная модель позволяет с высокой точностью оценить верхнюю границу масштабируемости параллельного итерационного алгоритма до написания программы. Пример использования модели BSF приводится в работе [22].

Целью настоящей статьи является исследование масштабируемости алгоритма Чим-мино для решения больших систем линейных неравенств на многопроцессорных системах с распределенной памятью путем использования модели параллельных вычислений BSF. Статья имеет следующую структуру. В разделе 1 делается постановка задачи и дается описание алгоритма Чиммино для решения системы линейных неравенств. В разделе 2 строится представление алгоритма Чиммино в виде операций над списками с использованием функций высшего порядка Map и Reduce, определяемых формализмом Бёрда—Мир-тенса. Раздел 3 посвящен аналитическому исследованию масштабируемости алгоритма Чиммино над списками с помощью метрик модели BSF; приводятся итоговые формулы для оценки ускорения и эффективности распараллеливания; вычисляется верхняя граница масштабируемости алгоритма в зависимости от размера задачи. В разделе 4 дается информация о реализации алгоритма Чиммино над списками, выполненной на языке C++ с использованием программного каркаса BSF и библиотеки параллельного программирования MPI, и приводится сравнение результатов, полученных аналитическим и экспериментальным путем. В заключении суммируются полученные результаты и намечаются направления дальнейших исследований.

1. Алгоритм Чиммино для неравенств

Пусть в евклидовом пространстве Ж" задана совместная система линейных неравенств

10-13]).

(1)

(угловыми скобками мы обозначаем скалярное произведение). Необходимо найти одно любое решение системы (1). Для решения этой задачи удобно использовать геометрический язык. В соответствии с этим х = (хр..., х) рассматривается как точка в п-мерном

евклидовом пространстве Ж", а каждое неравенство (х) < 0 — как полупространство Р..

Таким образом, множество решений системы (1) можно представить как выпуклый

т

п-мерный многогранник М = р . Каждое уравнение I(х) = 0 определяет гиперплос-

г=1

кость Н. :

г

Нг ={х е К" | («г,х) = Ьг}. (2)

Ортогональная проекция кн. (х) точки х на гиперплоскость Нг вычисляется по следующей формуле:

Ь. — (а., х\

кн (х) = х Н--^—-аг, (3)

. 1|аг||

где ||<|| — евклидова норма. Определим ортогональное отражение точки х относительно гиперплоскости Н следующим образом

Ь . — (ах)

Рнг (х) = кнг (х) — х =- 2 а г ■ (4)

Алгоритм Чиммино для неравенств с равными весовыми коэффициентами состоит из следующих шагов:

Шаг 1. к := 0 ; х0 := 0 .

Л т

Шаг 2. хк+1 := хк + Л ЕРн (хк).

- г=1 г

II 1|2

Шаг 3. Если хкН1 — хЛ < е , перейти на шаг 5.

Шаг 4. к := к + 1 ; перейти на шаг 2. Шаг 5. Стоп.

В качестве начального приближения х0 в алгоритме Чиммино может быть взят произвольный вектор в Ж" . На шаге 1 в качестве начального приближения х0 берется нулевой вектор. На шаге 2 организуется итерационный процесс:

хк+1 = хк + - Е Рн . (хк). (5)

- г = 1 г

Каждое новое приближение хк+1 получается путем добавления к текущему приближению хк центра масс ортогональных отражений точки хк относительно гиперплоскостей н 1,..., нт , умноженного на коэффициент релаксации Л . Известно [10], что при 0 < Л < 2 итерационный процесс (5) сходится к точке, принадлежащей многограннику М .

2. Представление алгоритма Чиммино в виде операций над списками

Для получения аналитических оценок алгоритма в соответствии с метриками модели BSF он должен быть представлен в виде операций над списками с использованием функций высшего порядка Map и Reduce, определяемых формализмом Бёрда—Миртенса (Bird—Meertens formalism) [23]. Для заданных функции F : А ^ В и списка [a1,...,am]

функция высшего порядка Map формирует новый список той же длины путем применения функции F ко всем элементам списка [a1,...,am]:

Map(F ,[ai,..., am ]) = [F Ц),..., F (am)] . (6)

Для заданных бинарной ассоциативной операции ф : В х В ^ В и списка [b1,..., bm ] функция высшего порядка Reduce редуцирует список [b1,..., bm ] к одному элементу путем многократного применения операции ф к элементам списка:

Reduce(®,[b1,..., bm]) = b1 ф ... ф bm . (7)

В контексте алгоритма Чиммино определим список LMap следующим образом:

LMap = [i1> . , *m Ь (8)

где ik е {1,...,m} и ik ^ il при k ^ l (k,l = 1,..,m). Другими словами, LMap — список

номеров неравенств системы (1), взятых в некотором порядке. Для произвольного x е Мп определим функцию Fx : {1,... , m} ^ Мn :

Fx (i) = Рнг (x) (9)

для всех i е {1,..., m} . Иначе говоря, функция Fx(i) вычисляет ортогональное отражение точки X относительно гиперплоскости H i . Для произвольного x е Мп определим список LRduce ^ Мп следующим образом:

LRLe = Fx С^),., Fx (im)]- (10)

Список Lr^ включает в себя ортогональные отражения точки x на гиперплоскости H1,..., Hm , взятые в порядке, определяемом списком LMap. Таким образом, список Lr^ получается из списка LMap путем применения к нему функции высшего порядка Map, использующей в качестве параметра функцию F :

L(

RLe = Map(Fx, LMap ) . (11)

Определим бинарную ассоциативную операцию ф : Мп х Mn ^ Мп следующим образом:

x ф y = x + y (12)

для любых x, y е Mn . В данном случае операция ф выполняет обычное сложение векторов. Тогда сумма ортогональных отражений точки x может быть получена путем применения к списку LR^dacg функции высшего порядка Reduce, использующей в качестве параметра операцию сложения векторов ф :

m

£ pHt (x) = Reduce^, LR^). (13)

г = 1

Теперь мы можем записать алгоритм Чиммино в виде операций над списками: Шаг 1. k := 0 ; x0 := 0 ; LMap = [1,... ,m].

Шаг 2. 4xeLe = M«P(Fxk > ¿Map ).

Шаг 3. s = Мисе(ф, i^Le).

Шаг 4. xk+i := xk + — • s m

II ||2

Шаг 5. Если xk+1 — xj < e, перейти на шаг 7.

Шаг 6. k := k + 1 ; перейти на шаг 2. Шаг 7. Стоп.

Модель BSF предполагает, что алгоритм выполняется вычислительной системой, состоящей из одного узла-мастера и K узлов-рабочих (K > 0 ). При этом шаг 1 выполняется и мастером, и рабочими в ходе инициализации итерационного процесса; шаг 2 (Map) выполняется только на узлах-рабочих; шаг 3 (Reduce) выполняется на узлах-рабочих и частично на узле-мастере; шаги 4-6 выполняются только на узле-мастере. В модели BSF предполагается, что все арифметические операции (сложение и умножение), а также операции сравнения над числами с плавающей точкой занимают одинаковое время тор .

3. Аналитическое исследование масштабируемости

Введем следующие обозначения для анализа масштабируемости алгоритма Чиммино:

cs — количество вещественных чисел, передаваемых от мастера одному рабо-

чему;

cMap — количество арифметических операций, выполняемых на шаге Map (шаг 2

алгоритма);

СдЫисе w — количество арифметических операций, выполняемых одним рабочим на

шаге Reduce (шаг 3 алгоритма); cr — количество вещественных чисел, передаваемых от одного рабочего мастеру;

СдЫисе м — количество арифметических операций, выполняемых мастером на шаге

Reduce (шаг 3 алгоритма); ca — количество арифметических операций, выполняемых мастером на шагах 4

и 5 алгоритма (агрегация).

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

cs = n. (14)

Подсчитаем количество арифметических операций, выполняемых на шаге Map. Для каждого элемента списка LMap вычисляется один вектор по формуле (4). Заметим, что величины ||ai|| (i = 1,...,m) не зависят от xk, и поэтому могут быть вычислены заранее на этапе инициализации. С учетом этого, количество операций при вычислении одного ортогонального отражения точки xk составляет n2 + 2 . Умножив это число на количество неравенств, получаем

cMap = m(n2 + 2)- (15)

При выполнении шага Reduce список LReduce , состоящий из m векторов, делится поровну между всеми рабочими. Везде далее мы предполагаем, что K < m . Для простоты мы будем считать, что m всегда кратно количеству рабочих K. Тогда на каждого рабочего

приходится список длиной mK. Для сложения m^K векторов размерности n требуется ((m K) — 1)n арифметических операций. Следовательно:

= ((ml K) — 1)n. (16)

cReduce _W

Вектор, полученный каждым рабочим на шаге Reduce, пересылается мастеру. Значит:

cr = n. (17)

Мастер должен выполнить шаг Reduce для полученных от рабочих векторов, то есть он должен сложить K векторов размерности n . Таким образом:

cnJ. „ = (K — 1)n.

Reduce M

= (K — 1)n. (18)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Выполнение шага 4 требует 2n операций (константу ^m мы предполагаем вычисленной

заранее). Выполнение шага 5 требует 3n — 1 арифметических операций и одну операцию сравнения. Отсюда получаем следующую формулу:

ca = 5n. (19)

Положим rop — время, затрачиваемое рабочим на выполнение одной арифметической операции, т t — время, затрачиваемое на пересылку по сети одного вещественного

числа без учета латентности. Тогда мы получаем следующие значения для стоимостных параметров модели BSF [21] в случае алгоритма Чиммино:

ts = Ttrn; (20)

tw = T0p •(m(n2 + 2) + (m — K)n); (21)

tr = Ttrn; (22)

ip = тор ■ ((K - 1)n + 5n ).

(23)

Уравнение (20), полученное на основе (14), дает оценку времени t , затрачиваемого мастером на передачу сообщения одному рабочему без учета латентности. Формула (21) получена с использованием формул (15) и (16). В соответствии со стоимостной метрикой модели BSF tw обозначает суммарные временные затраты рабочих на вычисления над

локальными данными. Поэтому выражение, стоящее в правой части уравнения (16), при подстановке в формулу (21) умножено на количество рабочих K. Уравнение (22), полученное на основе (17), дает оценку времени t , затрачиваемого мастером на получение

сообщения от одного рабочего без учета латентности. Формула (23), полученная на основе (18) и (19), вычисляет время tp , затрачиваемое мастером на выполнение своей части шага

Reduce, вычисление очередного приближения и проверку условия завершения.

В соответствии с этим время решения задачи системой в составе одного мастера и одного рабочего (K = 1 ) может быть вычислено следующим образом:

T = 2(L + Ttrn) + Top ■ (m(n2 + 2) + (m- 1)n + 5n).

(24)

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

TK = 2(L + W )K + То

m(n2 + 2) + (m - K)

K

+ (K - 1)n + 5n

(25)

На основании формул (24) и (25) мы можем записать формулу для ускорения а как функции от К:

a(K ) = TT- =

-L ТУ

2(L + Ttrn) + тор ■ ( m(n2 + n + 2) + 4n )

LK

2(L + Ttrn )K +

op

m(n2 + n + 2)

K

+ Kn + 3n

(26)

Для определения верхней границы масштабируемости алгоритма Чиммино в соответствии с методикой, описанной в [21], вычислим производную а '(К) и решим уравнение

a'(K) = 0.

(27)

С помощью несложных алгебраических преобразований из формулы (26) получаем следующую формулу для производной ускорения:

'(K ) =

(2(L + Ttrn) + тор ■ (m(n2 + n + 2) + 4n))

m(n2 + n + 2)

K 2

- 2(L + Tfrn)

2(L + Ttrn )K + t

op

m(n2 + n + 2)

K

+ Kn + 3n

(28)

Решим уравнение

(2(L + Ttrn) + Top ■ (m(n2 + n + 2) + 4n ))

m(n2 + n + 2)

K2

- 2(L + Ttrn)

= 0.

2(L + Ttrn )K + To

m(n2 + n + 2)

K

+ Kn + 3n

(29)

n

т

n

а

2

Т

-n

2

Разделив обе части уравнения (29) на положительную величину

(2(£ + тГги) + тор • (т(п2 + п + 2) + 4п))

и умножив на положительную величину

2(£ + т4гп)К + т

ор

т(п2 + п + 2)

К

+ Кп + 3п

переходим к уравнению

т

ор

т(п2 + п + 2)

К2

— п

- 2(Ь + т^п) = 0,

откуда получаем

К =

т(п2 + п + 2)т

ор

2(х + т1гп) + %п

Таким образом, уравнение (27) при К > 0 имеет только один корень К0 = у!т(п2 + п + 2)тор!( 2(Ь + т<гп) + торп) . Нас интересует случай, когда К0 > 1. Это

имеет место при выполнении условия т(п2 + п + 2)тор > 2(£ + т^п) + т п. В соответствии с (28) имеем

тор •(ш(п2 + п + 2) — п)- 2(Ь + т^п)

«'(!) = ——-1--V > 0-

2(Ь + т^п) + тор • (т(п2 + п + 2) + 4п)

(30)

Следовательно, в точке К 0 достигается максимум ускорения. Таким образом, верхняя граница масштабируемости Ктаж алгоритма Чиммино в соответствии с моделью BSF определяется следующей формулой:

Кшаж

т(п2 + п + 2)т

ор

2(Х + т4гп) + торп Упростим формулу (31). При п,т ^ то имеем

т(п2 + п + 2)тор = О(тп2)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

(31)

(32)

2(Ь + тírn) + т0рп = О (п). Подставив правые части неравенств (32) и (33) в (31), получим

Ктах

О(тп2)

О(п) '

(33)

что равносильно

2

и

Kmax = VO (mn ). (34)

Если предположить, что m > n, то есть количество неравенств больше количества переменных, то в этом случае имеем

Kmax = V0^

что равносильно

K = O (n ). (35)

mas V / V /

Таким образом, при m > n верхняя граница масштабируемости алгоритма Чиммино над списками растет пропорционально размерности задачи n .

В заключение этого раздела напишем формулу для оценки параллельной эффективности e как функции от K. С учетом формулы (26) имеем

a(K) 2(L + rirn) + т •( m(n2 + n + 2) + 4n )

e(K ) = ——- = --,—----г. (36)

K 2(L + Ttrn)K2 + тор • ( m(n2 + n + 2) + K2n + 3Kn )

4. Вычислительные эксперименты

Для верификации результатов, полученных аналитическим путем, мы выполнили реализацию алгоритма Чиммино на языке С++ с использованием программного каркаса BSF и библиотеки параллельного программирования MPI. Данная реализация свободно доступна в сети Интернет по адресу https://github.com/leonid-sokolinsky/BSF-Cimmino. Систему неравенств мы заимствовали из модельной масштабируемой задачи линейного программирования Model-n размерности n, приведенной в работе [24]. Количество неравенств в этой системе равно m = 2n + 2 . Мы исследовали ускорение и эффективность распараллеливания алгоритма Чиммино на суперкомпьютере «Торнадо ЮУрГУ» [25]. Тестирование проводилось для размерностей 1500, 5000, 10000 и 16000. Одновременно мы построили для этих же размерностей графики ускорения и эффективности с использованием формул (26) и (36). Для этого экспериментальным путем были определены величины

в секундах: L = 1.5 • 10~5 , т = 2.9 • 10 8 и тtr = 1.9 • 10"7. Результаты приведены на

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

ш

30

25

20

I

« ,г

О. 15 о

> 10

0

• Эксперимент

• Модель BSF

X.

"Х-..

0 40 80 120 160 200 240 Количество рабочих узлов

Рис. 1. Ускорение при п = 1500

280

100

80

60

£ 40 е

Э20

0

—□— Эксперимент —X— Модель BSF

0 40 80 120 160 200 240 Количество рабочих узлов

Рис. 2. Эффективность при п = 1500

280

0 40 80 120 160 200 240 Количество рабочих узлов

Рис. 3. Ускорение при п = 5000

280

0 40 80 120 160 200 240 280 Количество рабочих узлов

Рис. 4. Эффективность при п = 5000

—□— Эксперимент —X— Модель BSF

0 40 80 120 160 200 240 Количество рабочих узлов

Рис. 5. Ускорение при п = 10000

280

0 40 80 120 160 200 240 280 Количество рабочих узлов

Рис. 6. Эффективность при п = 10000

о £20

10

0

0 40 80 120 160 200 240 Количество рабочих узлов

Рис. 7. Ускорение при п = 16000

280 0 40 80 120 160 200 240 280

Количество рабочих узлов

Рис. 8. Эффективность при п = 16000

5

Заключение

В статье выполнено аналитическое исследование масштабируемости и эффективности распараллеливания итерационного алгоритма Чиммино для решения больших систем линейных неравенств на многопроцессорных системах с распределенной памятью. Для этого использована модель параллельных вычислений BSF (Bulk Synchronous Farm), основанная на парадигме «мастер-рабочие». Описана реализация алгоритма Чиммино в виде операций над списками с использованием функций высшего порядка Map и Reduce, определяемых формализмом Бёрда-Миртенса. Получена оценка верхней границы масштабируемости алгоритма Чиммино над списками. Данная оценка показывает, что если количество неравенств больше количества переменных, то верхняя граница масштабируемости растет пропорционально размерности задачи. Также получены формулы для оценки ускорения и эффективности распараллеливания алгоритма Чиммино над списками. Выполнена реализация алгоритма Чиммино над списками на языке C++ с использованием программного каркаса BSF и библиотеки параллельного программирования MPI. На кластерной вычислительной системе проведены масштабные эксперименты для определения фактических кривых ускорения и параллельной эффективности для задач с количеством переменных 1500, 5000, 10000, 16000 и количеством неравенств 3002, 10002, 20002, 32002 соответственно. Результаты экспериментов показали, что модель BSF с высокой точностью предсказывает верхнюю границу масштабируемости алгоритма Чиммино над списками. В рамках дальнейших исследований мы планируем решить следующие задачи:

1) применить алгоритм Чиммино для реализации фазы Qwest алгоритма NSLP [2], предназначенного для решения сверхбольших нестационарных задач линейного программирования;

2) провести вычислительные эксперименты по решению сверхбольших задач линейного программирования на кластерной вычислительной системе в условиях динамического изменения исходных данных.

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 17-07-00352 а, Правительства РФ в соответствии с Постановлением №211 от 16.03.2013 г. (соглашение № 02.A03.21.0011) и Министерства образования и науки РФ (государственное задание 2.7905.2017/8.9).

Литература

1. Cottle R.W., Pang J.-S., Stone R.E. The Linear Complementarity Problem. Society for Industrial and Applied Mathematics, 2009. xxiv + 757 p. DOI: 10.1137/1.9780898719000

2. Соколинская И.М., Соколинский Л.Б. О решении задачи линейного программирования в эпоху больших данных // Параллельные вычислительные технологии — XI международная конференция (ПаВТ'2017): Короткие статьи и описания плакатов (Казань, 3-7 апреля 2017 г.). Челябинск: Издательский центр ЮУрГУ, 2017. С. 471-484. URL: http://omega.sp.susu.ru/pavt2017/short/014.pdf.

3. Censor Y. et al. On Diagonally Relaxed Orthogonal Projection Methods // SIAM Journal on Scientific Computing. Society for Industrial and Applied Mathematics, 2008. Vol. 30, No. 1. P. 473-504. DOI: 10.1137/050639399

4. Zhu J., Li X. The Block Diagonally-Relaxed Orthogonal Projection Algorithm for Compressed Sensing Based Tomography / / 2011 Symposium on Photonics and Optoelectronics (SOPO). IEEE, 2011. P. 1-4. DOI: I0.1109/S0p0.2011.5780660

5. Censor Y. Mathematical optimization for the inverse problem of intensity-modulated radiation therapy // Intensity-Modulated Radiation Therapy: The State of the Art / ed. Palta J.R., Mackie T.R. Madison, WI: Medical Physics Publishing, 2003. P. 25-49. DOI: 10.1118/1.1628279

6. Agmon S. The relaxation method for linear inequalities / / Canadian Journal of Mathematics. 1954. Vol. 6. P. 382-392. DOI: 10.4153/CJM-1954-037-2

7. Motzkin T.S., Schoenberg I.J. The relaxation method for linear inequalities // Canadian Journal of Mathematics. 1954. Vol. 6. P. 393-404. DOI: 10.4153/CJM-1954-038-x

8. Cimmino G. Calcolo approssimato per le soluzioni dei sistemi di equazioni lineari // La Ricerca Scientifica, XVI, Series II, Anno IX, 1. 1938. P. 326-333.

9. Benzi M. Gianfranco Cimmino's Contributions to Numerical Mathematics / / Atti del SemiSeminario di Analisi Matematica, Dipartimento di Matematica dell'Universit* a di Bologna (Ciclo di Conferenze in Ricordo di Gianfranco Cimmino, 2004). Bologna, Italy: Tecnoprint, 2005. P. 87-109.

10. Censor Y., Zenios S.A. Parallel Optimization: Theory, Algorithms, and Applications. New York: Oxford University Press, 1997.

11. Censor Y., Elfving T. New methods for linear inequalities // Linear Algebra and its Applications. North-Holland, 1982. Vol. 42. P. 199-211. DOI: 10.1016/0024-3795(82)90149-5

12. Censor Y. Sequential and parallel projection algorithms for feasibility and optimization // Proc. SPIE 4553, Visualization and Optimization Techniques, (25 September 2001) / ed. Censor Y., Ding M. International Society for Optics and Photonics, 2001. P. 1-9. DOI: 10.1117/12.441550

13. Kelley C.T. Iterative Methods for Linear and Nonlinear Equations. Philadelphia: Society for Industrial and Applied Mathematics, 1995. xiii + 156 p. DOI: 10.1137/1.9781611970944

14. Bilardi G., Pietracaprina A. Models of Computation, Theoretical // Encyclopedia of Parallel Computing. Boston, MA: Springer US, 2011. P. 1150-1158. DOI: 10.1007/978-0-387-09766-4_218

15. JaJa J.F. PRAM (Parallel Random Access Machines) / / Encyclopedia of Parallel Computing. Boston, MA: Springer US, 2011. P. 1608-1615. DOI: 10.1007/978-0-387-09766-4_23

16. Valiant L.G. A bridging model for parallel computation // Communications of the ACM. 1990. Vol. 33, No. 8. P. 103-111. DOI: 10.1145/79173.79181

17. Culler D. et al. LogP: towards a realistic model of parallel computation / / Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming, PPOPP '93. New York, New York, USA: ACM Press, 1993. P. 1-12. DOI: 10.1145/155332.155333

18. Forsell M., Leppanen V. An extended PRAM-NUMA model of computation for TCF programming // Proceedings of the 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2012. Washington, DC, USA: IEEE Computer Society, 2012. P. 786-793. DOI: 10.1109/IPDPSW.2012.97

19. Gerbessiotis A. V. Extending the BSP model for multi-core and out-of-core computing: MBSP // Parallel Computing. Elsevier B.V., 2015. Vol. 41. P. 90-102. DOI: 10.1016/j.parco.2014.12.002

20. Lu F., Song J., Pang Y. HLognGP: A parallel computation model for GPU clusters // Concurrency and Computation: Practice and Experience. 2015. Vol. 27, No. 17. P. 48804896. DOI: 10.1002/cpe.3475

21. Ежова Н.А., Соколинский Л.Б. BSF: модель параллельных вычислений для многопроцессорных систем с распределенной памятью // Параллельные вычислительные технологии — XII международная конференция (ПаВТ'2018): Короткие статьи и описания плакатов (Ростов-на-Дону, 2-6 апреля 2018 г.). Челябинск: Издательский центр ЮУрГУ, 2018. С. 253-265. URL: http://omega.sp.susu.ru/pavt2018/short/001.pdf.

22. Sokolinskaya I., Sokolinsky L.B. Scalability evaluation of the NSLP algorithm for solving non-stationary linear programming problems on cluster computing systems // Суперкомпьютерные дни в России: Труды международной конференции (Москва, 25-26 сентября 2017 г.). М.: Изд-во МГУ, 2017. С. 319-332. URL: http://rus-sianscdays.org/files/pdf17/319.pdf.

23. Cole M.I. Parallel programming with list homomorphisms // Parallel Processing Letters. 1995. Vol. 5, No. 2. P. 191-203. DOI: 10.1142/S0129626495000175

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

24. Соколинская И.М., Соколинский Л.Б. Модифицированный следящий алгоритм для решения нестационарных задач линейного программирования на кластерных вычислительных системах с многоядерными ускорителями // Суперкомпьютерные дни в России: труды международной конференции (Москва, 26-27 сентября 2016 г.). М.: Изд-во МГУ, 2016. C. 294-306. URL: http://2016.russianscdays.org/files/pdf16/294.pdf.

25. Kostenetskiy P.S., Safonov A.Y. SUSU Supercomputer Resources // Proceedings of the 10th Annual International Scientific Conference on Parallel Computing Technologies (PCT 2016). CEUR Workshop Proceedings. 2016. Vol. 1576. P. 561-573.

Соколинская Ирина Михайловна, к.ф.-м.н., доцент, кафедра вычислительной математики и высокопроизводительных вычислений, Южно-Уральский государственный университет (национальный исследовательский университет) (Челябинск, Российская Федерация)

Соколинский Леонид Борисович, д.ф.-м.н., профессор, проректор по информатизации, Южно-Уральский государственный университет (национальный исследовательский университет) (Челябинск, Российская Федерация)

DOI: 10.14529/cmsel90102

SCALABILITY EVALUATION OF CIMMINO ALGORITHM FOR SOLVING SYSTEMS OF LINEAR INEQUALITIES ON CLUSTER COMPUTING SYSTEMS

© 2019 I.M. Sokolinskaya, L.B. Sokolinsky

South Ural State University (pr. Lenina 76, Chelyabinsk, 454080 Russia) E-mail: irina.sokolinskaya@susu.ru, leonid.sokolinsky@susu.ru Received: 05.05.2018

The paper is devoted to a scalability study of Cimmino algorithm for linear inequality systems. This algorithm belongs to the class of iterative projection algorithms. For the analytical analysis of the scalability, the BSF (Bulk Synchronous Farm) parallel computation model is used. An implementation of the Cimmino algorithm in the form of operations on lists using higher-order functions Map and Reduce is presented. An analytical estimation of the upper scalability bound of the algorithm for cluster computing systems is derived. Information about the implementation of Cimmino algorithm on lists in C+—+ language using the BSF program skeleton and MPI parallel programming library is given. The results of large-scale computational experiments performed on a cluster computing system are demonstrated. A conclusion about the adequacy of the analytical estimations by comparing them with the results of computational experiments is made.

Keywords: Cimmino algorithm, system of linear inequalities, iterative algorithm, projection algorithm, parallel computation model, BSF, scalability estimation, speedup, parallel efficiency, cluster computing systems.

FOR CITATION

Sokolinskaya I.M., Sokolinsky L.B. Scalability Evaluation of Cimmino Algorithm for Solving Systems of Linear Inequalities on Cluster Computing Systems. Bulletin of the South Ural State University. Series: Computational Mathematics and Software Engineering. 2019. vol. 8, no. 1. pp. 20-35. (in Russian) DOI: 10.14529/cmse190102.

This paper is distributed under the terms of the Creative Commons Attribution-Non Commercial 3.0 License which permits non-commercial use, reproduction and distribution of the work without further permission provided the original work is properly cited.

References

1. Cottle R.W., Pang J.-S., Stone R.E. The Linear Complementarity Problem. Society for Industrial and Applied Mathematics, 2009. xxiv + 757 p. DOI: 10.1137/1.9780898719000

2. Sokolinskaya I., Sokolinsky L.B. On the Solution of Linear Programming Problems in the Age of Big Data. Parallel Computational Technologies. PCT 2017. Communications in Computer and Information Science. Springer, 2017. vol. 753. pp. 86-100. DOI: 10.1007/978-3-319-67035-5_7

3. Censor Y. et al. On Diagonally Relaxed Orthogonal Projection Methods. SIAM Journal on Scientific Computing. Society for Industrial and Applied Mathematics, 2008. vol. 30, no. 1. pp. 473-504. DOI: 10.1137/050639399

4. Zhu J., Li X. The Block Diagonally-Relaxed Orthogonal Projection Algorithm for Compressed Sensing Based Tomography. 2011 Symposium on Photonics and Optoelectronics (SOPO). IEEE, 2011. pp. 1-4. DOI: 10.1109/SOPO.2011.5780660

5. Censor Y. Mathematical optimization for the inverse problem of intensity-modulated radiation therapy. Intensity-Modulated Radiation Therapy: The State of the Art. WI: Medical Physics Publishing, 2003. pp. 25-49. DOI: 10.1118/1.1628279

6. Agmon S. The relaxation method for linear inequalities. Canadian Journal of Mathematics. 1954. vol. 6. pp. 382-392. DOI: 10.4153/CJM-1954-037-2

7. Motzkin T.S., Schoenberg I.J. The relaxation method for linear inequalities. Canadian Journal of Mathematics. 1954. vol. 6. pp. 393-404. DOI: 10.4153/CJM-1954-038-x

8. Cimmino G. Calcolo approssimato per le soluzioni dei sistemi di equazioni lineari. La Ricerca Scientifica, XVI, Series II, Anno IX, 1. 1938. pp. 326-333.

9. Benzi M. Gianfranco Cimmino's Contributions to Numerical Mathematics. Atti del Semi-Seminario di Analisi Matematica, Dipartimento di Matematica dell'Universit^a di Bologna (Ciclo di Conferenze in Ricordo di Gianfranco Cimmino, 2004). Bologna, Italy: Tecnoprint, 2005. pp. 87-109.

10. Censor Y., Zenios S.A. Parallel Optimization: Theory, Algorithms, and Applications. New York: Oxford University Press, 1997.

11. Censor Y., Elfving T. New methods for linear inequalities. Linear Algebra and its Applications. North-Holland, 1982. vol. 42. pp. 199-211. DOI: 10.1016/0024-3795(82)90149-5

12. Censor Y. Sequential and parallel projection algorithms for feasibility and optimization. Proc. SPIE 4553, Visualization and Optimization Techniques, (25 September 2001). Society for Optics and Photonics, 2001. pp. 1-9. DOI: 10.1117/12.441550

13. Kelley C.T. Iterative Methods for Linear and Nonlinear Equations. Philadelphia: Society for Industrial and Applied Mathematics, 1995. xiii + 156 p. DOI: 10.1137/1.9781611970944

14. Bilardi G., Pietracaprina A. Models of Computation, Theoretical. Encyclopedia of Parallel Computing. Boston, MA: Springer US, 2011. pp. 1150-1158. DOI: 10.1007/978-0-387-09766-4_218

15. JaJa J.F. PRAM (Parallel Random Access Machines). Encyclopedia of Parallel Computing. Boston, MA: Springer US, 2011. pp. 1608-1615. DOI: 10.1007/978-0-387-09766-4_23

16. Valiant L.G. A bridging model for parallel computation. Communications of the ACM. 1990. vol. 33, no. 8. pp. 103-111. DOI: 10.1145/79173.79181

17. Culler D. et al. LogP: towards a realistic model of parallel computation. Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming, PPOPP '93. New York, New York, USA: ACM Press, 1993. pp. 1-12. DOI: 10.1145/155332.155333

18. Forsell M., Leppänen V. An extended PRAM-NUMA model of computation for TCF programming. Proceedings of the 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2012. Washington, DC, USA: IEEE Computer Society, 2012. pp. 786-793. DOI: 10.1109/IPDPSW.2012.97

19. Gerbessiotis A. V. Extending the BSP model for multi-core and out-of-core computing: MBSP. Parallel Computing. Elsevier B.V., 2015. vol. 41. pp. 90-102. DOI: 10.1016/j.parco.2014.12.002

20. Lu F., Song J., Pang Y. HLognGP: A parallel computation model for GPU clusters. Concurrency and Computation: Practice and Experience. 2015. vol. 27, no. 17. pp. 4880-4896. DOI: 10.1002/cpe.3475

21. Sokolinsky L.B. Analytical Estimation of the Scalability of Iterative Numerical Algorithms on Distributed Memory Multiprocessors. Lobachevskii Journal of Mathematics. 2018. vol. 39, no. 4. pp. 571-575. DOI: 10.1134/S1995080218040121

22. Sokolinskaya I., Sokolinsky L.B. Scalability Evaluation of NSLP Algorithm for Solving Non-Stationary Linear Programming Problems on Cluster Computing Systems. Supercomputing. RuSCDays 2017. Communications in Computer and Information Science. Cham: Springer, 2017. vol. 793. pp. 40-53. DOI: 10.1007/978-3-319-71255-0_4

23. Cole M.I. Parallel programming with list homomorphisms. Parallel Processing Letters. 1995. vol. 5, no. 2. pp. 191-203. DOI: 10.1142/S0129626495000175

24. Sokolinskaya I., Sokolinsky L. Revised Pursuit Algorithm for Solving Non-stationary Linear Programming Problems on Modern Computing Clusters with Manycore Accelerators. Supercomputing. RuSCDays 2016. Communications in Computer and Information Science. Cham: Springer, 2016. vol. 687. pp. 212-223. DOI: 10.1007/978-3-319-55669-7_17

25. Kostenetskiy P.S., Safonov A.Y. SUSU Supercomputer Resources. Proceedings of the 10th Annual International Scientific Conference on Parallel Computing Technologies (PCT 2016). CEUR Workshop Proceedings. 2016. vol. 1576. pp. 561-573.

i Надоели баннеры? Вы всегда можете отключить рекламу.