• Nenhum resultado encontrado

3 Trabalhos Relacionados

3.1 Mapeamento Estático

Existe uma grande variedade de trabalhos na literatura que abordam diferentes es- tratégias no tema de mapeamento estático de tarefas. As propostas vão desde abordagens exatas até a aplicação de heurísticas simples. No contexto das abordagens exatas, usa-se a formulação do problema através de programação linear (TOSUN; OZTURK; OZEN, 2009) (HUANG et al., 2011) ou aplicação de algoritmos exatos como o Branch-and-Bound (HU; MARCULESCU, 2003a) (HU; MARCULESCU, 2005). Nas abordagens não exatas, existem tra- balhos que aplicam heurísticas construtivas para encontrar soluções do problema, como é o caso dos algoritmos PMAP (KOZIRIS et al., 2000), UMARS (HANSSON; GOOSSENS; RˇaDULESCU, 2005), RMAP (PATOOGHY; TABKHI; MIREMADI, 2010), CastNet (TOSUN, 2011) e RASMAP (SEIDIPIRI et al., 2016).

Além dessas abordagens, existe também uma grande quantidade de trabalhos que usam algoritmos não exatos que são bioinspirados, como por exemplo os Algoritmos Genéticos (MOEIN-DARBARI; KHADEMZADEH; GHAROONI-FARD, 2009) (MOEIN-DARBARI;

KHADEMZADE; GHAROONI-FARD, 2009), Otimização em Nuvem de Partículas (LEI; XI- ANG, 2010), (FEKR et al., 2010), Otimização em Colônia de Formigas (WANG et al., 2011), e os algoritmos baseados em buscas locais, como por exemplo o Two-Phase (TP) (WANG; LIU; YU, 2016), o qual usa em sua estrutura a Breakout Local Search (BLS) (BENLIC; HAO, 2013). Os trabalhos de Sahu e Chattopadhyay (2013) e Singh et al. (2013) apresentam e categorizam vários dos trabalhos da literatura de mapeamento estático.

No que segue, apresentamos alguns trabalhos selecionados da literatura no contexto dos algoritmos bioinspirados, mais especificamente os evolucionários, que é o tema no qual as propostas apresentadas fazem parte. É importante destacar que todos os trabalhos des- critos a seguir adotam uma Rede em Chip (NoC) com topologia mesh 2D e consideram alocação monotarefa. Além disso, apenas o trabalho de Nedjah, Silva e Mourelle (2012) considera aspectos de processamento e comunicação no processo de otimização, e também um cenário onde os núcleos do Sistema em Chip Multiprocessado (MPSoC) são heterogê- neos. O restante dos trabalhos considera MPSoCs homogêneos e aspectos de comunicação no processo de otimização.

• O trabalho de Moein-Darbari, Khademzade e Gharooni-Fard (2009) propõe o al- goritmo Chaos Genetic-based (CGMAP). A proposta do algoritmo é substituir o caráter aleatório dos operadores genéticos por uma estratégia de sequenciamento caótico. Embora a estratégia use a função de minimização do produto entre fluxo de informação e distância, os autores argumentam que a proposta objetiva encon- trar soluções otimizadas para diversas métricas, como delay, consumo de energia, potência, etc. Resultados experimentais mostraram que a proposta consegue reduzir o consumo de energia e a latência de comunicação, principalmente nas regiões mais congestionadas da NoC.

• Uma estratégia para encontrar soluções para o problema de mapeamento e rotea- mento, considerando-os como um problema multiobjetivo, é proposta por (TORNERO et al., 2009). As funções objetivo que a proposta tenta otimizar são a minimização do atraso médio na entrega dos pacotes e a maximização da robustez dos roteamentos. A proposta do trabalho é usar um AG para gerar as soluções de alocação das tarefas e usar uma heurística para achar os roteamentos que, neste caso, é a Application Specific Routing Algorithms (ASPRA) proposta por (PALESI et al., 2009). A aplica- ção da proposta está tanto no ganho de desempenho, como em tolerância à falhas. Os resultados experimentais mostraram que a proposta se apresenta melhor do que outros algoritmos da literatura comparados tanto em termos de desempenho das

