18.03.2015 Views

XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010

XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010

XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

172 Anais<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

17<br />

18<br />

19<br />

20<br />

21<br />

22<br />

23<br />

24<br />

25<br />

26<br />

27<br />

28<br />

29<br />

30<br />

31<br />

32<br />

33<br />

34<br />

35<br />

36<br />

37<br />

38<br />

39<br />

40<br />

41<br />

42<br />

43<br />

Algorithm MP − AJRP (verInter, routeT able, <strong>de</strong>mList)<br />

INPUT:<br />

p > 0, SET j ∈ MSG i (p), origem i (SET j ) = (n i , n j );<br />

ACTION:<br />

forall message ∈ SET j do<br />

if (message.<strong>de</strong>stId ≠ myRank i ) then<br />

if (bufferUsage i < bufferSize i ) then<br />

enqueue(message, pol);<br />

bufferUsage i ← bufferUsage i + 1;<br />

end<br />

end<br />

end<br />

forall message ∈ <strong>de</strong>mandList i [j][y], j ∈ N, p = y, y ∈ Y do<br />

if (bufferUsage i < bufferSize i ) then<br />

enqueue(message, pol);<br />

bufferUsage i ← bufferUsage i + 1;<br />

end<br />

end<br />

forall active (i, j) in p, j ∈ Neig i do<br />

SET i [k] ← nulo, ∀ k < setSize;<br />

setSize ← 0;<br />

while ((message = <strong>de</strong>queue(j, pol)) ≠ nulo) AND<br />

(setSize ≤ vecInter i (j).capacida<strong>de</strong>) do<br />

bufferUsage i ← bufferUsage i − 1;<br />

setSize ← setSize + 1;<br />

SET i [setSize] ← message;<br />

end<br />

SEND SET i to n j ;<br />

percent ← (bufferUsage i /bufferSize i ) ∗ 100;<br />

SEND Control(percent) to n j ;<br />

end<br />

INPUT:<br />

p > 0, Control i (percent), origem i = n j ;<br />

ACTION:<br />

vecUsage i [j] ← percent;<br />

choice ← vecUsage i [0];<br />

forall k ∈ N do<br />

forall r ∈ R, y ∈ Y , y > p do<br />

if vecUsage i [j] < choice then<br />

choice ← vecUsage i [j];<br />

end<br />

end<br />

routeT able i [k].choice ← choice;<br />

end<br />

Algorithm 1: Algoritmo MP-AJRP<br />

armazenamento <strong>de</strong>sta estrutura <strong>de</strong> dados é <strong>de</strong> O(NRY ).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!