3 Trabalhos Relacionados
4.1 Modelagem do Problema
A formulação matemática proposta para o Problema do Mapeamento e Roteamento (PMR) é introduzida nesta seção. A lista de entrada do modelo é apresentada abaixo assim como uma breve descrição.
fsc Matriz de fluxos: Indica a quantidade de informação (em flits) transferida
na comunicação (s, c);
lij Matriz de adjacências: Matriz binária que representa as ligações entre os
núcleos (ou roteadores) da Rede em Chip (NoC). Quando o valor é 1, implica que há uma ligação direta (canal) e 0 caso contrário;
Cap Capacidade (largura de banda) geral de todos os canais; N Conjunto de núcleos;
T Conjunto de tarefas;
V (i) Conjunto de núcleos vizinhos a i ∈ N .
O modelo matemático proposto considera as seguintes variáveis de decisão. Xso Binária, sendo 1 se a tarefa s foi alocada para o núcleo o e 0 caso contrário;
Yijsc Binária, sendo 1 quando o canal (i, j) pertence a rota definida para a
comunicação (s, c).
Considerando os dados de entrada e as variáveis de decisão apresentadas, podem-se agora apresentar as equações do modelo proposto. A função objetivo é representada pela
equação 4.1. As restrições do modelo são representadas pelas equações de 4.2 à 4.7. Otimize: minX s∈T X c∈T X i∈N X j∈N fscYijsc (4.1) Sujeito a: X t∈T Xtn = 1, ∀n ∈ N (4.2) X n∈N Xtn = 1, ∀t ∈ T (4.3) X s∈T X c∈T
fscYijsc≤ Cap, ∀i, j ∈ N (4.4)
(lij − 1) ∗ Yijsc≥ 0, ∀i, j ∈ N, ∀s, c ∈ T (4.5) X v∈V (i),i6=o fscYivscXsoXcd− X v∈V (i),i6=d
fscYviscXsoXcd = 0, ∀i ∈ N, ∀s, c ∈ T, ∀o, d ∈ N (4.6)
X
v∈V (o)
fscYovscXso = fscXso, ∀s, c ∈ T, ∀o ∈ N (4.7)
O modelo proposto lida com os problemas de Mapeamento e Roteamento, objetivando encontrar para cada tarefa s ∈ T um núcleo o ∈ N para alocá-la. Essa definição de alocação é capturada pela variável de decisão Xso. Logo, Xso é igual a 1 se a tarefa s
é alocada para o núcleo o. Caso contrário Xso é igual a 0. Considerando o modelo na
perspectiva do roteamento, ele define um conjunto de canais por onde uma determinada comunicação entre duas tarefas s e c irá trafegar. A variável de decisão relacionada a essa definição é a Yijsc. Logo, Yijsc é igual a 1 quando o canal que conecta os núcleos i e j
pertencentes a N está no conjunto de canais usados para comunicar as tarefas s e c. Caso contrário, Yijsc é igual a 0.
4.1.1
Descrição do Modelo
• Função objetivo:
(4.1) Minimizar o custo das comunicações. A função objetivo calcula o custo total dos fluxos das comunicações na rede. Para cada comunicação entre um par de tarefas s e c pertencente a T , o custo da comunicação pode ser computado pelo somatório da quantidade de informação transferida de s a c (dado por fsc) para
Ou seja, objetiva-se minimizar o produto entre a quantidade de canais usados e a quantidade de informação transferida entre s e c. Essa equação garante que rotas geradas pelo modelo sejam mínimas e consequentemente acíclicas. • Restrições:
(4.2) Especifica que cada núcleo n ∈ N só pode alocar apenas uma tarefa t ∈ T . Essa equação garante o problema ser de alocação mono tarefa.
(4.3) Especifica que cada tarefa t ∈ T só pode ser alocada em apenas um núcleo n ∈ N . Essa equação também garante que o problema é de alocação mono tarefa.
(4.4) Especifica a largura de banda dos canais e garante a melhor distribuição das informações transferidas na rede evitando grandes congestionamentos. Essa equação especifica que para cada canal (i, j), onde i e j pertence a N , a quan- tidade de informação que pode ser transferida nele não pode exceder a sua capacidade Cap. Essa quantidade de informação transferida é obtida pelo so- matório dos valores de fsc para cada comunicação (s, c) entre duas tarefas s e
c pertencentes a T que usa o canal (i, j) (para o qual Yijsc = 1).
(4.5) Especifica que um canal só é considerado se for válido. Nesta restrição, quando lij = 0 a única valoração para Yijscé Yijsc = 0 para que a restrição seja satisfeita.
Por outro lado, se lij = 1, Yijsc pode assumir o valor 1 ou 0, ou seja, o canal
(i, j) pode ou não ser usado para a comunicação (s, c);
(4.6) Conservação dos fluxos nos canais. A quantidade de fluxo que sai de um canal deve ser a mesma que chega no canal adjacente, sem considerar a origem e o destino da comunicação. Essa equação pode ser denominada de equação de balanceamento e é usada em problemas de fluxo;
(4.7) A quantidade de fluxo de uma determinada comunicação (s, c) que sai da ori- gem deve ser igual ao seu total de fluxo fsc. Essa restrição força o início da
comunicação (s, c).
Observe que o QAP é um caso particular do PMR, tomando como base a modelagem proposta nesta seção, quando a largura de banda e as rotas das comunicações são descon- sideradas. Logo, essa formulação matemática dá uma definição NP -Difícil para o PMR. Note ainda que, de acordo com a equação 4.3 todas as tarefas devem ser alocadas, mesmo aquelas que apenas processam (não comunicam). Uma formulação mais geral seria subs- tituir o = for ≤ na equação 4.3, o que retira do modelo a obrigação de alocar as tarefas
que apenas processam. Foi decidido manter o =, uma vez que em cenários reais todas as tarefas devem ser mapeadas. Além disso, com algumas modificações, o modelo pode ser adaptado para avaliar o processamento das tarefas.
4.1.2
Linearização do Modelo
Com o objetivo de verificar o modelo proposto, um experimento computacional que considera a sua execução em um solver é apresentado na seção 5.2. A ferramenta de otimização escolhida é o Gurobi, o qual é capaz de resolver problemas não-lineares com grau até quadrático. A formulação proposta para o PMR é de grau cúbico, implicando na necessidade de linearização que possa ser usado no solver. Para isso é suficiente a adição de uma nova variável de decisão Zsocd, a qual substitui a multiplicação XsoXcdna restrição
(4.6). Além disso, as seguintes restrições foram adicionadas à formulação do problema: Xso+ Xcd− Zsocd ≤ 1, ∀o, d ∈ N, ∀s, c ∈ T (4.8)
Zsocd ≤ Xso, ∀o, d ∈ N, ∀s, c ∈ T (4.9)
Zsocd ≤ Xcd, ∀o, d ∈ N, ∀s, c ∈ T (4.10)
Zsocd ≥ 0, ∀o, d ∈ N, ∀s, c ∈ T (4.11)
Essas restrições garantem que o valor de Zsocd seja igual a 1 quando os valores de Xso
e Xcd sejam ambos iguais a 1. Ou seja, quando a multiplicação XsoXcd resultar em valor
igual a 1. Com essas adaptações o modelo se torna quadrático e pode ser resolvido pelo solver. O mesmo raciocínio pode ser aplicado para tornar lineares toda as restrições do modelo, fazendo com que ele possa ser aplicado a qualquer outro solver que não resolva problemas com formulação não-lineares.