aplicações quanto em tolerância a falhas do sistema.

• No trabalho de Nedjah, Silva e Mourelle (2012) é proposta uma metodologia multiob- jetivo para auxiliar o projetista de MPSoCs na atribuição de blocos de Propriedade Intelectual (do inglês, Intellectual Property - IP) à arquitetura de comunicação. A metodologia se baseia no grafo da aplicação e nas restrições de projeto. Neste tra- balho, o problema de síntese de hardware e software é modelado como um grafo de aplicação. Primeiramente é resolvido um problema de agrupar as tarefas e alocá-las em blocos IP. Após isso, resolve-se o problema de mapeamento dos blocos IP nos roteadores da NoC. O objetivo da proposta é maximizar desempenho e minimizar dissipação de potência, satisfazendo as restrições de área e custo de fabricação. A proposta usa o NSGA-II (DEB et al., 2002) e o MicroGA (COELLO; PULIDO, 2001), os quais são baseados no algoritmo mono-objetivo AG. Resultados experimentais confirmam a superioridade da proposta quando comparados com outros algoritmos que não são baseados em preferência.

• Wu, Mu e Ge (2012) propõem um algoritmo híbrido que combina AG e o algoritmo MAX-MIN Ant System Algorithm (MMAS), chamado GA-MMAS. A hibridização proposta usa o AG para gerar soluções iniciais otimizadas que serão usadas como feromônio para a aplicação do MMAS. Usando uma função fitness unificada de con- sumo de energia e variância de carga nos canais, a proposta objetiva minimizar a dissipação de potência e latência nas comunicações. Os resultados experimentais mostraram que quando se otimiza apenas uma das duas métricas (consumo de ener- gia ou latência de comunicação), é possível obter ganhos chegando a 60% em ambos. • Zang e You (2012) propõem uma hibridização entre o AG e o SA. A hibridização usa uma função fitness baseada numa proposta de modelo matemático de comunicação da NoC, a qual faz uma estimativa do consumo de potência. Usando operadores de cruzamento e mutação com taxas (ou fatores de aplicação) adaptativos, a proposta objetiva encontrar soluções otimizadas com relação a dissipação de potência. Re- sultados experimentais comparados com outros AGs da literatura mostraram que a proposta consegue aumentar de 30% para 40% a convergência do algoritmo.

• Uma hibridização entre Membrane Computing (MC) e AG é proposta no trabalho de Qingqi et al. (2014), denotada por MCGA. Neste trabalho, o problema do ma- peamento é abordado como um problema multiobjetivo onde se deseja minimizar o consumo de energia e latência de comunicação, considerando a distribuição dos fluxos de informações nos links da NoC. Os resultados experimentais mostraram

que, quando comparado com um algoritmo genético, a proposta consegue obter me- lhores resultados de consumo de energia e latência, além de apresentar um melhor balanceamento do tráfego na NoC.

• Objetivando minimizar consumo de energia e latência de comunicação, no trabalho de Tosun et al. (2015) são propostas duas aplicações de abordagens meta-heurísticas para alocação de tarefas, sendo elas um AG e um SA. Ambas propostas usam uma função de adequação que busca minimizar o custo de comunicação na NoC. Os auto- res argumentam que o uso dessa equação melhora tanto a latência de comunicação quanto o consumo de energia, uma vez que o custo da transferência de bits nos canais da NoC é proporcional ao seu consumo em energia. O AG proposto usa ope- radores clássicos, como o cruzamento de um ponto (com reparação do cromossomo) e a troca de dois genes aleatórios do cromossomo como operador de mutação. Os resultados experimentais mostraram que apesar de demorar mais para convergir (de acordo com o critério de parada estabelecido), o AG apresenta melhores resultados na maioria dos casos.

