Title: Aloca
1Alocação Estática e Dinâmica de Processos a
Sistemas com Múltiplos Processadores
- Thiago P. Berto
- Crineu Tres
2Introdução
- A teoria de job-shop é comumente utilizada na
modelagem de sistemas de automação com problema
de alocação de máquinas a recursos. - Esse trabalho visa transportar um pouco dessa
teoria para a área computacional, utilizando
tarefas e processadores como atores do novo
cenário de alocação.
3Formulação Estática
- Conhecimento prévio necessário
- Alocação por programa
- Alocação offline
4Formulação Dinâmica
- Conhecimento prévio desnecessário
- Alocação por batelada
- Alocação online
5Variações do Problema
- Compartilhamento de memória
- Comunicação entre processos
- Execução condicional
- Objetivo
- Precedência entre processos
- Preemptividade
- Topologia do grafo de precedência
- Tempo de execução dos processadores
- Número de processadores
- Velocidade dos processadores
6Otimalidade
- Topologia arbitrária e 2 processadores
- Topologia de árvore e n processadores
- Topologia de intervalos ordenados e n
processadores
7Modelagem Formulação Estática
- Minimizar M
- Sujeito a
- F(j) lt M, j1,...,Nj
- S (k1,,Ns) Y(j,k) 1, j1,...,Nj
- S (k1,,Ns) G(j,k) F(j), j1,...,Nj
- S (k1,,Ns) R(j,k) S(j), j1,...,Nj
- R(j,k) lt TY(j,k), j1,...,Nj e k1,...,Ns
- G(j,k) R(j,k) P(j,k)Y(j,k), j1,...,Nj e
k1,...,Ns - F(i) lt S(j), i1,...,Nj e j1,...,Nj e
Z(i,j)1 - X(i,j,k) lt Y(i,k), i1,...,Nj e j1,...,Nj e
k1,...,Ns e i!j - X(i,j,k) X(j,i,k) lt 1, i1,...,Nj e
j1,...,Nj e k1,...,Ns e i!j - G(i,k) lt R(j,k) T(1 X (i,j,k)),
i1,...,Nj e j1,...,Nj e k1,...,Ns e i!j - Y(i,k) Y(j,k) lt X(i,j,k) X(j,i,k)
1, i1,...,Nj e j1,...,Nj e k1,...,Ns e i!j - F,S ? R1
- G,R ? R2
- Y ? B2
- X ? B3
8Modelagem Formulação Dinâmica
- Minimizar M
- Sujeito a
- F(j) lt M, jNi1,...,Nj
- S (k1,,Ns) Y(j,k) 1, jNi1,...,Nj
- S (k1,,Ns) G(j,k) F(j), jNi1,...,Nj
- S (k1,,Ns) R(j,k) S(j), jNi1,...,Nj
- F(j,k)H(j,k) j1,...,Ni e k1,...,Ns
- R(j,k)Q(j,k) j1,...,Ni e k1,...,Ns
- Y(j,k)W(j,k) j1,...,Ni e k1,...,Ns
- R(j,k) lt TY(j,k), j Ni1,...,Nj e
k1,...,Ns - G(j,k) R(j,k) P(j,k)Y(j,k), j Ni1,...,Nj
e k1,...,Ns - F(i) lt S(j), i Ni1,...,Nj e j Ni1,...,Nj
e Z(i,j)1 - X(i,j,k) lt Y(i,k), i1,...,Nj e j1,...,Nj e
k1,...,Ns e i!j - X(i,j,k) X(j,i,k) lt 1, i1,...,Nj e
j1,...,Nj e k1,...,Ns e i!j - G(i,k) lt R(j,k) T(1 X (i,j,k)),
i1,...,Nj e j1,...,Nj e k1,...,Ns e i!j - Y(i,k) Y(j,k) lt X(i,j,k) X(j,i,k)
1, i1,...,Nj e j1,...,Nj e k1,...,Ns e i!j - F,S ? R1
- G,R ? R2
- Y ? B2
9Exemplo 1 Formulação Estática
10Exemplo 2 Formulação Dinâmica
5
10
11Exemplo 3 Formulação Dinâmica
12Conclusões
Tempo de Execução (segundos) Tempo de Execução (segundos) Número de Processos Número de Processos Número de Processos Número de Processos Número de Processos
Tempo de Execução (segundos) Tempo de Execução (segundos) 6 8 10 12 14
Número de Processadores 2 0,25 2,06 71,59 1190 gt28800
Número de Processadores 3 0,24 14,00 1287 8841 gt28800
Tempo de Execução (segundos) Tempo de Execução (segundos) Número de Processos a Alocar Número de Processos a Alocar Número de Processos a Alocar Número de Processos a Alocar Número de Processos a Alocar Número de Processos a Alocar Número de Processos a Alocar Número de Processos a Alocar
Tempo de Execução (segundos) Tempo de Execução (segundos) 6 8 10 12 44 55 56 66
Número de Processos Alocados 0 - - - - 8,54 12,13 153,5 gt28800
Número de Processos Alocados 7 5,31 5,38 9,45 gt28800 - - - -