Научная статья на тему 'Программная платформа для проведения распределенных вычислений Anthill'

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

CC BY
223
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПРЕДЕЛЕННЫЕ ВЫЧИСЛЕНИЯ / ГРИД-ВЫЧИСЛЕНИЯ / СЛАБОСВЯЗНЫЕ ЗАДАЧИ / МЕХАНИКА ТВЁРДОГО ТЕЛА / ДОБРОВОЛЬНЫЕ ВЫЧИСЛЕНИЯ / DJANGO / PYTHON / DISTRIBUTED COMPUTING / GRID COMPUTING / LOOSELY COUPLED TASKS / SOLID MECHANICS / VOLUNTEER COMPUTING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Нгуен Занг Зуи Чыонг Занг Зуи Чыонг, Краснощёков Александр Александрович

Описаны подходы к проектированию, реализации и внедрению системы распределённых вычислений Anthill. В основу системы легла концепция грид-вычислений, акцент был сделан на скорость функционирования, интуитивную понятность пользовательского интерфейса, а также простоту развёртывания и обслуживания. Пользовательский интерфейс был реализован в виде веб-приложения, а клиентская часть в виде низкоприоритетного фонового процесса. Основным предназначением системы является распределение ресурсоёмких наборов слабосвязных задач.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Нгуен Занг Зуи Чыонг Занг Зуи Чыонг, Краснощёков Александр Александрович

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

THE SOFTWARE PLATFORM FOR DISTRIBUTED COMPUTING ANTHILL

The concepts of design, implementation and integration of distributed computing system Anthill are described in this paper. The primary purpose of the system is dis tribution of sets resource-consuming loosely coupled tasks. The basic concepts were inherited from conventional grid-computing, but focus was made on operational speed, user-friendly interface and simplicity of deployment and maintenance. User interface was implemented as a web site, and the client module as low-priority background process.

Текст научной работы на тему «Программная платформа для проведения распределенных вычислений Anthill»

УПРАВЛЕНИЕ, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И ИНФОРМАТИКА

УДК 004.42+004.9

ПРОГРАММНАЯ ПЛАТФОРМА ДЛЯ ПРОВЕДЕНИЯ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ ANTHILL

© 2012 г. Нгуен Занг Зуи Чыонг, А.А. Краснощёков

Донской государственный технический Donskoy State Technical University,

университет, г. Ростов-на-Дону Rostov-on-Don

Описаны подходы к проектированию, реализации и внедрению системы распределённых вычислений Anthill. В основу системы легла концепция грид-вычислений, акцент был сделан на скорость функционирования, интуитивную понятность пользовательского интерфейса, а также простоту развёртывания и обслуживания. Пользовательский интерфейс был реализован в виде веб-приложения, а клиентская часть в виде низкоприоритетного фонового процесса. Основным предназначением системы является распределение ресурсоёмких наборов слабосвязных задач.

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

The concepts of design, implementation and integration of distributed computing system Anthill are described in this paper. The primary purpose of the system is dis tribution of sets resource-consuming loosely coupled tasks. The basic concepts were inherited from conventional grid-computing, but focus was made on operational speed, user-friendly interface and simplicity of deployment and maintenance. User interface was implemented as a web site, and the client module as low-priority background process.

Keywords: distributed computing; grid computing; loosely coupled tasks; solid mechanics; volunteer computing; Django; Python.

Введение

С увеличением сложности решаемых наукой и техникой задач требуется всё большие вычислительные мощности. Одним из возможных путей решения данной проблемы является привлечение инвестиций для модернизации оборудовании. Но в действительности уже имеющиеся ресурсы расходуются довольно расточительно, лабораторные и офисные компьютеры работают максимум на 10 % от своей мощности. При эффективном использовании этих ресурсов можно осуществлять значительные объёмы вычислений. Этот факт является одной из основных целей применения концепции грид-вычислений.

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