• Um AM adaptativo, denominado de Adaptative Memetic Algorithm (AMA) é pro- posto no trabalho de Wang, Liu e Yu (2016). O objetivo da proposta é otimizar custo de comunicação e potência. O AMA integra métodos de otimização local e global, o que contribui para a eficiência e efetividade do algoritmo. Para melhorar a eficiência do algoritmo, no processo de otimização é feita uma análise da simetria da mesh. Além disso, é evitada a existência de soluções equivalentes na população. A estratégia de busca usada no algoritmo é a Breakout Local Search (BENLIC; HAO, 2013). Adicionalmente, mecanismos adaptativos de mutação e estratégias competi- tivas de atualização da população são consideradas para melhorar a efetividade da proposta. Resultados experimentais mostraram que a proposta se apresenta melhor do que outras abordagens da literatura. Além disso, o AMA é capaz de encontrar as soluções ótimas, ou muito próximas da ótima, para algumas instâncias avaliadas. • Objetivando a otimização de latência de comunicação e dissipação de potência, o trabalho de Wang et al. (2016) propõe o algoritmo Two-Phase (TP) para alocação de tarefas. A proposta é de um algoritmo de busca local que gera uma solução aleatória inicial, faz um melhoramento nessa soluções e aplica um procedimento de busca local que consiste em duas fases. A primeira fase objetiva explorar o potencial do espaço de busca. Já a segunda fase tenta explorar a convergência para ótimos locais através de uma estratégia de busca bastante similar a usada pela Breakout Local Search (BLS)

(BENLIC; HAO, 2013). Cada uma dessas fases é caracterizada por um conjunto de operadores de perturbação e um critério de aceitação específico. Na primeira fase os operadores de perturbação são mais guiados ao problema de mapeamento abordado e o critério de aceitação na descida da busca local neste caso é o do primeiro melhor vizinho encontrado. Na segunda fase os operadores são os mesmos usados na BLS e o critério de aceitação da descida da busca local é mais forte, pois considera o melhor vizinho encontrado. Resultados experimentais considerando os custos de comunicação mostraram que a proposta consegue encontrar a solução ótima em 10 das 28 instâncias avaliadas e apresentar melhores valores do que os algoritmos da literatura comparados no restante das instâncias.

• Objetivando otimizar a dissipação de potência, o trabalho de Liu et al. (2017) pro- põe o Hybrid Quantum Genetic Algorithm (HQGA) o qual é baseado tanto no AG quântico quanto no algoritmo AG comum. A ideia do algoritmo é usar uma estraté- gia de ajuste adaptativo do ângulo de rotação, o que influencia na rapidez de busca do algoritmo. Na hibridização são usados operadores quânticos de cruzamento e mu- tação. Além disso, é introduzido o operador de permutação catastrophe strategy, o qual permite o algoritmo explorar diferentes regiões de busca, evitando a estagnação em ótimos locais. Resultados experimentais mostraram que o HQGA consegue redu- zir a dissipação de potência quando comparado com um AG clássico e com métodos aleatórios de alocação de tarefas.

• No trabalho de Wang et al. (2018) é proposto o WOAGA, um algoritmo que hibri- diza características do Whale Optimization Algorithm (WOA) e do AG. Objetivando otimizar o consumo de energia, a proposta usa operadores de cruzamento e muta- ção irregulares, além de um mecanismo de perturbação com o objetivo de guiar a busca por regiões ainda não exploradas, evitando a estagnação em ótimos locais. Segundo os autores, a proposta é escalável, apresentando resultados estáveis mesmo quando aplicadas à NoCs muito grandes. Além disso, eles argumentam ainda que o WOAGA é de fácil implementação, uma vez que possui apenas um parâmetro de controle. Resultados experimentais mostraram que a proposta é bastante estável, mostrando ganhos significativos no consumo de energia quando comparados com ou- tros algoritmos da literatura, e esses ganhos são mais notáveis conforme o tamanho da NoC cresce.

3.1.1

Considerações

