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

Организация прикладного сервиса решения систем линейных алгебраических уравнений на вычислительном кластере Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
206
44
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
сервис-ориентированная архитектура / сервис / высокопроизводительные вычислительные системы / системы линейных алгебраических уравнений / кластер

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бойченко Иван Валентинович, Немеров Александр Александрович, Лежанкин Антон Валентинович, Корытников Сергей Викторович

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бойченко Иван Валентинович, Немеров Александр Александрович, Лежанкин Антон Валентинович, Корытников Сергей Викторович

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

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

УДК 004.75

И.В. Бойченко, А.А. Немеров, А.В. Лежанкин, С.В. Корытников

Организация прикладного сервиса решения систем линейных алгебраических уравнений на вычислительном кластере

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

Ключевые слова: сервис-ориентированная архитектура, сервис, высокопроизводительные вычислительные системы, системы линейных алгебраических уравнений, кластер.

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

Следует отметить, что не всегда вычислительные задачи требуют применения ВПВС. Необходимость возникает, когда размер (размерность) входных данных превышает некоторый порог, за которым время выполнения задачи на одном процессоре (вычислительном блоке) становится неприемлемо большим. Примерами ресурсоемких задач являются: задачи рендеринга (расчет

освещенности сцены), распознавание объектов на изображении (распознавание лица человека, например), фрактальное сжатие изображения.

Необходимо отметить, что даже для трудоемких задач применение ВПВС не всегда оправдано. Эффективность применения ВПВС зависит от многих факторов и в наибольшей степени от размерности решаемой задачи. При небольшой размерности входных данных применение ВПВС не только может не дать прироста производительности, но и привести к замедлению вычислений, обусловленному пересылкой данных.

Из-за особой модели программирования [1] перенос ПО целиком на ВПВС сложен, да и не нужен, так как большую часть времени работающим программам не нужны высокопроизводительные ресурсы. Мы считаем, что вынесение на ВПВС отдельных вычислительно емких задач в виде сервисов, предоставляемых по требованию, повысило бы эффективность их решения. Сложные функции можно реализовать в виде сервисов и предоставлять доступ к ним, тем самым избегая необходимости полной переделки программ [2].

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

Мы провели эксперимент, оценивающий прирост производительности при выносе ресурсоемкой функции на ВПВС. В качестве ВПВС, ресурсы которой предоставляются в виде набора информационных сервисов, используется вычислительный кластер кафедры АСУ ТУСУРа (http://cluster.tusur.ru). В качестве системы-клиента использовалась предметно-ориентированная система MATLAB, расширяемая модулями на платформе Java. Разработанное нами расширение для MATLAB позволяет обращаться к веб-сервису для решения конкретной вычислительной задачи, в данном случае это решение системы линейных алгебраических уравнений (СЛАУ). Также была разработана и развернута программная инфраструктура, позволяющая осуществлять часть расчетов на вычислительном кластере (рис. 1).

Рис. і. Сервис-ориентированная архитектура доступа к ВПВС

Основная задача подключаемого модуля, работающего на стороне клиента, - передача запроса на решение задачи и ее параметров на сервер приложений (Apache Tomcat), а затем, после выполнения расчетов, получение результата и возврат в программу. При этом предусмотрено хранение массивов в виде удаленных объектов, так как клиентская система может не вмещать все данные в локальной ОЗУ.

На рис. 2 показана последовательность взаимодействия компонент системы. Блок КЛИЕНТ представляет собой MATLAB с расширением, блоки HTTP-СЕРВЕР, Реестр сервисов и Сервис (конкретный сервис) представляют собой глобальную точку доступа к сервисам, блоки SFTP-СЕРВЕР, Мастер-агент и Решатели (программы-решатели, реализующие конкретный численный метод) размещаются на кластере.

Рис. 2. Взаимодействие компонентов системы

Последовательность работы системы следующая: 1) клиент (MATLAB) инициирует запрос на решение задачи; 2) запрос клиента обрабатывается HTTP-сервером, в реестр сервисов посылается запрос на поиск сервера; 3) если описание сервиса имеется в реестре, то клиент об этом оповещается и получает формат параметров, одновременно сервис запускается; 4) клиент сохраняет данные на SFTP-сервере и передает сервису параметры данных; 5) сервис передает метаданные (адрес данных, размерность данных) мастер-агенту; 6) мастер-агент запускает решатель; 7) решатель загружает данные задачи с SFTP-сервера; 8) решатель решает задачу, результат сохраняется на SFTP-сервере, клиент получает уведомление о завершении вычислений; 9) клиент загружает результат с SFTP-сервера.

Реестр сервисов обеспечивает хранение и выдачу технических параметров для решения конкретного типа задачи. Решение задачи происходит в ядре системы (мастер-агент и решатели), которое определяет метод решения задачи, разделяет данные в зависимости от выбранного метода, запускает процесс счета на вычислительных агентах, контролирует выполнение и выдает результат на уровень сервиса, чтобы затем результат был возвращен клиенту [4].

При планировании эксперимента мы предполагали, что задача должна быть типовая, и метод решения должен быть полностью описан и зарегистрирован в системе.

