Игровая модель управления заданиями в системе Desktop Grid

advertisement
Тезисы доклада
1. НАЗВАНИЕ ДОКЛАДА:
(на русском языке) – ИГРОВАЯ МОДЕЛЬ УПРАВЛЕНИЯ ЗАДАНИЯМИ В
СИСТЕМЕ DESKTOP GRID
(на английском языке) – GAME MODEL FOR TASK SCHEDULING IN A DESKTOP
GRID SYSTEM
2. АВТОРЫ:
(на русском языке) – Никитина Н. Н.
(на английском языке) – Nikitina N. N.
3. ОРГАНИЗАЦИЯ (полное наименование, без аббревиатур):
(на русском языке) – Федеральное государственное бюджетное учреждение науки
Институт прикладных математических исследований Карельского научного центра
Российской академии наук
(на английском языке) – Institute of Applied Mathematical Research of the Karelian
Research Centre of the Russian Academy of Sciences
4. ГОРОД:
(на русском языке) – Петрозаводск
(на английском языке) – Petrozavodsk
5. ТЕЛЕФОН: +7 (8142) 76-63-12
6. ФАКС: +7 (8142) 76-63-13
7. E-MAIL: nikitina@krc.karelia.ru
8. АННОТАЦИЯ:
(на русском языке) – В работе приводится описание системы Desktop Grid,
реализованной для проведения виртуального скрининга лекарств в рамках совместного
научно-исследовательского проекта между Институтом прикладных математических
исследований КарНЦ РАН и Любекским Институтом экспериментальной дерматологии
при университете г. Любек, Германия. Предлагается теоретико-игровая модель
процесса управления заданиями в Desktop Grid, позволяющая минимизировать общую
нагрузку на сервер. Использованные в ходе вычислительных экспериментов оценки
вида функций и значений параметров модели получены по результатам проведения
виртуального скрининга. Приводятся основные результаты вычислительных
экспериментов, иллюстрирующие эффективность модели.
(на английском языке) – In this work we describe a Desktop Grid system that was
implemented for performing virtual drug screening within joint research project between
Institute of Applied Mathematical Research of KarRC RAS and Lübeck Institute of
Experimental Dermatology at the University of Lübeck, Germany. We propose a gametheoretical model of task scheduling in Desktop Grid allowing to minimize the whole
server load. The estimates of functions and parameters values used in computational
experiments were obtained according to results of virtual screening. We provide the main
results of computational experiments that illustrate efficiency of the model.
9. КЛЮЧЕВЫЕ СЛОВА:
(на русском языке) – BOINC, Desktop Grid, распределенные вычисления,
добровольные вычисления, виртуальный скрининг лекарств
(на английском языке) – BOINC, Desktop Grid, distributed computing, volunteer
computing, virtual drug screening
10. ТЕКСТ ТЕЗИСОВ ДОКЛАДА:
Высокопроизводительные вычисления востребованы как инструмент для решения
задач, требующих проведения большого количества ресурсоемких вычислительных
экспериментов и обработки больших объемов данных. Для реализации
высокопроизводительных вычислений, как правило, используют суперкомпьютеры или
вычислительные кластеры. С целью увеличения производительности вычислительные
кластеры объединяют высокоскоростными каналами связи в специализированные гридсистемы [1,2]. С увеличением скорости и пропускной способности сети Интернет, а
также ростом количества и производительности персональных компьютеров
становится все более популярным другое направление высокопроизводительных
вычислений, связанное с организацией Desktop Grid — грид-сетей, объединяющих
неспециализированные вычислители.
В большинстве случаев Desktop Grid строятся на основе добровольно
предоставляемых вычислительных ресурсов компьютеров частных лиц и организаций,
объединенных сетью Интернет. Начиная с 90-х гг. XX века, целый ряд научноисследовательских
проектов
задействовали
добровольно
предоставляемые
вычислительные ресурсы. Созданные Desktop Grid позволили получить результаты в
относительно краткие сроки благодаря своей высокой суммарной мощности, которая в
каждом
случае
превышала
доступные
мощности
специализированных
суперкомпьютеров [3,4]. Помимо систем добровольных вычислений, все более
широкое практическое применение находят Desktop Grid, реализованные в масштабах
одной организации или группы организаций, объединенных образовательными и/или
научно-исследовательскими интересами [5].
Одной из наиболее популярных платформ организации распределенных
вычислений в Desktop Grid является BOINC (Berkeley Open Infrastructure for Network
Computing) [6] – активно развивающееся ПО с открытым исходным кодом,
предоставляющее богатую функциональность. Наиболее эффективно использование
Desktop Grid на базе BOINC при выполнении ресурсоемких приложений, которые
могут быть разделены на большое количество независимых подзадач, например, для
анализа и обработки независимых наборов данных.
Примером вычислительноемкой задачи, эффективно поддающейся выполнению
в Desktop Grid на основе платформы BOINC, является виртуальный скрининг
лекарств [7] – автоматизированный перебор большого количества моделей химических
соединений и выбор среди них потенциально способных влиять на течение
заболевания. Высокий общественный интерес к подобным задачам позволяет
задействовать для их решения значительные вычислительные мощности ([8-10 и др.]),
однако для проведения виртуального скрининга при исследовании редких или локально
распространенных заболеваний, а также на начальных этапах исследований
целесообразнее организовать систему Desktop Grid на основе вычислительных средств,
которыми
располагает
научно-исследовательский
коллектив:
персональных
компьютеров, веб-серверов, узлов вычислительного кластера и т.д.
В системе Desktop Grid имеется иерархия вычислительных узлов: сервер создает
рабочие задания, распределяет их между клиентами и обрабатывает полученные от
клиентов результаты. В процессе виртуального скрининга лекарств задания
выполняются на клиентах за относительно небольшое время — от нескольких секунд
до нескольких минут. Быстро выполняя задания, отсылая их результаты серверу и
запрашивая новые, клиенты генерируют интенсивный поток запросов к серверу. Для
снижения нагрузки на сервер в работе предлагается группировать вычислительные
задания в «пакеты». Интересы клиента и сервера не противоположны друг другу,
поэтому процесс управления заданиями в Desktop Grid может быть смоделирован в
виде двухуровневой иерархической игры m+1 игроков — m клиентов и одного сервера.
Выбор стратегий игроков заключается в определении оптимального размера пакета и
количества назначаемых заданий, и в равновесной ситуации достигается баланс между
объемом вычислений на клиентах и нагрузкой на сервер. Далее приводится
математическая модель процесса управления заданиями.
Сервер M0 имеет N вычислительных заданий и может задействовать для их
выполнения множество клиентов M1,…,Mm. Сервер выбирает способ распределения
заданий между клиентами u=(N1,…,Nm), где Ni — количество заданий, назначенное
клиенту Mi. Множество возможных способов распределения заданий u составляет
множество стратегий сервера.
Зная назначенное сервером Ni, клиент Mi выбирает размер пакета ni,
минимизирующий его расходы. Множество возможных размеров пакета ni для данного
Ni составляет множество стратегий i-го клиента.
Необходимо учесть, что узлы Desktop Grid являются ненадежными (pi ≤ 1 —
вероятность успешного выполнения одного задания за одну попытку), и если хотя бы
одно задание из пакета завершилось с ошибкой, то клиенту придется повторно
запрашивать пакет у сервера и запускать его на выполнение. Функция выигрыша для
клиента Mi выражает его расходы на вычисления:
Здесь
 Areq(n) ≥ 0 — стоимость запроса пакета заданий,
 Arep(n) ≥ 0 — стоимость отправки серверу результата пакета заданий,
 Aerr=aerr ≥ 0 — стоимость отправки серверу уведомления об ошибке;
 G1 — стоимость одного обращения к серверу, G2 — стоимость расчета задания;
 pin — вероятность успешного выполнения пакета размером n за одну попытку.