Говоря о грид-вычислениях, необходимо отметить, что это понятие включает в себя термины «вычислительные джунгли» [1] и «волонтёрские вычисления». Это позволяет как отдельным лицам, так и организациям вносить вклад в решение научных задач, используя практически любые типы вычислительных устройств.

Отправной точкой для создания системы АпШП стал анализ существующих систем грид-вычислений, и в частности проекта BOINC [2], как наиболее яркого их представителя. Первоначально разработанный для поддержки проекта SETI@home, впоследствии BOINC стал платформой для других распределенных приложений в самых разных областях знаний. BOINC является открытой и популярной, но в то же время достаточно сложной для понимания системой. Исследователь, не связанный с областью информационных технологий, должен потратить значительное время на изучение и развёртывание системы. Этот аспект в той или иной мере касается и другого программного обеспечения для грид-вычислений.

Таким образом, возникает необходимость создания программного продукта, в основу которого ляжет максимальная скорость функционирования и удобство использования для исследователя.

Основные концепции

Исследование существующих систем распределённых вычислений [3 - 5] позволило сформулировать следующие основные концепции для построения и функционирования программной платформы для грид-вычислений Anthill:

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

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

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

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

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

Высокие требования к качеству услуг. Упрощение заданий и некоторая степень избыточности позволяют эффективно распределить нагрузку и обеспечить вычисления с максимальной надёжностью.

Высокая скорость вычислений. Для разработки системы требуется простой и популярный в научной среде кроссплатформенный язык программирования. Исходный код программы должен быть минимали-стичен и лёгок в управлении и развитии. Должны быть реализованы механизмы кэширования, оптимизированы запросы к базе данных, реализована поддержка многопроцессорных систем.

Система Anthill

Исходя из описанных выше концепций основным языком для разработки системы был выбран Python.

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

Клиентская часть системы скачивается из личного кабинета пользователя (рис. 1) в виде установочного пакета, настроенного на работу с сервером. После установки клиентской части на новый узел (вычислительное устройство) регистрация происходит автоматически.

Для создания нового задания исследователь загружает в личный кабинет программу, которая принимает входные параметры из командной строки, и файл с наборами параметров. Таким образом, снимаются ограничения на выбор языка программирования и жесткого следования API распределённой системы. Весь ход вычислений отображается в виде статистики и графиков посредством технологии AJAX.

Алгоритм работы системы представлен на рис. 2.

На основе серии испытаний необходимо отметить, что большая часть потерь в производительности приходится на сетевое взаимодействие - единственный фактор, который не подлежит оптимизации в данном исследовании (рис. 3).

За счёт проведённых работ по минимизации функционала и оптимизации системы при расчёте подзадач, занимающих 16 с процессорного времени, BOINC тратит 4,7 % времени на функционирование самой системы на 5 компьютерах, тогда как в случае Anthill - всего лишь 0,3 % .

Tasks

Nodes

Name >> Program » Parameters »

| О&мр.. j

| Обзор... [

Add

S3 - 20.« - Prime Hi=]

Results

Task: i /1 Subtask: loo f 100 Left: o.ooooo Hours

After installing the client program sites will be added automatically.

