• Nenhum resultado encontrado

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.