Мы провели эксперимент, оценивающий скорость решения СЛАУ различных размерностей на ПК и на кластере. Для решения СЛАУ используется функция dgesv библиотеки LAPACK пакета Intel MKL. Функция решает уравнение модифицированным методом Гаусса. Для эксперимента были взяты СЛАУ разных размерностей, в диапазоне от 500 до 5000. В качестве клиентской ПК использовалась машина со следующими характеристиками: процессор - Intel Core 2 Quad Q6700, 2,66 ГГц, ОЗУ - DDR2, 400 МГц, 2 Гб. В качестве вычислительного кластера использовалась система со следующими характеристиками: 8 вычислительных узлов Intel Xeon 5300 с 8 Гбайт оперативной памяти и 1 управляющий узел Intel Xeon 5300 с 16 Гбайт оперативной памяти [5]. Тесты проводились при нормальной пропускной способности сети (100 Мб/с) и при малой пропускной способности (~1 Мб/c). Результаты тестов представлены на графике (рис. 3).

При решении СЛАУ размерностью меньше 500 прироста производительности от использования кластера нет. MATLAB решает задачу на ПК быстрее, так как отсутствуют затраты на пересылку данных. При размерности более 500 кластер решает задачу быстрее, чем ПК. Начиная с 1500 уравнений и дальше виден значительный прирост производительности - кластер даже с достаточно медленной сетью проводит расчеты в 2-3 раза быстрее, чем ПК.

Число уравнений в СЛАУ Рис. 3. Результаты тестирования: от 500 до 3000 СЛАУ

При размерности СЛАУ более 2500 узким местом становится медленное сетевое соединение. При пропускной способности сети 100 Мб/с или 1 Гб/с можно получить коэффициент ускорения порядка 102—103. С размерностью более 5000 уравнений эксперименты не проводились, так как можно считать, что размерность до 5000 достаточна, чтобы увидеть общую тенденцию изменения времени решения задачи. Также при результатах более 5000 время решения задачи на кластере становится большим (~1 ч и более), что затрудняет выполнение эксперимента.

Таким образом, эксперимент показал: а) практическую реализуемость сервис-ориентированной архитектуры доступа к ресурсам ВПВС; б) разработанная сервис-ориентированная архитектура обеспечивает прирост производительности при решении СЛАУ.

Далее мы планируем расширить спектр решаемых задач в данной архитектуре за счет сервисов фрактального сжатия изображений и распознавания образов. Также планируется проведение работ в области анализа эффективности решения задачи на ВПВС. В приведенном примере СЛАУ меньше 500 уравнений следует решать локально. Расширение, работающее на стороне клиента, должно автоматически определять, какой способ вычисления будет быстрее - локальный или кластерный. В связи с этим возникает проблема оценки эффективности сервисов высокопроизводительных вычислений для произвольной вычислительной задачи. Предполагается, что данная оценка должна исходить из ряда параметров, в частности: параметров вычислительной системы клиента, параметров и загрузки ВПВС, пропускной способности сети, текущей нагрузки сети и т.д. Эти и другие вопросы будут решаться в ходе дальнейших исследований.

Исследования выполнены при финансовой поддержке НИР, выполняемой по ФЦП «Научные и научно-педагогические кадры инновационной России» (госконтракт № 14.740.11.0398; шифр заявки 2010-1.1-215-138-022).

Литература

1. Воеводин В.В. Параллельные вычисления / В.В. Воеводин, Вл.В. Воеводин. - СПб.: БХВ-Петербург, 2002. - 608 с.

2. Бойченко И.В. Сервис-ориентированная архитектура доступа к ресурсам высокопроизводительных вычислительных систем / И.В. Бойченко, С.В. Корытников, А.В. Лежанкин // Пятая сибирская конференция по параллельным и высокопроизводительным вычислениям / под ред. А.В. Стар-ченко. - Томск: Изд-во Том. ун-та, 2010. - С. 47-51.

3. Демин А.Ю. Компьютерная графика / А.Ю. Демин, А.В. Кудинов. - Томск: Изд-во ТПУ, 2004. - 138 с.

4. Бойченко И.В. Управление ресурсами в сервис-ориентированных системах типа «приложение как сервис» / И.В. Бойченко, С.В. Корытников // Доклады ТУСУРа. - 2010. - № 1(21), ч. 2. -С.156-160.

5. Бойченко И.В. Вычислительный кластер ТУСУРа: старт // Информационные системы: тр. постоянно действующего науч. техн. семинара / ТУСУР. Отд. проблем информатизации ТНЦ СО РАН / под ред. А.М. Корикова. - Томск: ТУСУР, 2008. - Вып. 5. - С. 3-12.

Бойченко Иван Валентинович

Докторант каф. автоматизированных систем управления (АСУ) ТУСУРа

Тел.: 8-906-958-24-83

Эл. почта: biv@asu.tusur.ru

Немеров Александр Александрович

Аспирант каф. АСУ ТУСУРа

Тел.: 8-923-401-27-87

Эл. почта: nemerov@asu.tusur.ru

Лежанкин Антон Валентинович

Аспирант каф. АСУ ТУСУРа

Тел.: 8-923-417-37-39

Эл. почта: lanmails@ms.tusur.ru

Корытников Сергей Викторович

Аспирант каф. АСУ ТУСУРа

Тел.: 8-923-415-94-36

Эл. почта: biox@ms.tusur.ru

Boichenko I.V., Nemerov A.A., Lezhankin A.V., Korytnikov S.V

Organization of applied service for solving the systems of linear algebraic equations using computing cluster

It is shown that service-oriented architecture allows us to apply new approaches to resource management of computer systems. We have designed and implemented a system for solving large systems of linear algebraic equations by means of a cluster. We have carried out the experiment to calculate the time reduction when using high performance computing systems.

Keywords: service-oriented architecture, service, high-performance computing systems, systems of linear algebraic equations.

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