Р. Г. Стронгина. Ниж- ний Новгород: Изд-во Нижегородского университета, 2002, 217 с



Pdf көрінісі
бет109/151
Дата26.01.2022
өлшемі1,64 Mb.
#24342
түріСеминар
1   ...   105   106   107   108   109   110   111   112   ...   151
2. Постановка задачи 
2.1. Модели и представления 
 
2.1.1. Модель программы 
Распараллеливаемая  программа  представляется  как  взвешенный 
направленный ациклический граф G(V, E, 
µ, ν), где V={T
1
, T
2
, …,T
n
} –
 исходное частично упорядоченное множество задач, E={e
ij
}=(T
i
,T
j
)} –
 набор  дуг,  описывающих  передачу  информации  между  задачами  и 
указывающих  на  информационные  зависимости  между  ними.  Вес  за-
дачи 
µ(T
i
) соответствует времени ее выполнения на процессоре с еди-
ничным  быстродействием,  а  вес  дуги 
ν(e
ij
}) – объему  передаваемой 
информации. 


152 
Если e
ij
=(T
i
, T
j
) принадлежит E, это означает, что T
j
 информацион-
но зависит от T
i
. Тем самым выполнение T
j
 может начаться только по-
сле того, как задача T
i
 будет завершена, и вся информация, соответст-
вующая данной дуге, будет передана с процессора, исполняющего за-
дачу T
i
, на процессор исполняющий T
j

Для  множества  предшественников  задачи  T
i
  введем  обозначение 
pred(T
i
). 
Во время выполнения каждая из задач исполняется одним процес-
сором  и  не  перемещается  на  другие  процессоры.  После  выполнения 
вычислений,  задача  может  пересылать  информацию  другим,  зависи-
мым  от  нее,  задачам.  Задача  не  может  дважды  передавать  информа-
цию,  производя  вычисления  в  промежутке  между  пересылками – в 
этом случае она должна быть разбита на две. 
 
2.1.2. Модель распределенной системы 
Распределенная  система M={P, 
η, C, θ} представлена как множе-
ство  процессоров P={P
1
, P
2
, …, P
m
},  имеющих  быстродействие 
η(P
i

вычислений в единицу времени, некоторые из которых соединены ка-
налами C={c
ij
=(P
i
, P
j
)} с быстродействием 
θ(c
l
) информации в единицу 
времени.  Каналы  образуют  межпроцессорную  коммуникационную 
сеть. Таким образом, может быть задана гетерогенная система. 
В зависимости от способа передачи информации между процесса-
ми,  аппаратного  обеспечения  передачи  информации,  типа  ОС  и  др. 
причин, выбирается функция send(P
 i
, P
 j
, v), которая равна количеству 
единиц  времени,  необходимых  для  передачи v единиц  информации  с 
процессора  P
i
  на  процессор  P
j
.  В  одном  из  простых  случаев, 
send(P
i
,P
j
,v)=v(c
i
,
p1
+c
p1,p2
+…+c
pk,j
), где P
i
, P
p1
, P
p2
, … ,P
 j
 есть некоторый 
(обычно, минимальный) путь из процессора P
i
 в процессор P
j
. Для кла-
стеров  рабочих  станций  в  простейшем  случае  можно  использовать 
такой вид функции send: send(P
 i
,P
 j
,v)= v*c
i
,
j
, что оправдано для реаль-
ных  систем  вследствие  наличия  большого  числа  практически случай-
ных факторов, влияющих в этом случае на производительность среды 
передачи данных. 
Однако  наиболее  важным  свойством  предлагаемого  в  данной  ра-
боте алгоритма является его независимость от способа представления 
данной  функции.  Если  точности,  задаваемой  таким  представлением 
функции send недостаточно, можно использовать любое другое пред-
ставление  функции,  в  общем  случае  зависящее  не  только  от  объема 


 
153 
пересылаемой информации, но и от нагрузки на сеть. Более того, вели-
чина send(P
  i
, P
  j
,v),  в  общем  случае,  может  зависеть  от  времени.  На-
пример,  имея  полную  информацию о поведении распределенной сис-
темы, способах маршрутизации данных, алгоритмах буферизации дан-
ных и разрешения коллизий, можно построить моделирующую функ-
цию send, наиболее  точно  определяющую  время  передачи  информа-
ции.  Следует  отметить,  что  функция send активно  используется  при 
вычислении  функции  качества,  поэтому  чрезмерное  ее  усложнение 
нежелательно, т.к. это резко отрицательно отразится на скорости рабо-
ты программы. 
 
2.1.3. Представление расписания 
Расписание  выполнения  задач  представляется  в  виде  списка 
S={s
i
=(T
i
, P
i

τ
i
)}, упорядоченного по 
τ
i
, где P
i
 – это процессор, испол-
няющий задачу T
i
, начиная с момента времени 
τ
i
 после старта распре-
деленной программы. Задача T
i
 может исполняться, только если все ее 
предшественники по направленному графу алгоритма завершили свое 
выполнение, и все данные, необходимые для ее выполнения, получены 
процессором P
i

Таким образом,  
 
∀T
i

∀T
j
 e
ij
=(T
i
, T
j

∈E => τ
i
 +
µ (T
i
)+send(P
i
, P
j
, v(e
ij
)) 
≤ τ
j

Если  данный  предикат  верен  для  некоторого  расписания S, гово-
рят, что S – допустимо. Алгоритм не должен выдавать в качестве сво-
его результата недопустимые расписания. 
Длина  расписания length(S)=max{
∀  s
i
∈ S}τ
j
  +
µ (T
i
)  есть  общее 
время  выполнения  распределенной  программы  на  данной  многопро-
цессорной  системе,  при  выполнении  в  порядке,  задаваемым  расписа-
нием S. 


Достарыңызбен бөлісу:
1   ...   105   106   107   108   109   110   111   112   ...   151




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет