120 likes | 237 Views
Alocação Estática e Dinâmica de Processos a Sistemas com Múltiplos Processadores. Thiago P. Berto Crineu Tres. Introduçã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.
E N D
Alocação Estática e Dinâmica de Processos a Sistemas com Múltiplos Processadores Thiago P. Berto Crineu Tres
Introduçã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.
Formulação Estática • Conhecimento prévio necessário • Alocação por programa • Alocação offline
Formulação Dinâmica • Conhecimento prévio desnecessário • Alocação por batelada • Alocação online
Variaçõ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
Otimalidade • Topologia arbitrária e 2 processadores • Topologia de árvore e n processadores • Topologia de intervalos ordenados e n processadores
Modelagem: Formulação Estática Minimizar M Sujeito a: F(j) <= M, j=1,...,Nj Σ (k=1,…,Ns) Y(j,k) = 1, j=1,...,Nj Σ (k=1,…,Ns) G(j,k) = F(j), j=1,...,Nj Σ (k=1,…,Ns) R(j,k) = S(j), j=1,...,Nj R(j,k) <= T*Y(j,k), j=1,...,Nj e k=1,...,Ns G(j,k) = R(j,k) + P(j,k)*Y(j,k), j=1,...,Nj e k=1,...,Ns F(i) <= S(j), i=1,...,Nj e j=1,...,Nj e Z(i,j)=1 X(i,j,k) <= Y(i,k), i=1,...,Nj e j=1,...,Nj e k=1,...,Ns e i!=j X(i,j,k) + X(j,i,k) <= 1, i=1,...,Nj e j=1,...,Nj e k=1,...,Ns e i!=j G(i,k) <= R(j,k) + T*(1 – X (i,j,k)), i=1,...,Nj e j=1,...,Nj e k=1,...,Ns e i!=j Y(i,k) + Y(j,k) <= X(i,j,k) + X(j,i,k) + 1, i=1,...,Nj e j=1,...,Nj e k=1,...,Ns e i!=j F,S R^1+ G,R R^2+ Y B^2 X B^3
Modelagem: Formulação Dinâmica Minimizar M Sujeito a: F(j) <= M, j=Ni+1,...,Nj Σ (k=1,…,Ns) Y(j,k) = 1, j=Ni+1,...,Nj Σ (k=1,…,Ns) G(j,k) = F(j), j=Ni+1,...,Nj Σ (k=1,…,Ns) R(j,k) = S(j), j=Ni+1,...,Nj F(j,k)=H(j,k) j=1,...,Ni e k=1,...,Ns R(j,k)=Q(j,k) j=1,...,Ni e k=1,...,Ns Y(j,k)=W(j,k) j=1,...,Ni e k=1,...,Ns R(j,k) <= T*Y(j,k), j= Ni+1,...,Nj e k=1,...,Ns G(j,k) = R(j,k) + P(j,k)*Y(j,k), j= Ni+1,...,Nj e k=1,...,Ns F(i) <= S(j), i= Ni+1,...,Nj e j= Ni+1,...,Nj e Z(i,j)=1 X(i,j,k) <= Y(i,k), i=1,...,Nj e j=1,...,Nj e k=1,...,Ns e i!=j X(i,j,k) + X(j,i,k) <= 1, i=1,...,Nj e j=1,...,Nj e k=1,...,Ns e i!=j G(i,k) <= R(j,k) + T*(1 – X (i,j,k)), i=1,...,Nj e j=1,...,Nj e k=1,...,Ns e i!=j Y(i,k) + Y(j,k) <= X(i,j,k) + X(j,i,k) + 1, i=1,...,Nj e j=1,...,Nj e k=1,...,Ns e i!=j F,S R^1+ G,R R^2+ Y B^2 X B^3
Processador Processos 1 1 2 6 8 11 2 1 4 5 3 3 7 9 10 12 Tempo 0 12 21 23 24 30 31 32 39 40 42 43 48 2 6 9 3 7 11 12 10 4 8 5 Exemplo 1: Formulação Estática
Processador Processos 1 7 9 2 5 4 2 1 8 3 11 6 Tempo 0 8 20 55 69 76 92 103 113 124 126 138 2 4 7 1 6 8 10 11 3 5 9 Exemplo 2: Formulação Dinâmica 5 10
Processador Processos 1 1 2 3 11 13 12 16 15 2 4 8 5 6 7 10 9 14 17 Tempo 0 2 13 23 34 36 48 59 67 79 86 126139 166 180 9 14 12 8 10 15 17 13 11 16 Exemplo 3: Formulação Dinâmica