Вычислительные машины и программное обеспечение
УДК 681.3.06
П.А. Павлов
ЭФФЕКТИВНОСТЬ РАСПРЕДЁЛЕННЫХ ВЫЧИСЛЕНИЙ В МАСШТАБИРУЕМЫХ СИСТЕМАХ
Масштабируемость (scalability) является одним из важнейших требований к современным вычислительным системам, вычислительным комплексам, базам данных, маршрутизаторам и т. д. Она подразумевает способность системы увеличивать свою производительность при добавлении аппаратных и программных ресурсов. В настоящее время вопросы масштабирования находятся в поле зрения как разработчиков параллельных многопроцессорных систем (МС), так и распределённой среды метакомпьютинга [1]. В таких вычислительных системах использование общего программного ресурса затрудняется из-за автономности процессорных узлов и отсутствия единой политики администрирования. Общим свойством, обеспечивающим возможность повышения производительности масштабируемых вычислительных систем, является распределённость процессов вычислений и данных с использованием принципов структурирования и конвейеризации [2]. Всё это заставляет задуматься над новыми принципами организации вычислений и распределения ресурсов, созданием эффективного аппаратного и программного обеспечения, обеспечением однозначности результата выполнения программ, эффективном планировании и распределении вычислительных процессов [3]. В связи с этим особую актуальность приобретают задачи построения и исследования математических моделей распределённых вычислительных систем.
Математическая модель масштабируемой системы распределённых вычислений
Конструктивными элементами для построения математической модели систем распределенных вычислений являются понятия процесса и программного ресурса.
Процесс будем рассматривать как последовательность блоков (команд, процедур) Qr Q2 ...QS , для выполнения которых используется множество процессоров (процессорных узлов, обрабатывающих устройств, интеллектуальных клиентов). При этом процесс называется распределённым, если все блоки или часть из них обрабатываются разными процессорами. Для ускорения выполнения процессы могут обрабатываться параллельно, взаимодействуя путём обмена информацией. Такие процессы называются кооперативными или взаимодействующими процессами.
Понятие ресурса используется для обозначения любых объектов вычислительной системы, которые могут быть использованы процессами для своего выполнения. Реентерабельные (многократно используемые) ресурсы характеризуются возможностью одновременного использования несколькими вычислительными процессами. Для параллельных систем характерной является ситуация, когда одну и ту же последовательность блоков или её часть процессорам необходимо выполнять многократно, такую последовательность будем называть программным ресурсом (ПР), а множество соответствующих процессов - конкурирующими.
Математическая модель масштабируемой распределённой системы взаимодействующих процессов включает в себя р процессоров МС, п конкурирующих процессов, 5 блоков Q1, Q2,..., QS структурированного на блоки программного процесса, матрицу Т =[?..] времен выполнения j-х
р У
блоков /-ми конкурирующими процессами. Указанные параметры изменяются в пределах р > 2, п > 2, 5 > 2, 1 < / < п, 1 <у < 5. Будем считать, что все п процессов используют одну копию структурированного на блоки ПР, а на множестве блоков
установлен линеиныи порядок их выполнения. Учитывая то, что обменные операции в параллельных распределённых системах происходят, как правило, значительно медленнее арифметических, введем в рассмотрение параметр е > 0, характеризующий время (накладные расходы), затрачиваемые МС на организацию параллельного выполнения блоков программного ресурса множеством распределённых конкурирующих процессов.
Определение 1. Масштабируемая система (в дальнейшем "система") п распределённых взаи-модеиствующих конкурирующих процессов называется неоднородной, если времена выполнения блоков программного ресурса Q1, Q2,..., QS зависят от объёмов обрабатываемых данных и/или их структуры, т. е. разные для разных вычислительных процессов.
Определение 2. Система взаимодействующих конкурирующих процессов называется одинаково распределённой, если времена t выполнения блоков Qj , ] = 1,5, программного ресурса каждым из 1-х процессов вычислений совпадают и равны t. для всех ¡ = 1,п, т. е. справедлива цепочка равенств t ,= t .= ... = t = t для всех ¡ = 1,п.
11 12 15 I
Будем считать, что взаимодействие процессов вычислений, процессоров и блоков структурированного программного ресурса подчинено следующим условиям: 1) ни один из блоков программного ресурса не может обрабатываться одновременно более чем одним процессором; 2) ни один из процессоров не может обрабатывать одновременно более одного блока; 3) обработка каждого блока осуществляется без прерываний; 4) распределение блоков программного ресурса
по процессорам МС для каждого из процессов осуществляется циклически по правилу: блок с номером] = кр + /, ] = 1,5, / = 1,р, к > 0, распределяется на процессор с номером /.
Кроме того, введём дополнительные условия, которые определяют режимы взаимодействия процессов, процессоров и блоков ПР: 5) отсутствуют простои процессоров при условии готовности блоков, а также невыполнение блоков при наличии процессоров; 6) для каждого из п процессов момент завершения выполнения j-го блока на /-м процессоре совпадает с моментом начала выполнения следующего (/+1)-го блока на (¡+1)-м процессоре, / = 1,р - 1, j = 1,5 - 1; 7) для каждого из блоков структурированного ПР момент завершения его выполнения 1-м процессом совпадает с моментом начала его выполнения (1+7 )-м процессом на том же процессоре, I = 1,п - 1.
Условия 1-5 определяют асинхронный режим взаимодействия процессоров, процессов и блоков, который предполагает отсутствие простоев процессоров МС при условии готовности блоков, а также невыполнение блоков при наличии процессоров. На рис.1 представлен пример диаграммы Ганта, которая отображает выполнение п=4 неоднородных распределённых конкурирующих процессов, использующих структурированный на s=8 блоков ПР в МС с р=3 процессорами.
Если к условиям 1-4 добавить условие 6, то получим первый синхронный режим, обеспечивающий непрерывное выполнение блоков программного ресурса внутри каждого из вычислительных процессов. В условиях рассма-
4 1 3 2 4 3 3 1
12 3 1 | 13 11 | 1 2 1 5
3 2 14 ! 2 11 3 12 2 3 2
115 ■ 29 43
Рис. 1. Диаграмма Ганта - асинхронный режим
3
2
Tl{p,n,s,&)
Рис. 2. Диаграмма Ганта - первый синхронный режим
2 112
13 2 1
3 2 4 1
3 12 1
12 3 2
12 2 1
13 12
14
3 2 11
2 4 3 2
26
41
Тн (p,n,s,s )
Рис. 3. Диаграмма Ганта - второй синхронный режим
3
2
триваемого режима взаимодействие процессов, процессоров и блоков программного ресурса также удобно отображать с помощью аппарата линейных диаграмм Ганта (рис. 2).
Второй синхронный режим, определяемый условиями 1-4 и 7, обеспечивает непрерывное выполнение каждого блока всеми процессами. На рис. 3 рассмотрен случай для п=4,р=3, s=9.
Сравнительный анализ режимов организации распределённых взаимодействующих конкурирующих процессов
В [2, 4] исследованы базовые асинхронный и два синхронных режима, возникающих при организации процессов распределённых вычислений в условиях конкуренции за общий программный ресурс. Для вычисления наименьшего общего
времени выполнения множества конкурирующих неоднородных, однородных и одинаково распределённых процессов в рамках очерченных режимов получены различные математические соотношения. Определенный теоретический и практический интерес представляет задача сравнительного анализа полученных соотношений. Проведём такой анализ для класса одинаково распределённых масштабируемых систем процессов вычислений с учетом накладных расходов е > 0.
Пусть в = {(^ ¿Л... СС» I ТП £ , С = ^ + е > 0 —1
/ = 1,щ - множество всех допустимых характеристических наборов систем одинаково распределённых взаимодействующих конкурирующих процессов. Выделим в в подмножество характеристических наборов вида:
>1?+1>...>С 1 = и}.
Для введённого подмножества характеристических наборов справедлива следующая теорема.
Теорема 1. Пусть 8е Н(ГЕП) - характеристический набор любой одинаково распределённой масштабируемой вычислительной системы с параметрами р, п, s и накладными расходами е > 0. Тогда в случае неограниченного параллелизма (2 < s < р) минимальные общие времена Т™ и Т1 , Т2 выполнения множества одинаково рас-
ор' ор Г
пределенных конкурирующих процессов в асинхронном и двух базовых синхронных режимах совпадают.
Доказательство. Пусть г? = тах?.Е, тогда для
1<1<Л
асинхронного и второго синхронного режима, обеспечивающего непрерывное выполнение каждого блока Q. всеми п процессами для любого характеристического допустимого набора одинаково распределённой масштабируемой системы, в том числе и для любого характеристического набора 8е 11(7),"), при (2 < s < р), имеют место следующие равенства [2]:
Т"р (Р,П,5,е) = Т02Р(р,п,5,е) = Ге" + (*- 1)гге.
Пусть взаимодействие процессов, процессоров и блоков осуществляется в рамках первого синхронного режима с непрерывным выполнением блоков программного ресурса внутри каждого из вычислительных процессов. Тогда при этом режиме для любого характеристического набора из в в случае неограниченного параллелизма выполняется равенство:
( п \
V «=2 )
Покажем, что для любого характеристического набора 8е Н(ГЕ") выполняется равенство п
1=2
из которого непосредственно следует справедливость теоремы 1.
Так как г? = тах^, то для всех номеров 1 < ¡ < I < п выполняется равенство,
I
1=2
а равенство
п
Y^mж{tl1-tf,0} = tt-tгn 1=1+1
выполняется для 1 < ¡ < I < п .
Следовательно, справедлива цепочка равенств
п
1гп+X тах{Л-1 - А ,0}=*„Е + г] - 1гп = $,
1=2
из которой вытекает требуемое равенство. Теорема доказана.
Теорема 2. Для любой одинаково распределенной системы с параметрамир, п, s и накладными расходами е > 0, характеристический набор которой не принадлежит Н(Ге"), при 2 < s < р выполняются соотношения:
Т1ор {р, п, 5, £) > Т«; (р, п, е) = Т*р (р, п,з,г). (1)
Доказательство. Условия теоремы 2 равносильны неравенству.
п
+ Хтах^м - - тах?® > 0.
1=2
1<><п
Доказательство последнего проведем индукцией по числу процессов п, п > 2. При п = 2 множество всех допустимых характеристических наборов систем одинаково распределённых конкурирующих процессов Р = (?1е, будет принадлежать классу Н(ГЕ").
Пусть, далее, неравенство (1) выполняется
при п = у, т. е.
]
+ ~ _ тах?ге > 0,
г=2
1<1<7
покажем, что оно справедливо при п = у + 1. Действительно, при п = у + 1 имеем:
+ "г«Е'°}" тах =
и
1
= ^+1+Утах{?1Е_1-Г,е,0}+тах{Г®- Г®+1,0} - тах ^.
¡=2
Рассмотрим два случая:
1. тах £ . Имеем: 1<;< ]
+ Етах(гм - ЗД + тах {г- -1 *+1,0} - г;Е+1 =
¡=2 }
= - /(Е ,0} + тах{^ - г®+1,0} > 0.
¡=2
Здесь второе слагаемое равно нулю, так как > а первое слагаемое больше нуля, ибо в противном случае 8еН(Ге"), что противоречит условию теоремы 2.
2. Значение тах £ находится в промежутке 1 < i</. 1<1< 7+1
В этом случае имеем: ]
г,Е,0}+тах{г^ - ,0} - тах г* =
i=2
1<;<у+1
= t)+\~t)+t) + £тах(if-i—if ,0}- тах tf +
i=2
+ тах{г;Е-г;Е+1,0}.
Здесь ^ + Утах{г,е, -?,е,0}- тах £ >0
по индукционному предположению и в силу
того, что тах ^ =тах?,Е. Покажем далее, что 1<1< 7+1 1<1<7
Vе - ге + тах{?® - г^^} > 0. Действительно, для
= равенство нулю очевидно.
При ге > г* получаем ге+1 - ге + тах^ - ¿^,0} = 0,
а при ге < ге, имеем, что ге, - ге + тах{ге - ге ,,0} =
г ] 1+1 ' ./+1 ./ к ] ^ '
= ?®+1 - ге > 0, что и требовалось доказать.
Необходимые и достаточные условия эффективности масштабируемых систем
Выделим в классе одинаково распределённых систем взаимодействующих конкурирующих процессов стационарных систем.
Определение 3. Одинаково распределённую масштабируемую систему конкурирующих процессов назовем стационарной, если выполняется цепочка равенств ?1 = ?2 = ... = гп = г.
В теореме 1 доказано, что для систем одинаково распределённых взаимодействующих конкурирующих процессов минимальное общее время с учётом накладных расходов е > 0 для всех трех базовых режимов, в случае 5 < р совпадает и вычисляется по формуле
T(p,n,s,e) = TEn+(s-1)4^,
где ГЕ" =С. = maxtf, tf = tt +е, i = \,n.
¡=1
(2)
Нетрудно показать, что в случае стационарной одинаково распределённой масштабируемой систе-
мы конкурирующих процессов минимальное общее время их выполнения определяется равенством
Те — (ji + s — l)iE, где tE — Т" /п + £, Т" -nt.
Определение 4. Одинаково распределённую систему конкурирующих процессов будем называть эффективной при фиксированных p, 5 > 2, если выполняется соотношение Ае(") = sT"-- T(p,",s,е) > 0, где sTn - время выполнения блоков Q j = 1,s всеми " процессами в последовательном режиме.
При наличии двух эффективных одинаково распределённых масштабируемых систем взаимодействующих конкурирующих процессов будем считать, что первая более эффективна, чем вторая, если величина А6(") первой системы не меньше соответствующей величины второй. Для введённого подмножества одинаково распределённых систем справедливо следующее утверждение.
Теорема 3. Для любой эффективной одинаково распределённой системы конкурирующих процессов при s < p и е > 0 существует более эффективная стационарная одинаково распределённая система.
Доказательство. Рассмотрим любую эффективную одинаково распределённую систему. Согласно определению 3, условие её эффективности с учётом (2) записывается в виде следующего неравенства:
Де(п) = (s -1)(Г -t^)-(n + s- 1)Е>0, (3) где t^la=maKti. Для любой стационарной оди-
1<1<Л
наково распределённой системы имеет место равенство:
АЕ(и) = (5-1)(Г"-0-(« + л-1)е>0, (4)
где t = T" / ".
Рассмотрим стационарную одинаково распределённую систему, в которой t = min t{ = .
1<(<Л
Чтобы убедиться в справедливости теоремы 3 достаточно доказать выполнение неравенства Ае(") < Ае(") для введённых эффективных систем. Подставив в левую и правую части последнего неравенства из (2) и (3) вместо А(") и А (") соответствующие величины и проведя несложные преобразования, приходим к равносильному неравенству (n-Y)t<Tn -1^.
Докажем справедливость последнего. Пусть для определённости t'¡0¡0í = тогда проверка показывает, что справедлива цепочка соотношений
¿»^ (и-1)С =(»-!)'.
из которой следует справедливость требуемого равенства. Теорема 3 доказана.
Следующее утверждение устанавливает достаточное условие эффективности одинаково распределённой системы общего вида.
Теорема 4. Если параметры р, п, 5, е одинаково распределённой масштабируемой системы взаимодействующих конкурирующих процессов удовлетворяют соотношениям: 3<«<о, и = яи>2(и + 5-1), 0<е<тт*,,
1<1<И
то такая система является эффективной.
Доказательство. Согласно (3), условие эффективности равносильно неравенству:
е S-1
(5)
Следовательно, для доказательства теоремы 4 достаточно убедиться в справедливости (5). Непосредственная проверка показывает, что следствием соотношений 0 < е < min t, является це-
1<<<и
почка неравенств:
(6)
т. к. в силу выбора е выполняется неравенство Сп/е> 1. Далее, из 5п > 2(п + s - 1) следует справедливость неравенства:
п + д-1
и-1>
5-1
(7)
Проверка показывает, что неравенство (5) является следствием неравенств (6) и (7). Таким образом, теорема 4 доказана.
Ниже формулируется и доказывается необходимое и достаточное условие существования эффективной системы одинаково распределённых конкурирующих процессов при достаточном числе процессоров р > 3 в зависимости от величины накладных расходов е.
Теорема 5. Для существования эффективной одинаково распределённой масштабируемой системы конкурирующих взаимодействующих процессов с заданными параметрами р > 3, 5 < р,
е > 0 и Тп необходимо и достаточно выполнение следующих условий:
{ср(1 + л/л ), если — целое,
тах{ф(1 + [л/7]), ф(2 + [-Ул])}, если нецелое,
^ -1)Т"(х-1)
где ф(х) =-, [х] - наибольшее
х(х + 5-1)
целое, не превосходящее х.
Доказательство. Согласно (4), условие эффективности любой одинаково распределённой системы конкурирующих п процессов определяется соотношениями:
Ае(п) = (5 - 1)(Тп - г) - (п + - 1)е > 0,
которые равносильны выполнению неравенства
(9)
cC(s-l)Tn(n-l) п(п + s — 1)
Введемврассмотрениефункциюф(х)=(5- 1)Тп х х (х - 1)/х(х + s - 1). Нетрудно проверить, что ф достигает своего максимума в точке х = 1 + при х > 0. Положим
Пп =-
i 1 + Vs, если ■Ts - целое, max если 4s -нецелое.
(10)
Необходимость условий (8) будет доказана, если будет установлена невозможность противоположного утверждения, т. е. невозможность существования одинаково распределённой масштабируемой системы конкурирующих п процессов, для которой выполнялось бы неравенство противоположное неравенству (8) и которая была бы эффективной. Если предположить существование такой системы с п процессами, то должно выполняться соотношение п Ф п0 , т. к. выше установлено, что одинаково распределённая система с п0 процессами эффективна. Следовательно, для нее имеет место неравенство е < ^ - 1) Тп (п0- 1)/ п0(п0 + s - 1), в то время как для гипотетической системы с п процессами должно выполняться в силу предположения неравенство е > ^ - 1) Т" (п0- 1)/ п0(п0 + s - 1). Очевидным следствием полученных неравенств, является неравенство е > е. Полученное противоречие устанавливает необходимость условий (8).
Очевидно, такой системы нет при п = п0, т. к., в силу определения функции ф, для такого п выполняется неравенство противоположное неравенству (9) и, следовательно, такая система не может быть эффективной.
8=5
♦
X
X
<г
Q
Рис. 4. График функции y = ф(х)
В случае п < п в силу определения п должна выполняться цепочка неравенств вида
(*-\)Тп{п-\) с{з-\)Тп(п0-\) ^^ (П)
и(и + 5-1) И0(П0 + 5-1)
из которой следует неэффективность предполагаемой системы с п процессами в силу (9).
Наконец, если п > п0, то следствием неравенств (9) и (10) является неэффективность предполагаемой одинаково распределённой системы конкурирующих п процессов. Полученные противоречия во всех возможных случаях доказывают необходимость условий (8).
Достаточность условий (8) непосредственно следует из наличия функции ф со свойством (9). Действительно, в этом случае требуемой эффективной одинаково распределённой системой является система с п = п0 конкурирующими процессами, где п0 определяется формулой (10). Теорема 5 доказана.
На рис. 4 изображен график функции у = ф(х), х > 0, при фиксированных 5 = 50, Тп = 7, е = 5. Существование эффективной одинаково распределённой системы конкурирующих процессов определяется областью О, при этом
= 1 + [-х/^] = 8, х =1 + л/л, х2 = 2 + [Л/я] =9.
Полученные необходимые и достаточные условия эффективности одинаково распределённых масштабируемых систем конкурирующих взаимодействующих процессов имеют многочисленные области применения. В частности, они могут быть использованы при проектировании системного и прикладного программного обеспечения, ориентированного на масштабируемые многопроцессорные системы, вычислительные сети, а также при решении проблем оптимального использования вычислительных ресурсов.
СПИСОК ЛИТЕРАТУРЫ
1. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб. 2002. 608 с.
2. Коваленко Н.С., Самаль С.А. Вычислительные методы реализации интеллектуальных моделей сложных систем. Мн. 2004. 166 с.
3. Топорков В.В. Модели распределенных вычислений. М. 2004. 320 с.
4. Kapitonova Yu.V., Kovalenko N.S., Pavlov PA.
Optimality of systems of identically distributed competing processes // Cybernetics and Systems Analysis. New York: Springer. 2006. P. 793-799.