Труды Карельского научного центра РАН № 4. 2014. С. 130-136
УДК 551.465.45
ОПТИМАЛЬНОЕ ДУБЛИРОВАНИЕ ЗАДАНИЙ В ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЕ
И. А. Чернов
Институт прикладных математических исследований Карельского научного центра РАН Петрозаводский государственный университет
Рассматривается модель вычислительной системы, решающей многочисленные задачи распознавания. Правильный ответ дается с некоторой известной вероятностью (надежность). Каждое задание решается на разных узлах до получения заданного количества идентичных ответов (кворум); такая избыточность позволяет снизить риск неверного ответа, но требует дополнительных вычислительных и временных затрат. Целевая функция есть сумма затрат и потерь в случае неверного ответа (штраф). Получены условия, при которых избыточность оправдывается и оценивается оптимальный кворум.
Ключевые слова: дублирование заданий, грид-системы, оптимизация вычислений, desktop grid.
I. A. Chernov. OPTIMAL REPLICATION OF TASKS IN A COMPUTING GRID
We consider a model of a grid computing system solving recognition problems. Computers produce the correct answer with some known probability. Each problem is solved up to a fixed number (quorum) of identical answers; this redundancy allows reducing the risk of producing the wrong answer but requires additional time. The cost function is the sum of the computational time and penalty in case of the wrong answer. We reveal the conditions when such redundancy is advantageous and show how the optimal quorum can be determined.
Key words: replication of tasks, grid computing, optimal calculations, desktop grid.
ходят задачи, требующие значительных вычислительных ресурсов за счет большого количества слабо связанных подзадач. Класс таких задач обширен: поиск целых чисел с заданными свойствами (простых, близнецов, совершенных и т. п.), вычисление чисел Рамсея, идентификация параметров математической модели перебором, анализ сигналов, приходящих из космоса, и пр. Подразумевается, что вычислительные ресурсы предоставляются добровольно. Проекты добровольных вы-
ВВЕДЕНИЕ
Высокопроизводительные вычисления широко применяются в науке и промышленности. Базой для них служат суперкомпьютеры (вычислительные кластеры) или грид-системы. Однако в последнее время все большее значение приобретают вычислительные системы из персональных компьютеров [1, 3], объединяющие разнородные вычислительные ресурсы, связанные коммуникационными сетями общего пользования. Для таких систем хорошо под-
(§)
числений [10] используют множество узлов, причем участники анонимны и о характеристиках их устройств известно мало или ничего не известно. Кроме того, вычислительные узлы работают над заданиями проекта в свободное время: следовательно, узел может в случайные моменты прерывать работу над задачей или вообще прекращать сотрудничество с проектом.
Важной проблемой является обеспечение достоверности результата. Поскольку в расчетах участвуют разнородные вычислительные ресурсы, не исключены аппаратные и программные сбои, искажения данных при передаче по сети общего пользования и так далее, вплоть до намеренного вредительства. Вероятность ошибки может быть снижена за счет дублирования (репликации) заданий [2, 4]: например, одно и то же число отправляется на проверку на простоту двум или более узлам. Кворумом назовем минимальное число идентичных ответов: так, если кворум равен трем, то задания рассылаются разным клиентам до тех пор, пока не будет получено три идентичных результата. Штраф за ошибки разных видов (неверный ответ ДА либо неверный ответ НЕТ) может быть различным, равно как и кворум. Примером может служить выявление упорядоченности космических сигналов: ошибочно признанный искусственным сигнал будет многократно тщательно проверен, так что ошибка относительно дешева, тогда как пропущенный искусственный сигнал может обойтись намного дороже. Другим примером служит идентификация математической модели перебором: ошибочное решение будет немедленно выявлено прямой проверкой, тогда как не обнаруженное решение, возможно, уже не будет найдено.
Большое число работ (например, [2, 4, 69]) посвящено методам эффективного и оптимального дублирования заданий, способам повысить надежность с помощью репликации и иных средств и возможности снизить избыточность при сохранении надежности, используя разнородность вычислительной сети. В настоящей статье рассматривается возможность повышения надежности с точки зрения минимизации риска потерь, связанных с неверным ответом. Если получено (с применением методик репликации и иных средств) неверное решение прикладной задачи, то при практическом использовании этого результата его ошибочность будет рано или поздно выявлена. При этом вполне вероятны значительные убытки или потери. Если известны оценки этих рисков, имеет смысл учитывать их при разработ-
ке стратегий распределения вычислительных заданий. Работы, рассматривающие проблему с этой точки зрения, нам неизвестны.
Назовем кворум оправданным, если значение стоимости меньше, чем при меньшем кворуме, и оптимальным, если значение стоимости минимально при данном кворуме. Штраф назовем оптимальным, если он доставляет минимальное значение функции стоимости при выбранном кворуме.
Представляет интерес определение соотношений между оптимальным кворумом, средней надежностью узла — вероятностью получить достоверный результат при однократном расчете — и затратами в результате ошибки. Затраты далее называем штрафом, но смысл не обязательно связан с санкциями: это может быть упущенная прибыль при неправильном решении задачи или потери, связанные с ошибкой.
Постановка задачи
Рассмотрим вычислительную систему, решающую однотипные задачи распознавания (с одним из двух возможных ответов). Предполагаем, что имеется оценка времени расчета одного задания, по истечении которого достоверно, что узел прекратил работу. В этом случае задание посылается другому узлу; в нашей модели предполагается, что сеть возвращает решение задачи на сервер, и изучаются вопросы, связанные с дублированием заданий. Вопросы быстродействия, оптимизации процедуры решения и стратегии дублирования не рассматриваются.
В силу ошибок, сбоев и вредительских действий вероятность достоверного ответа в одиночном расчете равна <?, 0,5 < д < 1. Вероятность ошибки обозначим р = 1 — д. Это оценка снизу надежности узлов; либо сеть достаточно однородна по своему составу, так что можно считать р одинаковой для всех узлов. С целью снизить вероятность получения ошибочного ответа задача решается на разных узлах до тех пор, пока не будет получено V положительных либо [I отрицательных ответов. В случае, если ответ оказался неверным, к стоимости расчетов добавляется некоторый штраф или который имеет смысл дополнительных затрат, упущенной выгоды, собственно штрафа и т. д. Считая затраты на одиночный расчет единичными, запишем целевую функцию как математическое ожидание случайной величины, значения которой суть сумма количества фактических расчетов и соответствующего штрафа в случае ошибки. Под
затратами на единичный расчет подразумеваем затраты на получение одного ответа.
Возникают следующие вопросы: каков оптимальный кворум (г/ и ц) при заданных штрафах и надежности? При каких штрафах данные кворумы оправданны? Каковы минимальные средние затраты при данных оптимальных штрафах и кворумах при заданной вероятности ошибочного ответа? Также важно понять влияние угрозы штрафа: ненадежные узлы (с надежностью меньше некоторой) требуют значительной угрозы для оправдания дублирования, что ставит вопрос о целесообразности их использования. Каков предел надежности в указанном смысле?
Случай равноценных ответов
Пусть Р+ = ,Р_ = Р, V = ц, то есть оба ответа в равной степени важны. Число расчетов до достижения кворума V, очевидно, может быть любым от V до 2г/— 1. При единичной стоимости расчета это значения целевой функции для случая верного ответа; при ложном ответе добавляется штраф Р. Стоимость, таким образом, есть следующая дискретная случайная величина, которую обозначим £(г/, Р):
Таблица 1. Стоимость, равноценные ответы
1/ + г V + i + Р
СЦ1ЛР”<£
В первой строке — значения случайной величины ^(]у,Р), г пробегает целые числа от О до V — 1; вторая строка содержит вероятности этих значений. Символ С™ = (^) обозначает число сочетаний. Первый столбец описывает случаи верного ответа, г — это число ошибочных расчетов, но последний расчет обязательно верен (в противном случае кворум достигается раньше); второй набор аналогично соответствует неверному ответу. Вычислим математическое ожидание = Е£(г/, Р) этой
случайной величины. Введем функцию
и-1
9»(х) = X С1+1-1х\ х е [0,1].
г=0
Тогда средние затраты суть ЕР{») = V + ру ди{я)Р + чУрд'у{р) + рУчд'У{ч)-
Функция ди(х) дифференцируема по х (это многочлен), ди(0) = 1, ди(х) и д'и{х) (производная по х) возрастают как по х, так и по и. В самом деле, сумма в определении функции
ди содержит V положительных слагаемых и пи _ с”-1 ■ и + % •> С!”-1 т*
°1/+гх — °г/+г-1 ц °г/+г-1х >
поэтому ди+\(х) > ди(х) при всех х > 0. Рассуждение для производной аналогично.
Для определения оптимального кворума нам следует сравнить Ер(у) и Ер(и + 1). Очевидно, Ер (у) возрастает по V, если V велико, не медленнее, чем линейно. Это естественно, поскольку расходы на проверку расчетов растут линейно, а вероятность ошибки, убывая, все же положительна. Поэтому либо Ер( 1) минимально (репликация не требуется), либо достигается минимум при целом V > 1. Определим условия, при которых увеличение кворума оправданно: для этого рассмотрим разность С(у) = Ер(г/)—Ер(и+\) = А(р)Р—В(р). Вычислим коэффициент А(р):
У г=0 г=0
= й/.
i=О ' '
Изучим функцию
£(р,”,з) = X С£н-1 (г-р-^) i=0 ' '
Ясно, что 3(р,и,к-1) = С£1_к<Г+
+‘е 1 - 2 с^_т^ =
i=0 г=1
= С£±х_к<Г + 8{р^к).
Поэтому
3=1
Покажем, что
V
ЕГУЬ/—1 _ ГУЬ/—1
°(й/-1)-* “ 2г/—1‘
3=1
Для этого нам потребуются две известные формулы (треугольник Паскаля):
Ст /~1гп—1 , /~1гп /~<т /~т—т
п ~ °п-1 +ип-15 ~
Теперь рассмотрим
I /’"¥1/—1 _ 1 . ^11/
и21/-1 и21/-2 и21/-2 и21/-2 и21/-2
С1/—1 .
21/—2 °21/-3 и2|/-3*
0
Продолжая, получим
Г^и—1 _ \ л ГУ1У—1
21/-1 - 2^,^(2и-1)-Г 3=1
На последнем шаге мы применили очевидное равенство С™ = С1~_\■
Теперь можно записать коэффициент А(р):
А(р)= РV ( £ С(21-1)ч - РС* ) =
и=1
2и
-Е'о(г/ + 1) - -ЕрМ С^ГІ^І - 2р)р-д-
(1)
Рис. 2 демонстрирует зависимость натурального логарифма оптимального штрафа Р от р при различных кворумах и.
= М ^2,-1 - -РС^-і) =
= рте7-і(1-2р).
Свободный член В(р) = Ео(і/+1) — Ео(і/) — это изменение средней стоимости при нулевом штрафе, среднее число дополнительных расчетов, необходимое для достижения большего кворума. Следовательно, В(р) > 0.
Легко видеть, что при р ^ 0,5 разница С (у) < 0 при всех V ^ 1, то есть репликация не оправданна. Однако для задач распознавания рассмотрение такой низкой надежности не имеет смысла: мы предполагали, что р < 0,5.
С другой стороны, при 0 < р < 0,5 и
Степень 1
Рис. 1. Кворум, уменьшающий вероятность ошибки в М = 2^ раз.
Отметим, что как при высокой (р ~ 0), так и при низкой (р ~ 0,5) надежности репликация менее оправданна: в первом случае риск мал, так что расходы на проверку ответа не окупаются, во втором — риск велик, так что отказ от проверки обходится дешевле расходов на таковую.
имеем С (у) > 0, то есть репликация снижает средние расходы за счет уменьшения вероятности ошибки и тем самым угрозы штрафа. Последовательность Ри экспоненциально возрастает тем быстрее, чем меньше р. Сформулируем доказанный результат. Пусть 1/^1.
Утверждение 1. Кворум и + 1 оправдан, если р < 0,5 и штраф Р превышает оптимальное значение Ри, заданное (1). Кворум и + 1 оптимален, если р < 0,5 и если штраф -Р € (Ри, -Р1/+1).
Величина Ри как функция р (заданная соотношением (1)) имеет минимум при некотором р*(у) е (0; 0,5); это значение можно трактовать как предел надежности: при меньшей надежности репликацию оправдывает только повышенный штраф.
Как уже отмечалось, любой кворум V оправдан при достаточно высоком штрафе Р; рис. 1 показывает кворум V, позволяющий уменьшить вероятность ошибки (по сравнению с таковой для одного узла р) в М раз как функцию от ф = log2 М при разных р.
<Й
■В
й
&
в
я
к
Рн
і
Вероятность ошибки р
Рис. 2. Логарифм оптимального штрафа в зависимости от надежности.
Случай ответов разной ценности
Теперь обобщим модель на случай ответов различной стоимости: пусть /1 = V + 7, 7^0. Случай отрицательного 7 получается формальным обменом ответов. Теперь ответ ДА принимается, если получено V ответов ДА
V + г, г = 0,1, V + г + .Р_, г = 0,1 И + З, ] = 0,..., V - 1 И + 3 + -Е+1 .7 = 0,..., V - 1
а-СД^в* а+С^_^
и менее чем [х ответов НЕТ; для ответа НЕТ — симметрично. Ошибка первого рода — если принят ответ ДА при верном ответе НЕТ, ошибка второго рода — симметрично. Пусть ответы имеют некоторые «априорные» вероятности с>!+ и а- = 1 — с>!+. Стоимость расчета выражает случайная величина £ в табл. 2.
Обозначим ее математическое ожидание Е£ через Ер_^р+ (и, 7) или 7). Рассмотрим по отдельности базовый кворум V (проверка обоих ответов) и дополнительную проверку 7 для одного из ответов. Вопрос о том, какой из ответов следует тщательнее проверять (стремиться избежать более вероятной ошибки и более дорогостоящей ошибки), также нетривиален.
Базовая проверка
Рассмотрим приращение средней стоимости С(г/,7) = Ер_1р+(г/,'у) - ЕР_^(у + 1,7). Тогда (7(1/,7) = А_Р_+А+Р+—В. Назовем базовый кворум оправданным, если Оу, 7) < 0.
Определим коэффициент А_ (аналогично коэффициенту А выше):
А-
а-р
(1-1
г=0 4 '
Введем функцию
£(р, 11,”,э)= X С»+1-1 • I1 - Р - 77 )
г=0 ' '
и преобразуем ее, как и выше:
Я(р,м,^ 0) = 1-
3=1
Легко видеть, что
_ У + _ " + Ущу
/X
А»
Поэтому А_ имеет вид
(1 - • (2)
Коэффициент А+ получается аналогично:
А+ = а+р^д1'^^ ^1 - р• (3)
Отметим, ЧТО В силу (X = V + 7 ^ V коэффициент А_ > 0, если р ^ 0,5. Однако А+ > 0 только в том случае, если
Р <
(4)
Этот порог важен: для надежных узлов повышение обоих видов штрафа делает репликацию более выгодной, тогда как для менее надежных узлов — не удовлетворяющих условию — штраф обесценивает репликацию.
Свободный член положителен:
В = -ЕЬ,о(гл7) - Е0у0{ь> + 1,7) > 0.
(5)
Отметим, что любой кворум V оправдан при подходящих Р-, Р+.
Если штрафы имеют смысл собственно штрафных санкций, то при отсутствии других ограничений в раде случаев имеет смысл «прощать» ошибки одного рода, обнуляя соответствующий штраф. В самом деле, для надежных узлов условие минимальных средних расходов при заданном кворуме определяется задачей линейного программирования
Ер_^+ пип, (6)
А_.Р_ + А+Р+ ^ В, ^ 0, ^ 0. (7)
Целевая функция и ограничение линейны с положительными коэффициентами: эта задача имеет решение при нулевом Р- или Р+ для любого В > 0.
Сформулируем результат.
Утверждение 2. Пусть выполнено (4); тогда базовый кворум и + 1 оправдан, если А+Р+ + > В, где величины А-, А+ и
В положительны и задаются формулами (2), (3) и (5) соответственно. Оптимальные значения штрафов определяются решением задачи (6)-(7); при этом Р-Р+ = 0.
Для менее надежных узлов оптимально положить Р+ = 0 и выбрать достаточно высокий Р-. В общем случае для выполнения условия С (г/, 7) > 0 (выгодность кворума и + 1) необходимо, чтобы
-А+
— >-----—
А_
а+ р(и + ц) — V а- ц— р(и + ц)
(8)
@
Легко проверить, что имеет место следующее неравенство:
р(г/ + /х) - г/ V
О < ----------^ < 1 ПрИ
Условие оправданности базового кворума при выбранном отношении Я = £_/£+ имеет следующий вид:
В
+ А+ ’
= др. .
а.
(9)
описывающее вероятность потерять верный ответ НЕТ, когда он получен V раз, а проверки продолжаются. Вычислим а+ аналогично А+:
а+ = а+р^д^СУ-1
21/+7—1 *
(10)
Для ненадежных узлов необходимо также обеспечить выполнение неравенства (8), поэтому штрафы должны быть достаточно велики, но при этом
р(и + ц) - V
р{^ + ц)
(13)
Утверждение 3. Пусть нарушено неравенство (4); тогда базовый кворум и + 1 оправдан, если -А+-Р+ + А-Р- > В, где величины А_ и В положительны и задаются формулами (2) и (5); а А+ < 0 и определяется (3). Оптимальные значения штрафов: £+ = 0 и = В/А-.
Дополнительная проверка
Теперь изучим вопрос о том, что может дать дополнительная проверка 7 одного из ответов. Рассмотрим разность
(?(7) = — + = а-Р- + а+Р+ — Ь.
Коэффициент а_ — это просто дополнительное слагаемое
Отметим, что он всегда положителен: дополнительные проверки ответа НЕТ не уменьшают вероятность получить верный ответ ДА. Свободный член положителен:
Ь = £0,0(1/, 7) - £'о,о(гл7 + !)• (Н)
Проверка оправданна, если 6^(7) > 0, что влечет необходимость выполнения неравенства а_£_ + а+£+ > 0, то есть
(12)
Это условие достаточно при достаточно высоких штрафах:
Утверждение 4. Пусть выполняется неравенство (4); тогда дополнительная проверка 7+1 оправданна, если а+Р+ + а-Р- > Ъ, где величины а+ и Ъ положительны и задаются формулами (10) и (11), а а- < 0 и определяется (9). Оптимальные значения штрафов: = 0 и .Р+ = Ь/а+.
Левая часть меньше правой при р < 0,5, так что это всегда возможно. Формально первое неравенство в (13) выполнено, если справедливо (4): левая часть меньше нуля. Получаем критерий оправданности кворума:
Утверждение 5. Кворум (1/ +1,7 + 1) оправдан, если выполнено (13) и а+Р+ + а-Р- > Ъ, А+Р+ + А-Р- > В. Оптимальные значения штрафов определяет задача линейного программирования:
<Э-Р- + ф+-Р+ + (3 —> шш, а.\-Р-\- + а~Р- ^ Ь,
А+Р+ + А-Р- ^ В.
Здесь коэффициенты (^-, (3+ — вероятности ошибок первого и второго рода, а
Я = -®ю,о(1/ + 1>7 + !)•
Существование неотрицательного решения следует из того факта, что существуют отношения £_/£+, удовлетворяющие (13); это эквивалентно существованию таких положительных £+, что левые части ограничений задачи положительны. Тогда можно выбрать (достаточно большие при заданном отношении) значения, удовлетворяющие ограничениям. Коэффициенты целевой функции положительны, то есть она возрастает по каждому аргументу. Таким образом, для положительной разрешимости задачи достаточно существование хотя бы одной допустимой точки с положительными координатами, что выполняется.
Динамику оптимальных штрафов и соответствующей средней стоимости показывает таблица 3 (во всех случаях = 0, средняя стоимость Е$ р+ отличается для разных си_ в пределах единицы, в таблице приведены ее значения для а- = 0,5). Пример показывает, что целесообразна одна дополнительная проверка априори более вероятного и менее ценного ответа (с целью уменьшить вероятность более дорогой ошибки).
Отметим, что на практике «ненадежность» в смысле нарушения неравенства (4) означает при небольших р значительную разницу 7
между количеством проверок для разных ответов и, следовательно, очень высокое значение штрафа £+, если такой кворум оправдан. Например, при вероятности ошибки р = 0,1 и кворуме V = 2 «ненадежность» означает /х ^ 19, что оправданно лишь при Р- ^ 2 • 104, ^ 4,9-1019. При меньших р значения штрафов еще выше.
Таблица 3. Динамика оптимальных штрафов при р = 0,1; а,- = 0,1; 0,5; 0,9
V 10a • F+ E0 ,F+
2 2 9, 1,8, 1 14,1
2 3 0,29, 0,05, 0,02 6,0
2 4 3,7, 0,58, 0,2 8,4
3 3 76,2, 15,2, 8,5 31,6
3 4 2,65, 0,46, 0,2 14,1
3 5 23,6, 3,9, 1,75 19,7
4 4 714,1, 142,8, 16,4 76,0
4 5 21,4, 3,9, 1,99 31,6
4 6 179,37, 32,7, 16,4 45,9
Заключение
В работе получены условия оптимальности кворумов при решении задач распознавания в вычислительной системе в зависимости от надежности узлов системы и штрафов — дополнительных потерь в случае получения неверного ответа.
Работа поддержана грантом РФФИ Ж- а-13-07-00008 и Программой стратегического развития ПетрГУ. Расчеты производились с использованием Perl Data Language [5].
Литература
1. Ивашко Е. Е., Никитина Н. Н. Использование BOINC-грид в вычислительноемких науч-
СВЕДЕНИЯ ОБ АВТОРЕ:
Чернов Илья Александрович
старший научный сотрудник, к. ф.-м. н.
Институт прикладных математических исследований
Карельского научного центра РАН
ул. Пушкинская, 11, Петрозаводск
Республика Карелия, Россия, 185910
доцент
Петрозаводский государственный университет пр. Ленина, 33, Петрозаводск,
Республика Карелия, Россия, 185910 эл. почта: chernov@krc.karelia.ru тел.: (8142) 766312
ных исследованиях // Вестник НГУ. Серия: Информационные технологии. 2013. Т. 11. Вып. 1. С. 53-57.
2. Ben-Yehuda О. A., Schuster A., Sharov А., Silberstein М., Iosup A. ExPERT: Pareto-Efficient Task Replication on Grids and a Cloud // Parallel & Distributed Processing Symposium (IPDPS). 2012. P. 167-178.
3. Foster I., Kesselman C., Tuecke S. The Anatomy of the Grid: Enabling Scalable Virtual Organizations // International J. Supercomputer Applications. 2001. Vol. 15, N. 3. P. 200-222.
4. Ghare G. D., Leutenegger S. T. Improving Speedup and Response Times by Replicating Parallel Programs on a SNOW // Job Scheduling Strategies for Parallel Processing. Lecture Notes in Computer Science. 2005. Vol. 3277. P. 264-287.
5. Glazebrook K., Economou F. PDL: The Perl Data Language // Dr. Dobb’s Journal. Vol. 22. N. 9. 1997. http://www.ddj.com/184410442 (дата обраг щения: 19.08.2013).
6. Jimenez-Peris R., Patino-Martinez М., Alonso G., Kemme B. Are quorums an alternative for data replication? // ACM Transactions on Database Systems (TODS) TODS Homepage archive. 2003. Vol. 28. Issue 3. P. 257-294.
7. Kondo D., Chien A., Casanova H. Scheduling task parallel applications for rapid turnaround on enterprise desktop grids // J. Grid Computing. 2007. Vol. 5. P. 379-405.
8. Sangho Y., Kondo D., Bongjae K. Using replication and checkpointing for reliable task management in computational Grids // International Conference on High Performance Computing and Simulation. 2010. P. 125-131.
9. Storm C., Theel O. A general approach to analyzing quorum-based heterogeneous dynamic data replication schemes // Distributed Computing and Networking. Lecture Notes in Computer Science. 2009. Vol. 5408. P. 349-361.
10. boinc.ru (дата обращения: 21.10.2013).
Chernov, Ilya
Institute of Applied Mathematical Research,
Karelian Research Centre, Russian Academy of Sciences 11 Pushkinskaya St., 185910 Petrozavodsk,
Karelia, Russia
Petrozavodsk State University
33 Lenina St., 185910 Petrozavodsk, Karelia, Russia
e-mail: chernov@krc.karelia.ru
tel.: (8142) 766312