Оптимальный размер пакета ni* минимизирует расходы клиента, то есть
максимизирует его выигрыш:
Зная размеры пакетов, которые выберут клиенты, сервер стремится
минимизировать свои расходы. Функция выигрыша для сервера выражает его расходы
на подготовку пакетов, ожидание и обработку результатов:
где T(N1,...,Nm,n1,…,nm) — функция стоимости обработки сервером всех заданий, B(ni)
— стоимость создания одного пакета из ni заданий и обработки результата его
выполнения, S(ni,pi) — математическое ожидание количества обращений к серверу для
расчета пакета, F(N1,...,Nm,n1,...,nm) — функция штрафа за ожидание результатов.
Оптимальное распределение заданий u*=(N1*,...,Nm*) минимизирует расходы
сервера, то есть максимизирует его выигрыш:
Таким образом, имеется игра
С октября 2013 г. по июль 2014 г. был реализован совместный научноисследовательский проект между ИПМИ КарНЦ РАН и Любекским Институтом
экспериментальной дерматологии при университете г. Любек, Германия. В ходе
выполнения проекта была реализована система Desktop Grid на основе открытого ПО с
применением компьютеров, имеющихся в распоряжении сотрудников институтов, и
проведен виртуальный скрининг лекарств.
Приближения функций стоимости запросов к серверу были получены из
статистики обработки запросов к серверу при помощи полиномиальной и линейной
регрессии. Штраф за ожидание сервером результатов выражал длительность расчетов,
а общие расходы сервера — общее время выполнения проекта. Результаты
вычислительных экспериментов показали, что в равновесной ситуации при увеличении
общего времени выполнения проекта на 2% достигается снижение общей нагрузки на
сервер в 3,4 раза по сравнению с дисциплиной управления заданиями, принятой по
умолчанию. С учетом многопроцессорности вычислительных узлов, в равновесной
ситуации достигается не только снижение нагрузки на сервер в 3,5 раза, но и снижение
общего времени выполнения проекта в 2,1 раза. Таким образом, предложенная модель
позволяет решить поставленную задачу снижения нагрузки на сервер в системе Desktop
Grid, предназначенной для виртуального скрининга лекарств.
Работа выполнена при поддержке РФФИ (проект 13-07-00008).
СПИСОК ЛИТЕРАТУРЫ:
1. Foster I., Kesselman C. The Grid: Blueprint for a New Computing Infrastructure.
San Francisco: Morgan Kaufmann, 1999. 675 p.
2. Foster I., Kesselman C., Tuecke S. The Anatomy of the Grid: Enabling Scalable
Virtual Organizations // International J. Supercomputer Applications. 2001. Vol.
15 (3). P. 200–222.
3. Knispel B. et al. Pulsar discovery by global volunteer computing. Science. 2010
Sep 10. – V. 329, No. 5997. – P. 1305.
4. Breakthrough
in
the
fight
against
childhood
cancer.
URL:
http://www.worldcommunitygrid.org/about_us/viewNewsArticle.do?articleId=342
5. Е. Е. Ивашко. Desktop Grid корпоративного уровня // Программные системы:
теория и приложения. – 2014. – №1(19). – С. 183-190.
6. D. P. Anderson. BOINC: A System for Public-Resource Computing and Storage.
The Fifth IEEE/ACM International Workshop on Grid Computing (GRID’04),
IEEE CS Press, Nov. 2004. Pp. 4-10.
7. W. P. Walters, M. T. Stahl, M. A. Murcko. Virtual screening – an overview //
Drug Discovery Today. – 1998. – Vol.3, №4. – P. 160-178.
8. Discovering Dengue Drugs – Together. The University of Texas Medical Branch.
URL: http://www.utmb.edu/discoveringdenguedrugs-together
9. Docking@Home. URL: http://docking.cis.udel.edu
10. Rosetta@Home. URL: https://boinc.bakerlab.org
Download