11X1.0 % Beafc (Xti I ££ I (1,2 Hin, ТПод) t С D ПЗ

sasha | Exit PGTU

№11 nameOZ.it.dEtu.bul (0. OHkI G ПйрЕ/г) winJ2

46.001 TFIopi - Error: 0 - L*t Итк 0.3 «in »9 rtimrfB.it.dnii.locil (O.Ctbd G ffcps/5 J wUB

«.llJTFbps. Error: 0 • Last tin»: 0.J Min ГЗ (ft : ami i"

fi.OK TFfcps ■ Error: 0 ■ Lin rin*: 0.J Min Q® Hi <UnnOi.ft.tfcni.lcci <0«£K2CFfef»/5J Wta32

¿i.10» T Flops ■ Error: 0 ■ Lin «mr: O.lWnQ^ 4.4 fUrw7.iT.ibru.loul 11.™ С Пере/!) wh32

«LSUTOopi- Error: 0 ■ Lin tin*: O.J Min Q® H3 lUmeOS it.<fcru.locj< (O.OSex2CFtops/s) winJl

«,Ш1ПоВ. Error: 0. Luitin»; O.J Min СЭ®) J*1 ¡Urns«» it.<fcni.bcjl (О.ОИК1 CFlops/s) «"nJl

Ji.SKTFloB- Error: 0 Untin*-; O.J Min ГЗ ®

Деяс tin* J nodK о Т1"Г№ of nod*?.

Рис. 1. Пользовательский интерфейс системы Anthill

Рис. 2. Алгоритм работы системы

Рис. 3. Потери мощностей в случае распределения заданий на 5 (слева) и 60 компьютеров (справа). Тестирование проводилось на подзадачах, занимающих 3 с процессорного времени

Ускорение, раз

60

5 10 15 20 25 30 35 40 45 50 55 60 Количество процессоров

Рис. 4. Ускорение вычислений относительно количества задействованных узлов

Для развёртывания BOINC требуется 6+ ч, в зависимости от подготовки исследователя, а для Anthill в среднем всего 1 ч.

Также был рассмотрен пример работы Anthill в локальной сети до 60 компьютеров (рис. 4), при этом с повышением уровня конкуренции потери производительности составили максимум 4,7 %.

Приложения в механике твёрдого тела

В настоящее время описанная система используется для решения обратных задач механики твёрдого тела на кафедре ИТ ДГТУ [6]. Расчёт происходит на компьютерном кластере. Anthill выполняет один из этапов идентификации трещин в упругих элементах

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

Данная система используется также и для решения интегральных уравнений и визуализации полученных данных (рис. 5).

0,00

0,995 1,000 -1,005

1,010 1-1,015

0

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

Выводы

Проведённая разработка и тестирование показали, что система может быть легко применена для создания импровизированного дата-центра и обеспечения исследователей расчётами, при минимальных временных затратах на развёртывание и функционирование. Также планируется размещение системы в виде науч-

ного интернет-сервиса, что максимально повысит её доступность.

Авторы выражают сердечную благодарность за руководство над проведением исследования и разработки д-ру техн. наук, проф. Соболю Борису Владимировичу.

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 10-08-00839 а, 13-08-00070 а.

Литература

1. Seinstra Frank J., Maassen Jason, van Nieuwpoort Rob V., Drost Niels, van Kessel Timo, van Werkhoven, Ben, Urbani, Jacopo, Jacobs, Ceriel, Kielmann, Thilo, Henri E., Bal. Jungle Computing: Distributed Supercomputing Beyond Clusters, Grids, and Clouds. 2011. P. 167.

2. Boinc // URL: http://boinc.berkeley.edu (дата обращения 05.21.2012).

3. Smith R // Grid Computing: A Brief Technology Analysis (PDF). CTO Network Library. 2005. P. 7 - 16.

4. Buyya R., Bubendorfer K. Market Oriented Grid and Utility Computing. Wiley, 2009. P. 643.

5. Таненбаум Э., ван Стеен М. Распределенные системы. Принципы и парадигмы. СПб., 2003. 877 с.

6. Соболь Б.В., Соловьёв А.Н., Черпаков А.В. Идентификация трещиноподобных дефектов в упругих элементах конструкций на основе эволюционных алгоритмов // Дефектоскопия. 2011. № 6.

Поступила в редакцию 1 июля 2012 г.

Нгуен Занг Зуи Чыонг - аспирант, кафедра «Информационные технологии», Донской государственный технический университет. E-mail: giangvmu@gmail.com

Краснощёков Александр Александрович - аспирант, кафедра «Информационные технологии», Донской государственный технический университет. E-mail: akrasnoschekov@gmail.com

Nguyen Duy Truong Giang - post-graduate student, department «Information technology», Donskoy State Technical University. E-mail: giangvmu@gmail.com

Krasnoschekov Aleksander Aleksanderovich - post-graduate student, department «Information technology», Donskoy State Technical University. E-mail: akrasnoschekov@gmail.com

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