Na Tabela 3 são listados todos os trabalhos descritos nessa seção. Nesta tabela apre- sentamos os seguintes campos: Referência, o qual apresenta a referência do trabalho descrito; Algoritmo, onde é descrita a abordagem utilizada (quando tem um “+” é uma hibridização); as próximas colunas representam as diferentes métricas que cada uma das propostas tenta otimizar, sendo elas a Latência de Comunicação (LC), Consumo de Ener- gia (CE), Tempo de Execução (TE), Dissipação de Potência (DP), Tolerância à Falhas (TF) e Área (AR).

Tabela 3: Lista de trabalhos relacionados no contexto de mapeamento estático.

Referência Algoritmo LC CE TE DP FT AR (MOEIN-DARBARI; KHADEMZADE; GHAROONI-FARD, 2009) AG X X X

(TORNERO et al., 2009) AG e ASPRA X X

(NEDJAH; SILVA; MOU- RELLE, 2012)

NSGAII e MicroGA X X X

(WU; MU; GE, 2012) AG + MMAS X X

(ZANG; YOU, 2012) AG + SA X

(QINGQI et al., 2014) MC + AG X X

(TOSUN et al., 2015) AG e SA X X

(WANG; LIU; YU, 2016) AM X X

(WANG et al., 2016) Two-Phase X X

(LIU et al., 2017) QGA + AG X

(WANG et al., 2018) WOA + AG X

AG AG + roteamento exato X AM AM + roteamento exato X AT AT + roteamento exato X

Com base na análise dos trabalhos apresentados, nota-se que 9 dos 11 trabalhos sele- cionados fazem uso de AG, inclusive no contexto de otimização multiobjetivo, como é o caso da proposta de Nedjah, Silva e Mourelle (2012). Cinco destes trabalhos que usam AG são hibridizações com outros algoritmos meta-heurísticos. Contudo, nenhum deles consi- dera métodos exatos na hibridização. Isso também foi observado nos trabalhos de Sahu e Chattopadhyay (2013) e Singh et al. (2013), os quais agrupam várias diferentes abor- dagens de mapeamento de tarefas da literatura. Outro fato observado é na aplicação dos ATs. Também não foi encontrado nenhum trabalho neste tema que use esta abordagem. Isso nos leva a acreditar que a nossa proposta de AT é a primeira que trata do problema de alocação de tarefas.

Dentre os trabalhos selecionados, apenas a proposta de Tornero et al. (2009) considera a otimização conjunta de mapeamento e roteamento, usando um AG nessa otimização. Apesar disso, a nossa proposta de AG se distingue, pois se trata de uma hibridização, onde o modelo matemático de roteamento é usado no processo de otimização, o que influencia bastante nas configurações de mapeamento geradas. Já no trabalho de Tornero et al. (2009), o procedimento heurístico ASPRA não interfere na otimização feita pelo AG, pois os roteamentos são construído depois que o AG termina sua execução.

Após essa análise podemos dizer que nossas propostas avançam no estado da arte por serem hibridizações entre meta-heurísticas e um procedimento exato de roteamento. Além disso, a proposta do Algoritmo Transgenético (AT) é a que apresenta um maior avanço, uma vez que até mesmo a sua abordagem não hibridizada ainda não foi aplicada ao problema.

Para a comparação com as math-heurísticas propostas, foi escolhida a proposta de AG de Tosun et al. (2015), a busca local Two-Phase proposta por Wang et al. (2016) e a BLS proposta por Benlic e Hao (2013). O AG proposto por Tosun et al. (2015) foi escolhido devido a sua implementação ser mais clássica do que a das outras propostas listadas na Tabela 3. A busca Two-Phase (TP) proposta por Wang et al. (2016) foi escolhida devido a sua característica de usar operadores de perturbação específicos para o problema de alocação de tarefas abordado. Já a BLS proposta por Benlic e Hao (2013), apesar de ter sido projetada para o Problema Quadrático de Alocação (QAP), pode ser também aplicada ao mapeamento de tarefas. Além disso, a busca Two-Phase usa uma abordagem parecida ao BLS em sua segunda fase de otimização. A comparação entre esses algoritmos é apresentada na seção 5.3.