mapeamento estÁtico de tarefas de aplicaÇÕes de tempo real ...siaibib01.univali.br/pdf/jaison...

111
JAISON VALMOR BRUCH MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL EM SISTEMAS BASEADOS EM REDE-EM-CHIP Itajaí (SC), fevereiro de 2015

Upload: others

Post on 30-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

JAISON VALMOR BRUCH

MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE

TEMPO REAL EM SISTEMAS BASEADOS EM REDE-EM-CHIP

Itajaí (SC), fevereiro de 2015

Page 2: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

UNIVERSIDADE DO VALE DO ITAJAÍ

CURSO DE MESTRADO ACADÊMICO EM

COMPUTAÇÃO APLICADA

MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE

TEMPO REAL EM SISTEMAS BASEADOS EM REDE-EM-CHIP

por

Jaison Valmor Bruch

Dissertação apresentada como requisito parcial à

obtenção do grau de Mestre em Computação

Aplicada.

Orientador: Cesar Albenes Zeferino, Dr.

Itajaí (SC), fevereiro de 2015

Page 3: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE

TEMPO REAL EM SISTEMAS BASEADOS EM REDE-EM-CHIP

JAISON VALMOR BRUCH

Fevereiro/ 2015

Orientador: Cesar Albenes Zeferino, Dr.

Área de Concentração: Computação Aplicada

Linha de Pesquisa: Sistemas Embarcados e Distribuídos

Palavras-chave: Rede-em-Chip, Tempo Real, Mapeamento de Tarefas.

Número de páginas: 111

RESUMO

A possibilidade de integrar bilhões de transistores em uma única pastilha de silício tem

permitido o desenvolvimento dos Sistemas-em-Chip. As limitações das arquiteturas de

comunicação convencionais baseadas em barramentos as tornam inadequadas para o emprego em

tais sistemas. As Redes-em-Chip se enquadram nesse contexto como uma alternativa para prover

escalabilidade e reusabilidade na comunicação. Essas redes devem oferecer suporte a aplicações

com diversos requisitos de desempenho e restrições de custo, tal como as aplicações de tempo real,

as quais requerem a execução das operações processadas em um período estrito de tempo. A

violação desses prazos pode prejudicar gravemente o funcionamento das aplicações ou até levar ao

colapso total. As Redes-em-Chip não oferecem garantias na comunicação, uma vez que as

realizações típicas dessas redes são muito suscetíveis a contenções e perda de prazos por causa do

compartilhamento de recursos. Uma maneira de prover qualidade de serviço na comunicação

baseada Redes-em-Chip do tipo melhor esforço é pela adoção de canais lógicos na forma de buffers,

os quais permitem o compartilhamento do canal físico. Com isso, na ocorrência de contenções, o

canal de comunicação pode ser utilizado por fluxos de dados destinados a regiões livres de

congestionamentos. Esses canais recebem fluxos selecionados em função de sua prioridade, sendo

que, para cada nível de prioridade há um canal lógico disponível na estrutura de comunicação.

Porém, esse esquema de provimento de qualidade de serviço pode ser muito custoso devido às

estruturas redundantes necessárias e contribui fortemente para um maior consumo de energia e área

de silício, sendo importante que sua utilização seja otimizada. Nesse sentido, o presente trabalho

investigou o provimento de qualidade de serviço em Redes-em-Chip com suporte a canais virtuais.

Para tanto, foi desenvolvida uma estrutura de experimentação composta de uma rede de tamanho

4×4 em que seus roteadores possuem até oito canais virtuais. Nessa rede, são mapeadas tarefas de

aplicações com restrições quanto ao prazo de entrega de seus fluxos de comunicação com emprego

de uma heurística baseada no algoritmo genético NSGA-II. Os resultados apresentados demonstram

a efetividade da heurística em identificar soluções de compromisso entre cumprimento de prazos,

consumo de energia e número de canais virtuais no cenário investigado.

Page 4: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

STATIC TASK MAPPING OF REAL-TIME APPLICATIONS ON

NETWORK-ON-CHIP BASED SYSTEMS

Jaison Valmor Bruch

February/ 2015

Advisor: Cesar Albenes Zeferino, Ph.D.

Area of Concentration: Applied Computer Science

Research Line: Embedded and Distributed Systems

Keywords: Networks-on-Chip, Real-Time, Task Mapping.

Number of pages: 111

ABSTRACT

The ability to integrate billions of transistors on a single chip has led to the development of

the System-on-Chip (SoC). The limitations on conventional bus-based communication architectures

make them unsuitable for use in such systems. The Network-on-Chip (NoC) fit this context, as an

alternative for providing scalability and reusability in communication. These networks must support

applications with different performance requirements and cost constraints, such as real-time

applications, which require the execution of transactions processed in a strict time period. Failure to

adhere to these deadlines can seriously impair the operation of the applications, or even lead to total

collapse. NoC do not offer communication guarantees, since the typical achievements of these

networks are highly susceptible to contentions and missed deadlines, due to resource sharing. One

way to provide service quality of service in best-effort NoC communication is the adoption of

logical channels as buffers, which allow the physical channel to be shared. Thus, in contention

scenarios, the communication channel may be used by data flows to congestion-free regions. These

channels receive the selected flows, based on their priority, and for each priority level there is a

logical channel available in the communication structure. However, this system of providing quality

of service can be very costly, due to the redundant structures needed, and greatly increases energy

consumption and silicon area. Therefore, it is important optimize their use. This study investigates

the quality of service provision in NoC with support for virtual channels. An experimentation

structure composed of a 4 × 4 network was developed, in which the routers had up to eight virtual

channels. In this system, application tasks with deadline restrictions are mapped using a heuristic,

based on the genetic algorithm NSGA-II. The results demonstrate the effectiveness of the heuristic

to identify tradeoffs between deadlines, energy consumption, and number of virtual channels in the

investigated scenario.

Page 5: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

LISTA DE ILUSTRAÇÕES

Figura 1. Rede direta de topologia malha 2-D ................................................................................... 20 Figura 2. Estrutura de uma mensagem ............................................................................................... 22 Figura 3. Circuito CMOS: (a) porta inversora; chaveamento para os níveis (b) baixo; e (c) alto ..... 30 Figura 4. Benefícios da análise e otimização do consumo de energia em alto nível de abstração .... 32 Figura 5. Mapeamento de duas aplicações em uma NoC malha 2-D de tamanho 3×3 ..................... 37 Figura 6. Escalonamento de tarefas ................................................................................................... 37 Figura 7. Soluções ótimas locais ........................................................................................................ 44 Figura 8. Fluxo de funcionamento de um algoritmo genético ........................................................... 47 Figura 9. Procedimento do algoritmo NSGA-II................................................................................. 48 Figura 10. Rede SoCIN de tamanho 4×4 com topologia malha 2-D ................................................. 66 Figura 11. SoCIN: (a) formato do pacote; (b) enlace; e (c) canal individual .................................... 67 Figura 12. ParIS: (a) esquemático; (b) arquitetura interna; (c) CPM para o roteamento XY ............ 68 Figura 13. Módulos do ParIS: (a) entrada; e (b) saída ....................................................................... 68 Figura 14. Formato de pacote da SoCIN-Q ....................................................................................... 70 Figura 15. Módulos replicados na SoCIN-Q: (a) entrada; e (b) saída ............................................... 71 Figura 16. Sistema baseado no roteador ParIS .................................................................................. 72 Figura 17. Enlace com sinalização de canal virtual ........................................................................... 73 Figura 18. Fluxo de avaliação de desempenho .................................................................................. 74 Figura 19. Módulo de entrada com oito canais virtuais ..................................................................... 75 Figura 20. Módulo de saída com oito canais virtuais ........................................................................ 76 Figura 21. Preempção de um canal virtual ......................................................................................... 77 Figura 22. Cromossomo para representação do mapeamento e da atribuição de prioridades ........... 81 Figura 23. Endereçamento da plataforma (a) e mapeamento de oito tarefas em (b) ......................... 82 Figura 24. Informações de descrição de tráfego ................................................................................ 83 Figura 25. Fluxo básico da heurística de mapeamento ...................................................................... 83 Figura 26. Exemplo de cromossomo indicando um mapeamento inválido ....................................... 84 Figura 27. Fluxo de avaliação dos mapeamentos .............................................................................. 85 Figura 28. Ordem de invocação das ferramentas de avaliação .......................................................... 86 Figura 29. Aplicação randômica composta de 16 tarefas .................................................................. 93 Figura 30. Avaliação do cumprimento de prazos frente à quantidade de canais virtuais .................. 94 Figura 31. Avaliação da redução na distância entre as tarefas e da concorrência nos enlaces .......... 95 Figura 32. Avaliação do cumprimento de prazos frente à quantidade de canais virtuais .................. 95 Figura 33. Cumprimento de prazos e consumo de energia estática normalizados ............................ 96

Quadro 1. Classificação dos algoritmos de roteamento ..................................................................... 23 Quadro 2. Principais características apresentadas em Carvalho et al. (2009) .................................... 51 Quadro 3. Principais características apresentadas em Tosun (2011) ................................................. 52 Quadro 4. Principais características apresentadas em Huang et al. (2011a) ...................................... 54 Quadro 5. Principais características apresentadas em Antunes et al. (2012) ..................................... 55 Quadro 6. Principais características apresentadas em Sayuti e Indrusiak (2013) .............................. 56 Quadro 7. Principais características apresentadas em Pham et al. (2013) ......................................... 57 Quadro 8. Principais características apresentadas em Bolchini et al. (2013) .................................... 59 Quadro 9. Principais características apresentadas em Quan e Pimentel (2013) ................................ 60 Quadro 10. Análise das técnicas de mapeamento .............................................................................. 61 Quadro 11. Análise das plataformas .................................................................................................. 62

Page 6: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

Quadro 12. Análise dos ambientes de experimentação...................................................................... 63 Quadro 13. Comparação da técnica de mapeamento proposta .......................................................... 88 Quadro 14. Comparação da plataforma proposta ............................................................................... 89 Quadro 15. Comparativo do ambiente de experimentação proposto ................................................. 90

Page 7: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

LISTA DE TABELAS

Tabela 1. Dissipação de potência dinâmica no roteador ParIS .......................................................... 77 Tabela 2. Dissipação de potência estática no roteador ParIS ............................................................. 78 Tabela 3. Potência estática para diferentes configurações do ParIS .................................................. 78 Tabela 4. Área de silício ocupada ...................................................................................................... 79 Tabela 5. Configuração dos fluxos de comunicação .......................................................................... 93 Tabela 6. Parâmetros adotados no algoritmo genético ...................................................................... 93

Page 8: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

LISTA DE ABREVIATURAS E SIGLAS

ABS Anti-lock Breaking System

APCG Application Characterization Graph

ASIC Application Specific Integrated Circuit

BN Best Neighbor

CMOS Complementary Metal Oxide Semiconductor

CPM Crosspoint Matrix

CTG Communication Task Graph

CWM Communication Weighted Model

DAG Direct Acyclic Graph

DFS Dynamic Frequency Scaling

DSP Digital Signal Processor

DVS Dynamic Voltage Scaling

EP Elemento de Processamento

FC Fabric Controller

FFBP First-fit Bin Packing

FIFO First-In First-Out

GALS Globally Asynchronous Locally Synchronous

HLP Higher Level Protocol

IC Input Controller

IFC Input Flow Controller

ILP Integer Linear Programming

IP Intellectual Property

IRS Input Read Switch

KanGAL Kanpur Genetic Algorithms Laboratory

KPN Kahn Process Network

MJPEG Motion Joint Photographic Experts Group

MPEG Moving Picture Experts Group

MPSoC Multiprocessor System-on-Chip

MP3 MPEG Audio Layer-3

NMOS N-type Metal Oxide Semiconductor

NoC Network-on-Chip

NSGA-II Non-dominated Sorting Genetic Algorithm II

OC Output Controller

ODA Observe Decide Act

ODS Output Data Switch

OFC Output Flow Controller

OMB Optimal Mapping Database

ORB Output Rate Balancing

OWS Output Write Switch

ParIS Parameterizable Interconnection Switch

PL Path Load

PMOS P-type Metal Oxide Semiconductor

QoS Quality-of-Service

RASoC Router Architecture for System-on-Chip

RBPR Recursive BiPartition and Refining

Page 9: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

RIB Routing Information Bit

RT Real-Time

RTL Register Transfer Level

RTPC Run-time Platform Controller

SA Simulated Annealing

SDFG Synchronous Data-Flow Graph

SDF3 Synchronous Data-Flow For Free

SoC System-on-Chip

SoCIN System-on-Chip Interconnection Network

STM Scenario-based Task Mapping

TCG Task Communication Graph

TG Traffic Generator

TGFF Task Graph For Free

TLM Transaction Level Modeling

TM Traffic Meter

TS Tabu Search

VHDL VHSIC Hardware Description Language

VHSIC Very High Speed Integrated Circuits

Page 10: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

SUMÁRIO

1 INTRODUÇÃO .................................................................................... 11

1.1 PROBLEMA DE PESQUISA........................................................................... 13

1.1.1 Solução Proposta ............................................................................................. 14

1.1.2 Delimitação de Escopo .................................................................................... 14

1.2 OBJETIVOS ...................................................................................................... 14

1.2.1 Objetivo Geral ................................................................................................. 15

1.2.2 Objetivos Específicos ...................................................................................... 15

1.3 METODOLOGIA .............................................................................................. 15

1.3.1 Metodologia da Pesquisa ................................................................................ 15

1.3.2 Procedimentos Metodológicos ........................................................................ 15

1.4 ESTRUTURA DA DISSERTAÇÃO ................................................................ 16

2 FUNDAMENTAÇÃO TEÓRICA ...................................................... 17

2.1 ARQUITETURAS DE COMUNICAÇÃO PARA SOCS .............................. 17

2.2 REDES-EM-CHIP ............................................................................................. 19

2.2.1 Arquitetura de Redes-em-Chip ..................................................................... 19

2.2.2 Mecanismos de comunicação ......................................................................... 21

2.3 CONSUMO DE ENERGIA .............................................................................. 28

2.3.1 Fontes de consumo de energia ....................................................................... 28

2.3.2 Técnicas para redução do consumo de energia ............................................ 31

2.3.3 Economia de energia em NoCs ...................................................................... 32

2.4 SISTEMAS DE TEMPO REAL ....................................................................... 33

2.4.1 Comunicação RT em NoCs com chaveamento wormhole ........................... 34

2.5 MAPEAMENTO DE TAREFAS ..................................................................... 35

2.5.1 Escalonamento de tarefas ............................................................................... 37

2.5.2 Classificação das técnicas de mapeamento ................................................... 38

2.5.3 Modelos relevantes para mapeamento de tarefas ........................................ 40

2.5.4 Técnicas para o mapeamento de tarefas em NoCs ...................................... 43

2.6 CONSIDERAÇÕES .......................................................................................... 49

3 TRABALHOS RELACIONADOS .................................................... 50

3.1 COMPARATIVO ENTRE TÉCNICAS ESTÁTICAS E DINÂMICAS ..... 50

3.2 HEURÍSTICA PARA O MAPEAMENTO E ROTEAMENTO................... 51

3.3 MAPEAMENTO BASEADO EM PROGRAMAÇÃO LINEAR ................. 52

3.4 EXPLORAÇÃO DO PARTICIONAMENTO DE TAREFAS ..................... 54

3.5 MAPEAMENTO PARA SISTEMAS DE TEMPO REAL ........................... 55

3.6 MAPEAMENTO HÍBRIDO EM PLATAFORMAS HETEROGÊNEAS .. 56

3.7 MAPEAMENTO PARA OTIMIZAÇÃO DA CONFIABILIDADE ........... 58

3.8 MAPEAMENTO EM MPSOCS BASEADOS EM BARRAMENTO .......... 59

3.9 ANÁLISE COMPARATIVA............................................................................ 61

Page 11: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

3.10 CONSIDERAÇÕES .......................................................................................... 63

4 MAPEAMENTO DE TAREFAS NA REDE SOCIN ...................... 65

4.1 ESTRUTURA BASE ......................................................................................... 65

4.1.1 Rede SoCIN ...................................................................................................... 65

4.1.2 A rede SoCIN-Q .............................................................................................. 69

4.1.3 O Simulador da SoCIN ................................................................................... 71

4.2 ADEQUAÇÕES REALIZADAS ...................................................................... 73

4.3 MAPEAMENTO DE TAREFAS ..................................................................... 79

4.3.1 Comparação com trabalhos relacionados ..................................................... 88

4.3.2 Plataforma proposta ....................................................................................... 89

4.3.3 Ambiente de experimentação ......................................................................... 90

5 RESULTADOS .................................................................................... 91

5.1 IMPLEMENTAÇÕES ...................................................................................... 91

5.2 EXPERIMENTO ............................................................................................... 91

5.3 DISCUSSÃO ...................................................................................................... 96

6 CONCLUSÕES .................................................................................... 98

6.1 CONTRIBUIÇÕES DA DISSERTAÇÃO ...................................................... 99

6.2 TRABALHOS FUTUROS ................................................................................ 99

REFERÊNCIAS ..................................................................................... 100

APÊNDICE A – REVISÃO SISTEMÁTICA ..................................... 108

Page 12: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

11

1 INTRODUÇÃO

O avanço na tecnologia de fabricação de semicondutores tem permitido a integração de

bilhões de transistores em uma única pastilha de silício. Como exemplos notórios, podem ser

citados o processador Itanium1, o qual é composto por mais de dois bilhões transistores, e ainda o

console Xbox One2que possui em seu sistema cinco bilhões de transistores (SELL; O’CONNOR,

2014; STACKHOUSE et al., 2008).

Tamanha densidade de integração tem possibilitado o desenvolvimento dos SoCs (Systems-

on-Chip). Um SoC é um circuito integrado que implementa a maioria ou todas as funcionalidades

de um sistema eletrônico completo. Seus componentes variam conforme a aplicação, podendo

conter memórias, processadores, hardware dedicado, estrutura de comunicação, além de outras

funções digitais (JERRAYA; WOLF, 2005, p. 2).

Devido ao aumento na quantidade de componentes nos SoCs, o projeto da arquitetura de

comunicação passa a desempenhar um papel fundamental, influenciando fortemente na definição da

área de silício ocupada, no desempenho e no consumo de energia do sistema como um todo

(MARCULESCU et al., 2009).

A arquitetura de comunicação adotada em SoCs compostos de elevada quantidade de

componentes deve atender a uma série de requisitos, tal como a escalabilidade para lidar com a

crescente demanda por desempenho. Também é necessário o suporte à qualidade de serviço ou QoS

(Quality-of-Service), uma vez que sistemas heterogêneos vão requerer múltiplos modos de operação

com variados requisitos de tempo de resposta. As Redes-em-Chip ou NoCs (Networks-on-Chip)

correspondem apropriadamente às demandas desse tipo complexo de sistema (PASRICHA; DUTT,

2008, p. 440).

Uma NoC é uma arquitetura de comunicação semelhante àquela usada em computadores

paralelos. Ela se baseia em ligações ponto-a-ponto chaveadas por meio de roteadores e apresenta

boas características quanto ao paralelismo, consumo de energia, frequência de operação,

escalabilidade e reusabilidade (ZEFERINO, 2003, p. 67).

1 Itanium é marca registrada pertencente à Intel Corporation.

2 Xbox One é marca registrada pertencente à Microsoft Corporation.

Page 13: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

12

No contexto dos SoCs, as NoCs desempenham o papel de plataforma de integração,

permitindo que múltiplas aplicações realizem o processamento de dados e a troca de informações

em paralelo. Como tal, elas devem oferecer diferentes níveis de serviços para diversas aplicações

que podem coexistir na mesma rede. Inclusive aqueles em que há um limite de tempo para serem

realizados, ou seja, serviços de tempo real ou RT (Real-Time) (SHI, 2009 p. 18).

Dentre as categorias de sistemas de tempo real, há aquela em que a resposta deve

obrigatoriamente ocorrer em um intervalo estrito de tempo, o qual é denominado prazo (do inglês

deadline). Esses são conhecidos como sistemas RT críticos. O não cumprimento de prazos em

aplicações desse tipo pode causar efeitos catastróficos (BURNS; WELLINGS, 2009 p. 3). Como

exemplos de tais sistemas podem ser citados os mecanismos de controle de aeronaves, os sistemas

de proteção antimíssil, os sistemas de controle de freios ABS (Anti-lock Breaking System), entre

outros.

Para prover comunicação RT em SoCs, os serviços oferecidos devem apresentar

comportamento previsível. Essa é uma condição essencial na garantia das restrições de tempo.

Porém, em NoCs, é comum a ocorrência de contenções devido à competição por recursos

compartilhados, tal como canais de comunicação e espaço em memória. Isso acarreta atrasos na

entrega de pacotes e possivelmente a perda de prazos. A promoção de comunicação RT em NoCs

pode ser realizada com o uso de mecanismos de arbitragem baseados em prioridades e controle de

fluxo com suporte a canais virtuais. Nessa abordagem, a quantidade de canais virtuais é

proporcional ao número de prioridades e cada fluxo de comunicação possui um determinado nível

de prioridade que indica o canal virtual a ser utilizado (SHI; BURNS; INDRUSIAK, 2012).

Outra questão relevante no desenvolvimento de sistemas baseados em NoCs é o consumo de

energia, uma vez que parte substancial da potência total dissipada nesses sistemas decorre dos

mecanismos de interconexão. Diversas técnicas podem ser adotadas visando a economia de energia

em NoCs, sendo elas aplicadas desde o nível de microarquitetura até o nível de sistema. O

mapeamento de tarefas, por exemplo, pode ser realizado de modo a minimizar a quantidade de

roteadores e canais entre os elementos comunicantes. Uma vez que a energia total consumida

durante a transferência de dados é proporcional à distância entre os nodos fonte e destino, a

comunicação entre elementos próximos requer menor quantidade de energia (LEE;

BAGHERZADEH, 2009, p. 260).

Page 14: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

13

A adoção de canais virtuais para provimento de qualidade de serviço incorre em custo

adicional em área de silício e consumo de energia, devido aos mecanismos necessários à sua

implementação. Por isso, é importante encontrar uma configuração que respeite os requisitos de

comunicação e minimize a quantidade de recursos empregados para este fim. Encontrar soluções

que satisfaçam essas restrições é muito difícil, sendo que métodos heurísticos são empregados para

buscar soluções quase ótimas (SINGH et al. 2013).

As heurísticas baseadas na emulação dos mecanismos de seleção natural estão entre as mais

populares no tratamento de problemas que envolvem a otimização de duas ou mais métricas, as

quais geralmente são conflitantes entre si. Para esse tipo de problema, composto por múltiplos

objetivos, não há apenas uma solução viável, pelo contrário, existe um conjunto de soluções que

apresentam um bom compromisso entre as métricas otimizadas. Tais soluções também são

conhecidas como fronteiras de Pareto (COELLO, 2006).

1.1 PROBLEMA DE PESQUISA

Conforme já discutido, uma técnica para atender a requisitos de tempo de entrega de fluxos

de dados RT críticos em uma NoC, consiste em atribuir níveis de prioridades diferentes para os

fluxos de modo que a rede privilegie os fluxos de maior prioridade. A diferenciação dos fluxos é

então feita por meio da implementação de canais virtuais dedicados para cada nível de prioridade.

Esses canais virtuais compreendem a canais lógicos que compartilham um canal físico, quando dois

ou mais canais virtuais concorrem pelo canal físico, um mecanismo de escalonamento assegura que

os canais virtuais de maior prioridade utilizem o canal físico primeiro.

Ocorre que cada canal virtual é composto de elementos de memorização conhecidos como

buffers FIFO e, conforme já reportado em Chen e Pinkston (2012), tais buffers são responsáveis

pela maior parte do consumo de energia de uma NoC. Portanto, a adoção de canais virtuais tem

forte impacto no consumo de energia.

Nesse contexto, o presente trabalho investiga como realizar o posicionamento de tarefas de

aplicações com requisitos de tempo real em SoCs baseados em NoCs. De modo que sejam

encontradas boas soluções compromisso ou tradeoffs entre o cumprimento de prazos, consumo de

energia e a quantidade de canais virtuais implementados.

Page 15: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

14

Dessa forma, o trabalho se propôs a responder a seguinte pergunta de pesquisa:

Qual é o melhor tradeoff entre garantia de prazos, consumo de energia e quantidade

de canais virtuais?

1.1.1 Solução Proposta

A solução proposta para o problema apresentado anteriormente consistiu no emprego de

uma heurística de mapeamento de tarefas multiobjetivo baseada no algoritmo genético NSGA-II

(Non-dominated Sorting Genetic Algorithm II). Essa heurística foi adotada na identificação de

mapeamentos que apresentem um bom compromisso entre a garantia de prazos, consumo de energia

e a quantidade de canais virtuais utilizados pela arquitetura de comunicação.

Como hipóteses, são apresentadas as seguintes afirmações:

Uma vez que o objetivo principal é o cumprimento de prazos, a redução no consumo

de energia será mínima; e

Se a garantia de atendimento de prazos for relaxada a economia de energia será

maior.

1.1.2 Delimitação de Escopo

Neste trabalho, foi adotado o mapeamento estático de tarefas em que todas as aplicações são

conhecidas em tempo de projeto. Ou seja, não foi considerado o mapeamento dinâmico feito em

tempo de execução. Além disso, foram considerados somente sistemas homogêneos, otimizando-se

apenas o comportamento de comunicação na rede. Ou seja, não foram tratadas questões

relacionadas ao processamento das tarefas. Além disso, foram adotados elementos de

processamento monotarefa, com a emulação de núcleos capazes de processar apenas uma tarefa de

cada vez.

1.2 OBJETIVOS

Page 16: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

15

1.2.1 Objetivo Geral

Explorar o mapeamento de tarefas em SoCs baseados em NoCs visando garantir o

cumprimento de prazos e a redução do consumo de energia e da quantidade de canais virtuais.

1.2.2 Objetivos Específicos

1. Identificar como o mapeamento de tarefas pode ser aplicado de modo a promover a

economia de energia em NoCs; e

2. Aplicar e avaliar uma heurística de mapeamento de tarefas que seja capaz de identificar

tradeoffs entre o consumo de energia, a quantidade de canais virtuais e o cumprimento

de prazos dos fluxos de comunicação.

1.3 METODOLOGIA

1.3.1 Metodologia da Pesquisa

Este trabalho adota o método hipotético-dedutivo, pois buscou a solução de um problema

com base na formulação de hipóteses. Esta pesquisa também se caracteriza como aplicada, uma vez

que a confirmação ou a refutação das hipóteses propostas é feita com base nas investigações

realizadas. Quanto à abordagem, a pesquisa enquadra-se como quantitativa, pois foram aferidas

métricas geradas pelo ferramental de experimentação. Por fim, este trabalho classifica-se como

qualitativo devido à necessidade de interpretação dos resultados gerados.

1.3.2 Procedimentos Metodológicos

O processo de pesquisa adotado neste trabalho focou primeiramente em uma revisão

bibliográfica das publicações mais recentes sobre o mapeamento de tarefas em NoCs com vistas a

redução no consumo de energia. A fundamentação teórica por sua vez está baseada em pesquisas na

literatura consolidada a respeito dos assuntos tratados. Foram adotados como referência artigos

publicados em veículos reconhecidos pela comunidade científica, livros, teses de doutorado e

dissertações de mestrado. Além disso, foram consultados pesquisadores atuantes na área do tema

investigado. Os experimentos realizados basearam-se em modelos de roteador descritos em VHDL

(VHSIC Hardware Description Language) e SystemC. As ferramentas de avaliação de desempenho

Page 17: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

16

e a heurística de otimização foram implementadas em linguagem C. Foram empregadas ainda

ferramentas de simulação e síntese para tecnologias de circuitos integrados do tipo CMOS

(Complementary Metal Oxide Semiconductor).

1.4 ESTRUTURA DA DISSERTAÇÃO

Este documento está organizado em 6 capítulos. No capítulo introdutório, foi apresentado de

modo geral o contexto relacionado ao tema de pesquisa aqui proposto. Foram discutidos o problema

abordado e a solução aplicada ao mesmo, incluindo a definição de objetivos e a metodologia

adotada nas pesquisas.

O Capítulo 2 apresenta os conceitos base para o desenvolvimento desta pesquisa. Tratando

inicialmente das arquiteturas de comunicação para SoCs, as arquiteturas usuais baseadas em

barramentos e na sequência as NoCs. As quais se justificam devido aos problemas associados às

abordagens convencionais. O consumo de energia e os sistemas RT também são discutidos nesse

capítulo o qual possui como tema principal o mapeamento de tarefas.

O Capítulo 3 descreve os trabalhos relacionados. São discutidas as técnicas adotadas

atualmente no mapeamento de tarefas com vistas à redução do consumo de energia. Apresenta-se

nesse capítulo um trabalho por seção, ao final de cada uma dessas há um quadro resumo contendo

as principais características identificadas. As duas últimas seções, por sua vez, comportam uma

análise comparativa entre todos os trabalhos e as considerações finais do capítulo.

O Capítulo 4 traz a descrição da abordagem aplicada na solução do problema alvo dessa

dissertação. Esse capítulo inicia com uma breve descrição da NoC em que foram realizados os

experimentos, as customizações aplicadas, as ferramentas auxiliares e demais definições relevantes.

O Capítulo 5 apresenta os resultados obtidos no desenvolvimento deste trabalho, são

descritas as implementações, o processo de avaliação e ainda uma discussão a respeito dos

resultados obtidos.

O Capítulo 6 apresenta as conclusões, as contribuições e uma série de sugestões para

trabalhos futuros.

Page 18: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

17

2 FUNDAMENTAÇÃO TEÓRICA

Este capítulo apresenta os conceitos relacionados ao assunto central tratado neste trabalho.

São abordados temas correlatos ao mapeamento de tarefas em SoCs que adotam NoCs como

estrutura de comunicação, enfatizando questões ligadas ao consumo de energia e à garantia de

prazos em aplicações de tempo real.

2.1 ARQUITETURAS DE COMUNICAÇÃO PARA SOCS

A exploração do espaço de projeto de SoCs inclui duas dimensões principais: (i) mapear os

requisitos de computação aos EPs (Elementos de Processamento); e (ii) selecionar a arquitetura de

comunicação que ofereça os requisitos adequados às necessidades de tráfego de dados geradas pela

aplicação (LAHIRI; RAGHUNATHAN; DEY, 2001).

Até os anos 90 a arquitetura de comunicação padrão para SoCs foi baseada em barramentos

compartilhados e, ainda hoje, tem sido adotada em muitos sistemas. Esse é um modelo de

comunicação simples, bem conhecido, que apresenta baixa latência a partir do momento que a

conexão entre os componentes comunicantes esteja estabelecida. Além disso, é reutilizável em

função do conjunto de componentes compatíveis que foram desenvolvidos ao longo dos anos

(COTA; AMORY; LUBASZEWSKI, 2012 p. 3).

As principais características para classificação de arquiteturas de comunicação baseadas em

barramentos são (PASRICHA; DUTT, 2008, p. 18):

Topologia: a organização topológica de SoCs baseados em barramentos pode ser

realizada de diferentes maneiras. No barramento único compartilhado, todos os

componentes do sistema são conectados ao mesmo canal de comunicação. Com o

barramento do tipo hierárquico, múltiplos canais coexistem no sistema, sendo que a

interconexão entre esses é realizada por elementos denominados pontes. A interface

entre barramentos também pode ser baseada em buffers tri-state, ao que se denomina

barramento dividido. Além disso, sistemas que demandam elevado desempenho e

paralelismo podem adotar a topologia ponto-a-ponto, na qual há canais dedicados

para comunicação entre os componentes do sistema;

Page 19: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

18

Tipo de sinalização: os principais tipos de sinais empregados na comunicação por

barramento são os de endereço, dados e controle. Os sinais de endereço indicam em

qual componente será realizada uma operação de leitura ou escrita. Os sinais de dados

transmitem informações, os sinais de controle por sua vez, indicam características dos

dados transportados;

Sincronismo: quando as operações realizadas no barramento são sincronizadas por

um sinal de relógio (ou clock) configura-se um barramento do tipo síncrono, do

contrário o barramento é assíncrono. O barramento síncrono possibilita transferências

mais rápidas, isso se deve à simplicidade do protocolo de comunicação; e

Protocolos: os protocolos definem principalmente os esquemas de arbitragem e de

transferência de dados. A arbitragem resolve disputas pelo uso do barramento, ela

deve permitir que todos os componentes tenham a oportunidade de utilizar o canal e

ainda, que transferências críticas sejam realizadas o mais rápido possível. Os

esquemas de transferência de dados definem como ocorre a troca de informações

entre os componentes do barramento. Os principais tipos são: transferência simples,

em pipeline, em rajada, fora de ordem, dividida e broadcast.

O sucesso no desenvolvimento de SoCs complexos requer experiência em diversas áreas da

tecnologia de microeletrônica, entre elas, o processamento de sinais, a criptografia, e o projeto de

blocos analógico e de rádio frequência. Devido à dificuldade em concentrar tais habilidades em uma

única empresa, tem sido adotado um processo de desenvolvimento horizontal, no qual diversas

companhias colaboram na criação de um mesmo produto. Isso é possível graças à utilização de

blocos previamente projetados e verificados ao que se denominam núcleos ou IPs (Intelectual

Property) (GUPTA; ZORIAN, 1997).

Com o incremento na quantidade de núcleos integrados nos SoCs, torna-se evidente a

inadequação das arquiteturas baseadas em barramentos no fornecimento dos requisitos de

comunicação a esses sistemas. Pois é cada vez mais difícil garantir as restrições de tempo,

qualidade de serviço, largura de banda e consumo de energia (COTA; AMORY; LUBASZEWSKI,

2012, p. 11).

Os problemas associados aos barramentos compreendem questões físicas como o crosstalk,

a interferência eletromagnética e a indução de carga por radiação. Também apresentam problemas

Page 20: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

19

com sincronismo, uma vez que os futuros SoCs utilizarão o modelo GALS (Globally Asynchronous

Locally Synchronous), abrangendo múltiplos domínios de relógio, e nas arquiteturas baseadas em

barramento todos os módulos conectados devem situar-se no mesmo domínio de clock. Além

desses, há problemas com o gerenciamento de tráfego, ao qual o barramento compartilhado oferece

apenas suporte rudimentar, devido ao esquema de arbitragem simplificado (KOGEL; LEUPERS;

MEYR, 2006, p. 25).

Outra limitação crítica dos barramentos compartilhados é a ineficiência energética, pois as

transferências de dados são realizadas por difusão, ou seja, os dados devem atingir todos os

possíveis receptores, causando grande consumo de energia (BENINI; DE MICHELI, 2002).

Buscando superar as limitações dos barramentos, as comunidades científica e industrial

identificaram como alternativa as arquiteturas de comunicação chaveadas por meio de roteadores

conhecidas como NoCs (ZEFERINO, 2003, p. 26).

2.2 REDES-EM-CHIP

O paradigma de comunicação intrachip baseado em NoCs permite o desenvolvimento de

arquiteturas de comunicação altamente escaláveis, pois os núcleos são conectados à rede por meio

de canais curtos e interfaces padronizadas. A modularidade das NoCs também oferece grande

potencial para o reuso de componentes. Uma vez que, os núcleos IP desenvolvidos para operar em

barramentos podem ser utilizados em NoCs, bastando para isso, a adaptação da interface entre esses

e a arquitetura de comunicação. Além disso, devido à natureza estrutural dos fios em uma NoC,

seus parâmetros elétricos são mais facilmente controlados e otimizados (OGRAS; MARCULESCU,

2013, p. 3).

2.2.1 Arquitetura de Redes-em-Chip

A arquitetura de uma NoC define a topologia e sua organização física, ela opera de acordo

com protocolos que determinam o chaveamento, o roteamento e o controle de fluxo. A escolha de

uma determinada arquitetura e protocolos é realizada visando cumprir restrições, tais como

desempenho, consumo de energia, confiabilidade, escalabilidade e custo de implementação

(BENINI; DE MICHELI, 2006, p. 23).

Page 21: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

20

A topologia de uma NoC especifica o modo como os núcleos, roteadores e canais são

conectados entre si. Pode ser classificada em três categorias: redes diretas, redes indiretas e redes

irregulares (PASRICHA; DUTT, 2008, p. 443), as quais são definidas a seguir.

2.2.1.1 Redes Diretas

Nas redes diretas todos os núcleos possuem um roteador integrado para manipular a

comunicação com os demais núcleos. Em geral, dois núcleos vizinhos são interconectados por um

par de canais unidirecionais. As topologias malha, toróide, toróide dobrado, hipercubo e octógono

são exemplos populares desse tipo de arquitetura (NI, 1996; PASRICHA; DUTT, 2008, p. 444).

A Figura 1, ilustra um exemplo de rede direta de topologia malha 2-D com tamanho 3×3, em

destaque na figura, estão os elementos “Roteador” e “Núcleo”, dos quais todos os demais nodos da

rede são compostos.

Figura 1. Rede direta de topologia malha 2-D

2.2.1.2 Redes Indiretas

Nas redes indiretas a comunicação entre os núcleos de processamento é realizada por uma

rede de roteadores geralmente organizada em uma topologia regular de múltiplos níveis. Nesse tipo

de rede o nodo realiza apenas a função de roteador ou de terminal, diferentemente das redes diretas

em que ambas as funções são desempenhadas pelo mesmo nodo. Alguns exemplos clássicos são as

redes de topologias crossbar e multiestágio (DALLY; TOWLES, 2004, p. 47; ZEFERINO, 2003, p.

34; NI, 1996).

2.2.1.3 Redes Irregulares

As redes irregulares, também conhecidas como ad hoc, combinam características das

arquiteturas do tipo barramento compartilhado com as arquiteturas de redes diretas e indiretas,

Roteador

Núcleo

Page 22: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

21

buscando com isso o desenvolvimento de uma arquitetura otimizada para uma aplicação específica

(PASRICHA; DUTT, 2008, p. 447).

2.2.2 Mecanismos de comunicação

As NoCs empregam um modelo de comunicação baseado em troca de mensagens, ou seja,

os núcleos acoplados aos seus terminais se comunicam enviando e recebendo mensagens. Os

mecanismos que implementam esse modelo são: o roteamento, o chaveamento, o controle de fluxo,

a memorização e arbitragem (ZEFERINO; SANTO; SUSIN, 2004).

As mensagens que trafegam em uma NoC são segmentadas em pacotes os quais são

divididos em unidades menores denominadas flits (flow control unit). O flit é a menor unidade sob a

qual se realiza o controle de fluxo.

Um pacote é composto de flits de cabeçalho, de carga útil e de terminação. O flit de

cabeçalho transporta informações necessárias ao roteamento. É com base nessas informações que os

roteadores no trajeto do pacote alocam canais para seu encaminhamento em direção ao destinatário.

Já o flit terminador, por sua vez sinaliza aos roteadores que os recursos alocados podem ser

liberados. Os flits intermediários compõem a carga útil, sua função é permitir o transporte de

informações (DALLY; TOWLES, 2004, p. 224; JERGER; PEH, 2009, p. 59; ZEFERINO; SANTO;

SUSIN, 2004).

A Figura 2 ilustra a estrutura de uma mensagem e suas subdivisões: a mensagem composta

por pacotes, os quais são subdivididos em flits que por sua vez compreendem a um conjunto de

phits (physical channel unit). O phit consiste na quantidade de bits transferidos simultaneamente

pelo canal (ou seja, a largura do canal).

Page 23: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

22

Figura 2. Estrutura de uma mensagem

2.2.2.1 Roteamento

O método de roteamento determina o caminho a ser utilizado por uma mensagem para

trafegar de um nodo fonte a um nodo destino. Um bom algoritmo de roteamento favorece o

balanceamento de carga dos canais de comunicação da rede. Além disso, o roteamento deve manter

as rotas tão curtas quanto possível, reduzindo o número de nodos intermediários e a latência média

na entrega de mensagens. Além disso, em sistemas com alta demanda por confiabilidade é

importante a capacidade de manter o funcionamento mesmo na ocorrência de faltas. Nesses casos a

técnica de encaminhamento de pacotes precisa se adaptar às condições da rede (DALLY;

TOWLES, 2004, p. 159).

Os algoritmos de roteamento podem ser classificados de acordo com uma série de critérios

resumidamente descritos no Quadro 1. Uma das classificações se refere ao número de destinos aos

quais os pacotes podem ser enviados, as alternativas são unicast (apenas um destino) e multicast

(múltiplos destinos possíveis).

Quanto ao local onde são tomadas as decisões de roteamento existem quatro alternativas, a

primeira abordagem é a centralizada, na qual um controle único define o caminho a ser tomado

pelos pacotes. Na segunda abordagem a rota é estabelecida antes de o pacote ser injetado na rede,

ao que se chama roteamento na fonte. O roteamento distribuído, por sua vez, define o trajeto dos

pacotes enquanto eles são encaminhados, pois cada roteador decide se envia o pacote ao nodo local

ou para algum nodo vizinho. Na quarta abordagem, denominada multi-fase, os destinos são

definidos na fonte e os caminhos entre os destinos são estabelecidos de modo distribuído.

Mensagem

Pacote

Flit

Phit

Phits

terminadorcabeçalho

Flit

Pacote

carga útil

Page 24: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

23

Quadro 1. Classificação dos algoritmos de roteamento

Critério Alternativas Definição

Número de destinos Unicast Os pacotes podem ter apenas um destinatário

Multicast Os pacotes são entregues para diversos destinatários

Tomada de decisão

Centralizada O caminho é decidido por um controle central

Fonte Estabelece a rota antes de injetar o pacote na rede

Distribuído O caminho é determinado de forma distribuída,

enquanto o pacote trafega pela rede

Multi-fase O nodo fonte indica alguns destinos e o caminho

entre eles é estabelecido de forma distribuída

Implementação

Tabela A rota é pré-definida em uma tabela de roteamento

Máquina de estados O algoritmo de roteamento é descrito em hardware ou

software baseando-se em máquina de estados

Adaptabilidade

Determinístico Sempre indica o mesmo caminho entre um

determinado nodo fonte e destino

Adaptativo Emprega informações do estado da rede para evitar

regiões congestionadas ou que estão em falha

Fonte: Duato e Yalamanchili (2003, p. 140).

Em relação à forma de implementação os algoritmos de roteamento podem ser baseados em

tabelas ou em máquina de estados. No primeiro caso cada nodo possui uma tabela de roteamento

com a quantidade de entradas equivalente à quantidade de nodos na rede, sendo que tal abordagem

é adequada para topologias irregulares. Por outro lado, a abordagem baseada em máquina de

estados é adotada em topologias de redes que podem ser decompostas em dimensões ortogonais,

facilitando a derivação do algoritmo de roteamento em uma máquina de estados finitos.

No que diz respeito à adaptabilidade o algoritmo de roteamento pode ser determinístico ou

adaptativo. O algoritmo que sempre indica a mesma rota entre um par de nodos fonte e destino é

denominado determinístico. Em contrapartida, os algoritmos adaptativos utilizam informações de

tráfego e ocupação dos canais para evitar regiões congestionadas ou com algum tipo de falta. Tais

algoritmos são classificados quanto à progressividade, minimalidade e número de caminhos. Em um

algoritmo adaptativo progressivo, os pacotes se movimentam sempre em direção ao destino. No

caso de um algoritmo regressivo, é possível que os pacotes recuem para evitar áreas em contenção.

Em relação à minimalidade, em um algoritmo adaptativo mínimo, o roteamento contém apenas

rotas que aproximam os pacotes do destino. Em um algoritmo não mínimo, para evitar regiões

problemáticas, é permitido o emprego de rotas que afastam os pacotes do destino. Por fim, os

algoritmos adaptativos podem ser do tipo completo, quando todos os caminhos possíveis podem ser

Page 25: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

24

utilizados, ou do tipo parcial, quando algumas rotas são proibidas (DUATO; YALAMANCHILI;

NI, 2003, p. 141-145).

2.2.2.2 Chaveamento

A técnica de chaveamento determina quando e como as chaves internas de um roteador são

conectadas para permitir que mensagens sejam transferidas de suas portas de entrada para as portas

de saída. O chaveamento pode ser por circuito ou por pacotes. No chaveamento por circuito

reserva-se um caminho entre o nodo emissor e o nodo receptor. Já no chaveamento por pacotes as

mensagens são fragmentadas e transmitidas em unidades menores, as quais são denominadas

pacotes. São três as técnicas mais populares de chaveamento por pacotes: (i) armazena e repassa

(store-and-forward), (ii) transpasse virtual (virtual cut-through) e (iii) wormhole (DUATO;

YALAMANCHILI; NI, 2003, p. 43; ZEFERINO, 2003, p. 39).

Na técnica de chaveamento store-and-forward os pacotes que trafegam pela rede são

divididos em flits e, para seu encaminhamento o roteador precisa armazenar todos os flits que o

compõem e então direcioná-los ao próximo roteador. Para isso, o canal de saída deve estar

disponível e o roteador vizinho deve possuir espaço suficiente em buffer para armazenar todo o

pacote. Portanto, os roteadores precisam de buffers com capacidade proporcional ao tamanho

máximo de um pacote. Tal restrição torna essa técnica de chaveamento inadequada para emprego

em NoCs (KOIBUCHI; MATSUTANI, 2009, p. 67).

O chaveamento do tipo virtualcut-through se assemelha à técnica store-and-forward por

alocar buffers e largura de banda em unidades de pacotes. Porém, nessa técnica, o pacote é

conduzido adiante logo que o primeiro flit (o cabeçalho) é recebido e os recursos necessários já

estão disponíveis no próximo roteador. Neste caso não é necessário aguardar o recebimento

completo, o que reduz sua latência. Apesar disso, não é comum o emprego dessa técnica em NoCs

pois assim como a técnica store-and-foreward, também requer grande quantidade de espaço em

buffer para manter pacotes em caso de contenção na rede (DALLY; TOWLES, 2004, p. 235).

Na técnica de chaveamento wormhole, os flits que compõem os pacotes podem partir do

nodo atual no instante em que haja espaço em buffer suficiente para armazenar ao menos um flit no

próximo nodo. Portanto, largura de banda e espaço de armazenamento são alocados em unidades de

flits ao invés de pacotes, isso possibilita o emprego de buffers com baixa capacidade de

Page 26: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

25

armazenamento, mesmo para pacotes grandes. Entretanto, nessa técnica de chaveamento os canais

são subutilizados, pois quando não há espaço em buffer para um ou mais flits o canal associado se

mantém bloqueado, impedindo que flits de outros pacotes sejam encaminhados (JERGER; PEH,

2009, p. 64).

2.2.2.3 Controle de Fluxo

Quando um pacote é impedido de prosseguir pela rede devido ao recurso desejado estar

ocupado, ele pode ser descartado, bloqueado, armazenado ou encaminhado para outro canal do

roteador. A política de controle de fluxo trata essas questões, pois ela define a alocação de canais e

buffers para os pacotes e, se for eficiente, pode reduzir a congestão dos canais e a latência (NI;

MCKINLEY, 1993). A seguir serão descritas algumas técnicas de controle de fluxo comumente

adotadas em NoCs.

O controle de fluxo baseado em canais virtuais associa ao canal físico uma série de buffers

de entrada denominados canais virtuais. Isso possibilita superar o problema de bloqueio que ocorre

no chaveamento wormhole, permitindo que outros pacotes utilizem o canal que ficaria ocioso no

caso de disputa por recursos (DALLY; TOWLES, 2004, p. 239).

No controle de fluxo baseado em créditos o pacote é autorizado a deixar o emissor somente

se o receptor possuir espaço disponível em buffer para seu armazenamento. Um contador de

créditos na interface do emissor monitora a quantidade de posições livres no receptor, esse

contador é inicializado com um valor equivalente à capacidade de armazenamento disponível no

destino e, a cada pacote enviado esse contador é decrementado. Em contrapartida, sempre que o

receptor libera uma posição em seu buffer de entrada, um crédito é enviado ao emissor que

incrementa o seu o contador de créditos. Um problema associado com essa técnica é o consumo de

banda da rede pelos sinais de controle de créditos (PASRICHA; DUTT, 2008, p. 457).

Esse problema pode ser minimizado pelo controle de fluxo On/Off, uma vez que utiliza-se

apenas um bit para determinar se é permitido ao emissor enviar dados (On) ou se não é permitido

(Off). O sinal de controle é emitido somente quando necessário realizar mudança de estado. Ou seja,

um sinal Off é enviado quando o controle está On e o número de posições disponíveis nos buffers

está abaixo de um determinado valor limite. Isso instrui o emissor a parar de emitir pacotes ao

receptor. Por outro lado, se o bit de controle está Off e a quantidade de espaço disponível para

Page 27: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

26

armazenamento é superior ao valor limite, então o controle muda para On, autorizando o emissor a

reiniciar o encaminhamento de pacotes (DALLY; TOWLES, 2004, p. 247).

No controle de fluxo ACK/NACK não se utiliza sinais para indicar a disponibilidade de

espaço livre nos buffers. Os nodos simplesmente enviam flits pela rede e aguardam uma resposta de

confirmação (ACK) ou de não confirmação (NACK) de recebimento por parte do nodo receptor. O

nodo emissor, por sua vez, mantém uma cópia dos flits encaminhados em seu buffer local e, ao

receber um ACK a cópia é excluída. Porém, ao receber um NACK o flit é retransmitido

(BERTOZZI, 2006, p. 134).

No controle de fluxo handshake o emissor sinaliza a necessidade de enviar informações a

um nodo receptor habilitando um sinal de validação. Em contrapartida, o receptor confirma a

capacidade de receber os flits que compõem o dado a ser transferido ativando um sinal de

reconhecimento (acknowledgement) (ZEFERINO, 2003, p. 127).

2.2.2.4 Memorização

A técnica de memorização diz respeito à implementação de locais de armazenamento

temporário nos roteadores da rede. Isso é necessário para manter os pacotes enquanto eles estão

sendo encaminhados ou aguardam o encaminhamento aos seus destinatários.

Essa técnica tem forte impacto na vazão da rede e influencia no compartilhamento eficiente

da largura de banda do canal de comunicação. Isso ocorre porque o roteador que utiliza

chaveamento por pacotes deve ser capaz de armazenar aqueles que são destinados a saídas que já

ocupadas e posteriormente realizar o controle de fluxo, evitando com isso a perda de dados

(JERGER; PEH, 2009, p. 81; ZEFERINO, 2003, p. 44).

A memorização pode ser feita de modo centralizado, por buffers compartilhados, ou de

modo independente, com buffers nas entradas ou nas saídas do roteador. A primeira opção apresenta

uma série restrições, pois essa abordagem pode resultar em perda de desempenho no caso de uma

única porta de saída esgotar o espaço de memorização, impedindo todas as demais comunicações.

Além disso, é difícil alocar recursos para pacotes de tamanhos variados. Com a memorização nas

saídas, por sua vez, os buffers precisam de tantas portas de escrita quanto o número de entradas no

roteador para lidar com a chegada simultânea de múltiplos pacotes. Isso aumenta o tamanho do

Page 28: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

27

buffer e diminui seu desempenho. Por causa dessas e de outras restrições a alternativa mais adotada

é a implementação de buffers nas entradas do roteador (TAMIR; FRAZIER, 1992).

2.2.2.5 Arbitragem

Sempre que um recurso é compartilhado por muitos agentes é necessário o emprego de

mecanismos de arbitragem para conceder o acesso a um agente de cada vez. O esquema de

arbitragem define qual canal ou buffer de entrada terá o direito de utilizar um canal ou buffer de

saída para encaminhar pacotes (DALLY; TOWLES, 2004, p. 349; ZEFERINO, 2003, p. 47).

São diversas as alternativas de implementação de árbitros em NoCs, entre essas: (i) árbitro

de prioridade fixa: sempre atribui a maior prioridade para a mesma requisição; (ii) árbitro

randômico: não considera informações sobre o estado das requisições para conceder acesso aos

recursos; e (iii) árbitro round-robin: adota o esquema de fila circular, no qual a última requisição

servida tem a menor prioridade no próximo ciclo de arbitragem (DALLY; TOWLES, 2004, p. 350).

2.2.2.6 Deadlock, livelock e starvation

Existem três potenciais problemas que devem ser tratados pelos mecanismos de

comunicação. O roteamento deve tratar o deadlock e o livelock, enquanto que a arbitragem deve

tratar o starvation.

Quando dois ou mais pacotes estão esperando uns pelos outros para serem encaminhados

configura-se a ocorrência de deadlock. Isso acontece porque ambos os pacotes reservaram recursos

do roteador e ambos aguardam a liberação de recursos já alocados para então prosseguir. Isso causa

uma dependência entre esses pacotes. Já o livelock ocorre quando um pacote trafega

indefinidamente sem jamais alcançar o nodo destino.

O starvation, por sua vez, acontece quando são empregados esquemas de prioridade aos

pacotes para que esses utilizem os recursos da rede. Os pacotes de maior prioridade reservam

recursos e impedem o uso desses por pacotes menos prioritários. Isso ocorre de tal modo que os

pacotes de baixa prioridade nunca são encaminhados (RUGGIERO, 2011, p. 101).

O deadlock pode ser tratado pelo emprego de técnicas que previnem, evitam ou recuperam a

rede de tal situação. A prevenção é uma técnica conservadora que consiste em conceder o acesso a

Page 29: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

28

recursos de modo a impedir sua ocorrência. Isso pode ser realizado pela reserva antecipada, ou seja,

antes da transmissão do pacote. As técnicas que evitam, alocam recursos conforme o pacote avança

pela rede. Em contrapartida, as técnicas de recuperação de deadlock assumem que isso pode

ocorrer, e nesses casos, alguns recursos são desalocados em favor de outros pacotes (BENINI; DE

MICHELI, 2006, p. 40).

Para evitar o livelock pode-se adicionar ao pacote um contador de desvios que é

incrementado sempre que for necessário desviar de sua rota. Se o contador atingir um valor limite,

então novos desvios não serão aceitos. Em uma abordagem semelhante utilizam-se mecanismos de

prioridade baseados na idade dos pacotes, ou seja, quando ocorre disputa por recursos o pacote que

está a mais tempo na rede prevalece. Porém, o modo mais simples para evitar o livelock é permitir

apenas o uso de caminhos mínimos, ou seja, os pacotes seguem pelo caminho mais curto até o nodo

destinatário (DALLY; TOWLES, 2004, p. 279).

O starvation, por sua vez, é evitado pelo emprego de esquemas justos para concessão de

recursos (arbitragem), tal como o esquema baseado em fila circular. Pois, embora alguns pacotes

sejam prioritários também é necessário alocar largura de banda para pacotes de menor prioridade

(ZEFERINO, 2003, p. 35).

2.3 CONSUMO DE ENERGIA

O consumo de energia é reconhecidamente um dos parâmetros mais importantes no

desenvolvimento de sistemas eletrônicos. Isso se deve à necessidade de se estender o tempo de

autonomia das baterias no caso de sistemas portáteis, reduzir os custos de encapsulamento e

refrigeração dos chips e, também, a questões relacionadas à confiabilidade do dispositivo e ao

meio-ambiente. Portanto, a questão energética deve ser tratada ainda na fase de projeto do sistema,

pois quanto maior o nível hierárquico em que se aborda o consumo de energia maior é a

possibilidade de redução (JHA, 2001).

2.3.1 Fontes de consumo de energia

Reduzir a dissipação de potência de um sistema pode não resultar em redução no consumo

de energia. Pois, se uma determinada computação pode ser realizada empregando a metade da

potência normal e esse cálculo demorar o dobro do tempo para ser finalizado, então a quantidade de

Page 30: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

29

energia consumida será similar ao que era anteriormente. Isso ocorre porque energia compreende a

quantidade de energia elétrica consumida por um período de tempo na realização de um trabalho. Já

a potência corresponde a taxa em que o sistema consome energia elétrica enquanto realiza esse

trabalho. Potência e energia podem ser definidas pelas equações (1) e (2) respectivamente3, onde 𝑃

é a potência, 𝐸 indica a energia e 𝑊 refere-se à quantidade de trabalho realizado no intervalo de

tempo 𝑇 (LEE; BAGHERZADEH, 2009, p. 255; RAGHUNATHAN; JHA; DEY, 1998, p. 12).

𝑃 = 𝑊

𝑇

(1)

𝐸 = 𝑃 × 𝑇 (2)

Para descrever como ocorre o consumo de energia em um circuito CMOS (Complementary

Metal Oxide Semiconductor) será utilizado um modelo simplificado do circuito de uma porta

inversora, ilustrado na Figura 3 (a). O funcionamento desse circuito pode ser descrito do seguinte

modo: quando o valor da tensão na entrada 𝑉𝑖𝑛 está em nível alto (1 lógico), o transistor NMOS fica

ligado e o transistor PMOS fica desligado, resultando em um valor de tensão na saída 𝑉𝑜𝑢𝑡

equivalente ao valor lógico “0”. Isso estabelece um caminho direto do terminal terra para a saída

𝑉𝑜𝑢𝑡 , circuito equivalente àquele apresentado na Figura 3 (b).

Se a tensão na entrada 𝑉𝑖𝑛 estiver em nível baixo (0 lógico) o transistor NMOS é desligado e

o transistor PMOS, por sua vez, se mantém ligado. Com isso a saída da porta inversora fica em

nível alto (1 lógico), apresentando a tensão de saída 𝑉𝑜𝑢𝑡 correspondente. Isso cria um caminho

condutor de energia da tensão de alimentação 𝑉𝑑𝑑 para a saída 𝑉𝑜𝑢𝑡 , o que equivale ao circuito da

Figura 3 (c) (RABAEY, 1996, p. 120).

3 Nas equações apresentadas considera-se a potência constante

Page 31: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

30

Figura 3. Circuito CMOS: (a) porta inversora; chaveamento para os níveis (b) baixo; e (c) alto

São três as principais fontes de consumo de energia nos circuitos CMOS: potência dinâmica,

potência de curto-circuito e potência estática.

2.3.1.1 Potência dinâmica

O consumo de energia devido à dissipação de potência dinâmica ocorre pela carga e

descarga de capacitâncias. Considerando o circuito da Figura 3 (a), sempre que acontece uma

transição do nível baixo para o nível alto (0 para 1 lógico), uma certa quantidade de energia é

drenada da fonte de alimentação 𝑉𝑑𝑑 , metade dessa energia é consumida no transistor PMOS e o

restante fica armazenado no capacitor 𝐶𝐿. Por outro lado, quando a transição é do nível alto para o

nível baixo (1 para 0 lógico), a energia armazenada anteriormente no capacitor 𝐶𝐿 é descarregada no

transistor NMOS.

A energia necessária para um circuito completar um ciclo de chaveamento, ou seja, variar de

“0” para “1” e de “1” para “0”, deve ser calculada considerando-se a frequência em que isso ocorre.

Como nem todas as portas lógicas de um circuito integrado chaveiam na mesma frequência do

relógio, emprega-se um fator para representar essa atividade. Desse modo, o consumo de energia

devido à dissipação de potência dinâmica pode ser calculado pela equação (3). Onde α é a

probabilidade de ocorrer o chaveamento, 𝐶𝐿 representa a carga de capacitâncias, 𝑉𝑑𝑑2 a tensão de

alimentação e 𝑓𝑐𝑙𝑘 a frequência de operação do circuito (RABAEY, 1996, p. 144).

𝑃𝑑𝑖𝑛 â𝑚𝑖𝑐𝑎 = 𝛼 × 𝐶𝐿 × 𝑉𝑑𝑑2 × 𝑓𝑐𝑙𝑘 (3)

(a) (b) (c)

Vdd

Vout

CL

PMOS

NMOS

VinVdd

Vout

Vdd

Vout

Page 32: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

31

2.3.1.2 Potência de curto-circuito e estática

O consumo de energia devido à potência de curto-circuito é causado pelo tempo de transição

não ideal do transistor. Ocorre durante a atividade de chaveamento quando por um pequeno

intervalo de tempo ambos os transistores NMOS e PMOS permanecem ligados simultaneamente.

Com isso, forma-se um caminho condutor de energia da fonte de alimentação para o terminal terra.

O consumo devido à dissipação de potência estática, por sua vez, acontece por causa das correntes

de fuga que também são inerentes à natureza imperfeita do transistor, o qual apresenta consumo de

energia mesmo quando não há atividade de chaveamento (KAXIRAS; MARTONOSI, 2008, p. 5 e

133).

A potência estática está gradativamente incrementando sua contribuição para a dissipação

total de potência. A cada nova geração de circuitos integrados a tensão de alimentação tem sido

reduzida, causando aumento exponencial nas correntes de fuga e consequentemente no consumo de

energia estática. Por exemplo, a razão entre as potência estática e dinâmica no processador

OpenSPARC em uma tecnologia de fabricação de 70 nm compreende a 40%. Enquanto que, com o

mesmo processador em tecnologia de 45 nm essa medida passa para 70% (TABKHI; SCHIRNER,

2014).

2.3.2 Técnicas para redução do consumo de energia

As demandas pela redução do consumo de energia não podem ser satisfeitas apenas por

otimizações em nível lógico ou de transistor. É necessária também a exploração de técnicas de alto

nível de abstração (RAGHUNATHAN; JHA; DEY, 1998, p. 12).

A Figura 4 ilustra as oportunidades para reduzir o consumo de energia em diferentes níveis

de abstração e o tempo necessário para realizar a análise desse consumo. Nota-se que as

oportunidades para reduzir o consumo de energia são maiores em níveis mais abstratos. Além disso,

o tempo de iteração para análise é da ordem de segundos a minutos. Por outro lado, as técnicas

aplicadas em baixo nível oferecem menor economia e demandam muito tempo, isso se deve ao

elevado custo computacional.

Page 33: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

32

Figura 4. Benefícios da análise e otimização do consumo de energia em alto nível de abstração

Fonte: Adaptado de Raghunathan, Jha e Dey (1998, p. 12).

2.3.3 Economia de energia em NoCs

Como um os principais componentes em SoCs compostos de múltiplos núcleos, as NoCs

consomem de 10% a 36% da energia total do sistema, sendo que, uma fração considerável dessa

energia é dissipada devido a potência estática. Experimentos realizados recentemente, em um chip

de 45 nm operando a uma tensão de alimentação de 1.0 volt, apontaram um consumo de energia

devido à potência estática em torno de 38%. Sendo que, 55% desse percentual foram consumidos

nos buffers e 45% nos demais elementos do roteador, o que equivale a 21% e 17% do consumo

total, respectivamente (CHEN; PINKSTON, 2012).

A economia de energia em NoCs pode ser abordada em nível de microarquitetura ou de

sistema. No primeiro caso podem ser adotadas técnicas como: (i) transmissão de informação com

baixos níveis de tensão (low-swing signaling); (ii) codificação de barramento; (iii) clock-gating; e

(iv) hibernação de recursos (power-gating). Em nível de sistema, por sua vez, pode-se empregar as

seguintes técnicas: (i) ajuste da tensão de alimentação (DVS – Dynamic Voltage Scaling) e da

frequência de operação (DFS – Dynamic Frequency Scaling) dos canais de acordo com o nível de

tráfego; (ii) otimizações na topologia da rede; e (iii) mapeamento das aplicações visando diminuir a

distância entre nodos mais comunicantes4 (LEE; BAGHERZADEH, 2009, p. 270).

4Este trabalho insere-se no contexto da redução de consumo em NoCs por meio do mapeamento das tarefas da

aplicação.

Sistema

Comportamental

RTL

Lógico

Transistor

Laiaute

20-50%

2-5X

10-20X

Oportunidades para reduzir

o consumo de energia

Tempo de iteração para

análise

horas-dias

minutos-horas

segundos-minutos

Page 34: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

33

2.4 SISTEMAS DE TEMPO REAL

Os sistemas de tempo real ou RT (Real-Time) são aqueles em que as operações devem ser

corretamente realizadas dentro de um período estrito de tempo, ou seja, devem apresentar correção

lógica e temporal. Suas tarefas são caracterizadas pelo período máximo de tempo disponível para

execução, ao que se denomina prazo (do inglês, deadline). Tais sistemas podem ser classificados

com relação às consequências decorrentes do não cumprimento de prazos nas seguintes categorias

(BURNS; WELLINGS, 2009, p. 3; BUTTAZZO, 2011, p. 8):

Sistema RT hard ou crítico: o tempo de resposta deve ser respeitado, pois o atraso na

execução das tarefas é considerado tão grave quanto a ocorrência de erros, podendo

acarretar danos sérios ao sistema controlado ou ao ambiente;

Sistema RT soft ou brando: apesar de o tempo de resposta ser importante, possíveis

violações no cumprimento dos prazos não impedem o funcionamento correto do

sistema, embora possam causar degradação no desempenho; e

Sistema RT firm: os atrasos não afetam a funcionalidade do sistema, mas o resultado

gerado em tempo defasado é inútil para a operação.

Uma das características mais importantes em sistemas RT é a previsibilidade. Isso significa

que deve ser possível prever se os requisitos de tempo definidos serão alcançados. Nessa questão, as

técnicas de escalonamento são cruciais (STANKOVIC; RAMAMRITHAM, 1990).

O escalonamento consiste em determinar quando executar cada tarefa e no caso de sistemas

com múltiplos processadores, também define a atribuição das tarefas a processadores específicos.

Em sistemas não RT, o objetivo do escalonamento é maximizar a vazão ou minimizar o tempo de

espera. Já em sistemas RT, o objetivo é garantir o cumprimento de prazos (CHENG, 2002, p. 41).

As tarefas em um sistema RT podem ser caracterizadas pelos parâmetros: (i) tempo de

chegada ou tempo inicial; (ii) tempo máximo de computação; (iii) prazo (deadline) relativo ao

tempo inicial; e (iv) prazo absoluto. Seus principais tipos são: (i) tarefas de instância simples, ou

seja, executam apenas uma vez; (ii) tarefas periódicas: apresentam inúmeras execuções com período

fixo entre execuções consecutivas; e (iii) tarefas esporádicas: podem executar zero ou mais vezes,

porém existe um intervalo mínimo de tempo entre execuções (CHENG, 2002, p. 42).

Page 35: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

34

2.4.1 Comunicação RT em NoCs com chaveamento wormhole

O chaveamento wormhole, apresentado na Subseção 2.2.2.2, aloca largura de banda e

espaço de armazenamento em unidades de flits. Isso permite o emprego de buffers de baixa

capacidade mesmo para transferência de pacotes maiores. Entretanto, quando um pacote fica

bloqueado os canais mantidos por ele permanecem ociosos. Como resultado, pacotes grandes

podem ficar espalhados por vários roteadores causando a paralisação de diversos canais e

impactando negativamente na vazão da rede (JERGER; PEH, 2009 p. 64).

Portanto, a comunicação em NoCs que adotam o chaveamento wormhole é inerentemente

não determinista, uma vez que podem ocorrer vários cenários de contenção devido ao

compartilhamento de recursos na forma de buffers e canais. Esse comportamento imprevisível pode

levar à violação de prazos de mensagens RT (LU; JANTSCH; SANDER, 2005).

Uma alternativa para melhorar essa questão é a adoção do chaveamento wormhole em

conjunto com o controle de fluxo baseado em canais virtuais (Subseção 2.2.2.3). Uma vez que, na

ocorrência de contenções os pacotes que almejam recursos disponíveis podem ultrapassar pacotes

bloqueados e seguir em frente. Além disso, com a adoção de canais virtuais é possível oferecer

suporte a diferentes níveis de serviço. Nesse esquema, cada canal virtual possui um determinado

nível de prioridade e os fluxos de comunicação que trafegam pelos canais virtuais herdam essa

definição. De modo que os pacotes pertencentes a um fluxo de prioridade i poderão requisitar

apenas canais virtuais de prioridade i durante seu trajeto pela rede. E no caso de múltiplas

requisições ao mesmo canal físico os pacotes que possuem maior prioridade são atendidos antes

daqueles de menor prioridade (SHI, 2009, p. 35, 48).

2.4.1.1 Análise de escalonabilidade

A validação e análise de desempenho em sistemas de tempo real são cruciais para garantir

que os pacotes vão cumprir seus prazos, a abordagem adotada nesse processo pode ser baseada em

simulação ou analise algorítmica. No primeiro caso são construídos modelos de rede e padrões de

tráfego para simular o comportamento do sistema. Essa abordagem é bastante precisa, entretanto

pode ser muito demorada e avalia apenas os cenários explicitamente definidos. Desse modo, é

muito difícil cobrir todos os possíveis estados do sistema, tornando tal alternativa inadequada para

aplicações críticas. A análise algorítmica, por sua vez, assume propriedades de tráfego de pior caso

Page 36: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

35

e modelos abstratos de rede a partir dos quais são desenvolvidos algoritmos de avaliação de

desempenho (SHI, 2009, p. 54).

Com essa análise é possível determinar se as tarefas que executam e comunicam-se em uma

plataforma baseada em NoC cumprem todas as restrições de tempo impostas pelas características

específicas da aplicação. Para isso deve-se considerar a latência fim-a-fim de cada cadeia de tarefas,

o que corresponde às latências de computação e comunicação. Ou seja, o tempo necessário para o

núcleo processar e executar uma tarefa e o tempo necessário para realizar a comunicação dos dados

produzidos pela tarefa (INDRUSIAK, 2014).

2.5 MAPEAMENTO DE TAREFAS

As arquiteturas modernas de SoCs são constituídas de diversos núcleos, os quais são

interconectados por uma estrutura de comunicação baseada em NoCs de topologia malha. O

desenvolvimento dessa arquitetura de comunicação envolve muitas alternativas de projeto e impacta

fortemente na área ocupada, no desempenho, e no consumo de energia do sistema. Dentre os

principais problemas de pesquisa relacionados à NoCs, figuram o mapeamento e escalonamento de

tarefas (BOLCHINI et al., 2013; MARCULESCU et al., 2009).

O mapeamento de tarefas consiste em atribuir e ordenar as tarefas que compõem uma

aplicação e seus requisitos de comunicação aos recursos de uma plataforma alvo. Tendo como

objetivo a garantia de métricas de otimização, tais como, consumo de energia, vazão,

confiabilidade, entre outras (SINGH et al., 2013).

O mapeamento impacta no desempenho do sistema, pois, quando é realizado de maneira

ineficiente pode favorecer a ocorrência contenções na rede. Ou seja, pode causar a competição entre

um conjunto de tarefas por um determinado canal de comunicação. Portanto, se o mapeamento não

for adequado os índices de latência se elevam causando redução na vazão da rede (CHOU;

MARCULESCU, 2008).

O mapeamento também é importante para evitar problemas relacionados à temperatura do

chip, pois sistemas que apresentam elevado consumo de energia tendem a dissipar muito calor em

determinadas áreas da pastilha de silício. Essa variação na temperatura pode acarretar redução no

desempenho e degradação na confiabilidade. Nesse caso, a alocação das tarefas pode ser realizada

Page 37: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

36

de modo a promover o balanceamento na distribuição de temperatura, evitando o superaquecimento

de áreas específicas (COSKUN; ROSING; GROSS, 2009).

Em plataformas MPSoC (Multiprocessor System-on-Chip) compostas de múltiplos tipos de

EPs (Elementos de Processamento) o mapeamento de tarefas desempenha papel crítico. Isso porque

tais sistemas devem executar múltiplas aplicações com diversos requisitos de desempenho. Nesse

caso, o mapeamento deve permitir a exploração da heterogeneidade de modo a garantir o uso

eficiente da plataforma a um grande número de aplicações (PHAM et al., 2013).

Duas atividades precedem o mapeamento, sendo elas o particionamento da aplicação e a

ligação das tarefas (do inglês binding):

Particionamento da aplicação: consiste em particionar uma aplicação em um grafo,

onde cada vértice do grafo representa uma tarefa e cada aresta define a comunicação

entre tarefas (SMIT et al., 2004); e

Ligação das tarefas: as tarefas de uma determinada aplicação podem ser executadas

em diferentes tipos de EPs. A atividade de ligação se encarrega de assegurar a

atribuição das tarefas para os tipos adequados de recursos (CARVALHO, 2009, p.

61).

A Figura 5 ilustra um exemplo de mapeamento de duas aplicações concorrentes em uma

NoC de topologia malha 2-D com tamanho 3×3. Percebe-se na figura que em cada roteador “R” da

rede há um elemento de processamento anexado (EP1, EP2,..., EP9), o qual pode ser um

processador de propósito geral, DSP (Digital Signal Processor) ou um ASIC (Application Specific

Integrated Circuit).

As tarefas (T1, T2,..., T11) são atribuídas conforme o tipo de processamento a que

demandam. Na figura, a tarefa “T2” é mapeada em um núcleo ASIC, a tarefa “T10” por sua vez, é

posicionada em um núcleo DSP. As demais tarefas são mapeadas em processadores genéricos,

sendo que, nesse exemplo, três elementos executam mais de uma tarefa enquanto um quarto

processador fica ocioso.

Page 38: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

37

R

R R

R

R R

R

R

R

EP1 EP2 EP3

EP4 EP5 EP6

EP7 EP8 EP9

T1, T3,

T5, T11T7, T8

T4, T9,

T6T2

T10

Plataforma baseada em rede-em-chip

Processador de propósito geral

Processador de sinais digitais - DSP

ASIC

Conjunto de tarefas

d1 d2prazos:

T4T3T2

T5

T1

T6

T8 T9

T7

T10

T11

Mapeamento e

Escalonamento

Figura 5. Mapeamento de duas aplicações em uma NoC malha2-D de tamanho 3×3

Fonte: Adaptado de Pop (2011, p. 8).

2.5.1 Escalonamento de tarefas

O escalonamento compreende a ordenação temporal das tarefas e suas comunicações aos

recursos a que foram atribuídas, garantindo a exclusão mútua entre tarefas mapeadas no mesmo

recurso (POP, 2011, p. 9).

EP1T1

T7

T3 T5

T8EP2

T2EP4

T9 T4 T6EP5

T10EP7

T11

d1 d2

Figura 6. Escalonamento de tarefas

Fonte: Adaptado de Pop (2011, p. 9).

A Figura 6 exemplifica o escalonamento das aplicações ilustradas anteriormente na Figura 5,

observa-se que as tarefas atribuídas ao mesmo EP são executadas sequencialmente, e ainda nota-se

a necessidade de garantir a precedência entre as tarefas. Por exemplo, o processador “EP1” fica

Page 39: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

38

ocioso por três ciclos após a execução da tarefa “T5” aguardando o término da execução da tarefa

“T10” que precede a tarefa “T11”.

Ainda nessa figura, “d1” e “d2” representam os prazos das aplicações, ou seja, indicam o

tempo limite para execução de suas tarefas. Nesse exemplo os prazos foram cumpridos, pois a

tarefa “T6” finalizou antes do limite “d1” e a tarefa “T11” antes do limite “d2”.

As etapas de mapeamento e escalonamento de tarefas são críticas no desenvolvimento de

sistemas baseados em NoCs, tais questões podem ser tratadas independentemente ou de modo

integrado5. Embora a solução integrada possa fornecer melhores resultados, devido à complexidade

computacional envolvida esses problemas são tipicamente abordados separadamente (BOLANOS et

al., 2013; POP 2011, p. 7).

2.5.2 Classificação das técnicas de mapeamento

O mapeamento de tarefas pode ser classificado quanto aos tipos de EPs que compõem a

plataforma. Nessa classificação, as metodologias são desenvolvidas e aplicadas em plataformas

homogêneas ou heterogêneas, contendo núcleos idênticos ou distintos, respectivamente. Outra

taxonomia empregada considera o momento em que é realizado. Nesse caso, o mapeamento pode

ser dos tipos estático, dinâmico ou híbrido6 (SINGH et al., 2013).

2.5.2.1 Mapeamento estático

Realizado em tempo de projeto este tipo de mapeamento é adequado para cenários em que a

carga de trabalho é formada por um conjunto pré-definido de aplicações, cujos padrões de

comunicação e processamento são conhecidos com antecedência (SINGH et al., 2013).

O mapeamento estático de tarefas é apropriado para plataformas específicas em que não

existe a previsão de que novas aplicações sejam adicionadas em tempo de execução. O algoritmo de

mapeamento conta com informações privilegiadas a respeito da plataforma, tais como: topologia da

aplicação, volume e taxa de comunicação entre as tarefas e uso total do sistema. Além disso, o

5Este trabalho, situa-se no contexto do mapeamento de tarefas de aplicações de tempo real em um SoC baseado em

NoC, de modo a assegurar o cumprimento de prazos de entrega de mensagens trocadas entre as tarefas. O trabalho não

aborda questões referentes ao cumprimento de prazos de execução das tarefas no elemento de processamento. 6 Também denominado mapeamento semi-estático, como observado em (HUANG et al., 2011b) e (KWOK et al., 2006)

Page 40: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

39

tempo de execução do algoritmo de mapeamento não é a principal preocupação, pois não influencia

no tempo de execução (CARVALHO; CALAZANS; MORAES, 2010).

Nessa abordagem é possível empregar técnicas que encontram a solução ótima ou quase

ótima para o problema. O elevado custo computacional e o tempo necessário à exploração do

espaço de projeto não tem grande importância, uma vez que a solução encontrada será utilizada

durante todo o período de vida do sistema (RUGGIERO et al., 2006).

Apesar de permitir a exploração ampla do espaço de projeto, o mapeamento estático sofre de

falta de flexibilidade, pois todas as aplicações devem ser definidas antecipadamente. Portanto, essa

abordagem é incapaz de lidar com mudanças na disponibilidade de recursos ou situações em que o

tempo de execução de uma aplicação não é conhecido a priori (BOLCHINI et al., 2013).

Apesar da limitação acima, cabe-se destacar que sistemas de tempo real críticos devem

possuir alto grau de previsibilidade. Por isso, o mapeamento estático mostra-se adequado para esse

tipo de sistema, dado que, tipicamente, novas aplicações não serão adicionadas ao sistema7. Além

disso, conforme Mesidis (2011, p. 41), mapeamentos dinâmicos são inadequados para sistemas de

tempo real, pois seria impossível analisar todos os estados do sistema em tempo de execução e

assegurar o cumprimento dos prazos.

2.5.2.2 Mapeamento dinâmico

Realizado em tempo de execução, essa abordagem visa mapear dinamicamente tarefas aos

recursos da plataforma com o objetivo de atender os cenários em que novas aplicações podem ser

adicionadas ou as características das tarefas em execução podem ser ajustadas (SINGH et al., 2013).

O mapeamento dinâmico se adéqua a situações em que ocorre a realocação das tarefas nos

recursos disponíveis, devido a mudanças nas condições de operação da plataforma. Adicionalmente

a isso, também é possível prover tolerância a faltas. Nos casos de falta em algum recurso, o sistema

pode migrar as tarefas afetadas para recursos não faltantes (BOLANOS et al., 2013).

Ao contrário da abordagem estática, nesse tipo de mapeamento o tempo necessário para

definir o posicionamento das tarefas é de extrema importância, pois influencia no tempo de

execução da aplicação. Por isso, é necessário empregar algoritmos de baixa complexidade para

7Este trabalho aborda o uso de mapeamento estático de aplicações de tempo real em sistemas baseados em NoC.

Page 41: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

40

acelerar o tempo de resposta às requisições imprevisíveis (CARVALHO; CALAZANS; MORAES,

2010; BRAAK et al., 2010).

O mapeamento dinâmico tem potencial para produzir melhores soluções em comparação ao

mapeamento estático, porém apresenta dispêndio em tempo e consumo de energia. Além disso,

devido às limitações de recursos computacionais disponíveis em tempo de execução as técnicas de

mapeamento dinâmico não conseguem garantir os requisitos de vazão das aplicações (PHAM et al.,

2013; POP, 2011, p. 9).

2.5.2.3 Mapeamento Híbrido

Enquanto as técnicas de mapeamento estático são incapazes de lidar com o dinamismo das

aplicações em tempo de execução, as estratégias de mapeamento dinâmico não garantem o

cumprimento dos prazos. Uma abordagem híbrida realiza o cálculo das alternativas de mapeamento

em tempo de projeto e emprega as informações resultantes em tempo de execução (SINGH;

KUMAR; SRIKANTHAN, 2013).

O mapeamento híbrido é realizado em duas etapas, uma em tempo de projeto e a outra em

tempo de execução. Primeiramente, em tempo de projeto, são identificadas as possíveis alternativas

de mapeamento para as aplicações que serão suportadas pela plataforma. Posteriormente, em tempo

de execução, as informações geradas na etapa de projeto são empregadas no mapeamento das

tarefas. Portanto, quando ocorre mudança no conjunto de aplicações em execução as informações

de configuração de mapeamento são recuperadas e aplicadas. Essa abordagem oferece um bom

equilíbrio entre desempenho e flexibilidade. Porém, é limitada quanto à escalabilidade uma vez que

a quantidade de configurações cresce exponencialmente com a quantidade de aplicações (HUANG

et al., 2011b).

2.5.3 Modelos relevantes para mapeamento de tarefas

Os modelos necessários para exploração do mapeamento de tarefas para NoCs são: (i)

modelos das aplicações; (ii) modelo de plataforma; (iii) restrições de desempenho e custo; e (iv)

função objetivo (POP, 2011, p. 5).

Page 42: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

41

2.5.3.1 Modelo de aplicação

Segundo Ogras e Marculescu (2013, p. 43) a aplicação pode ser modelada em diferentes

níveis de granularidade dependendo do estágio de desenvolvimento. Quando as tarefas ainda não

foram vinculadas aos elementos de processamento utiliza-se um grafo de comunicação entre tarefas,

denominado CTG (Communication Task Graph). Nesse grafo, os vértices representam as tarefas e

as arestas especificam as dependências de controle e dados:

Grafo de comunicação entre tarefas: em um grafo (CTG) 𝐺 ′ = 𝐺 ′(𝑇,𝐺), cada vértice

𝑡𝑖 ∈ 𝑇 representa uma tarefa de uma determinada aplicação. Cada tarefa 𝑡𝑖 é anotada

com informações relevantes, tal como o tempo de execução em cada tipo de núcleo,

consumo de energia quando executado, prazo (deadline) da tarefa 𝑑(𝑡𝑖), etc. Cada

aresta 𝑐𝑖,𝑗 ∈ 𝐶 caracteriza a dependência de dados ou controle entre as tarefas 𝑡𝑖 e 𝑡𝑗 .

As arestas 𝑐𝑖 ,𝑗 contém ainda um valor associado 𝑣(𝑐𝑖,𝑗 ), o qual indica o volume de

comunicação entre 𝑡𝑖 e 𝑡𝑗 .

Por outro lado, se as tarefas já foram atribuídas aos elementos de processamento utiliza-se

um grafo APCG (Application Characterization Graph) formalmente definido do seguinte modo:

Grafo de caracterização de aplicação: em um grafo (APCG) 𝐺 = 𝐺(𝐶,𝐴), cada

vértice 𝑐𝑖 ∈ 𝐶 representa um núcleo e cada aresta 𝑎𝑖 ,𝑗 ∈ 𝐴 caracteriza o processo de

comunicação do núcleo 𝑐𝑖 com o núcleo 𝑐𝑗 . Cada aresta 𝑎𝑖 ,𝑗 pode ser rotulada com

informações específicas da aplicação, tal como o volume de comunicação 𝑣(𝑎𝑖,𝑗 )

entre os vértices, além de outras especificações de projeto.

2.5.3.2 Modelo de plataforma

Ainda conforme Ogras e Marculescu (2013, p. 42) a arquitetura de uma NoC pode ser

definida pela tripla 𝐴𝑟𝑐ℎ (𝑇 𝑅,𝐶ℎ ,𝑃𝑅 ,Ω 𝐶 ), onde:

O grafo 𝑇(𝑅,𝐶ℎ) representa a topologia da rede, sendo que 𝑅 corresponde aos

roteadores e 𝐶ℎ aos canais de comunicação, tal que:

∀ 𝑐ℎ ∈ 𝐶ℎ,𝑤(𝑐ℎ) define a largura de banda do canal 𝐶ℎ;

∀𝑟 ∈ 𝑅, 𝑙 𝑑, 𝑟 indica a profundidade do buffer do canal 𝑑 localizado no roteador 𝑟;

Page 43: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

42

∀𝑟 ∈ 𝑅,𝑃𝑜𝑠 𝑟 define a coordenada xy do roteador 𝑟 na arquitetura;

𝑃𝑅 𝑟, 𝑖, 𝑗 𝑖, 𝑗, 𝑟 ∈ 𝑅 define a política de roteamento 𝑃𝑅 para o roteador 𝑟, para

qualquer roteador fonte 𝑖, destino 𝑗;

Ω:𝐶 → 𝑅 representa a função que mapeia cada vértice 𝑐𝑖 ∈ 𝐶 de um grafo de

aplicação para um roteador 𝑅.

2.5.3.3 Modelos de consumo de energia

Esta subseção apresenta dois modelos para avaliação da energia consumida em NoCs, os

quais serão referenciados como energia por pacote e energia por bit.

Energia por pacote

Um dos modelos de consumo de energia para NoCs disponível na literatura especializada e

empregado na avaliação de técnicas de mapeamento foi desenvolvido por Palesi et al. (2011). Nesse

modelo os autores consideram a potência dissipada na transmissão de um pacote de dados de um

elemento de processamento fonte 𝐸𝑃𝑠 para um destino 𝐸𝑃𝑑 envolvendo ℎ canais de comunicação. A

potência dissipada pode ser expressa pela equação (4), onde n corresponde à quantidade de flits,

𝑃𝑅(𝐻)

e 𝑃𝑅(𝐵)

representam a potência dissipada pelo roteador para encaminhar flits de cabeçalho e de

corpo de mensagem, respectivamente. Com 𝑃𝑁𝐼 representa-se a dissipação de potência na interface

de rede e com 𝑃𝐿 a dissipação de potência para transferir um flit pelo canal de comunicação.

𝑃 𝑝𝑘𝑡 = 2 𝑛 + 1 𝑃𝑁𝐼 + ℎ + 1 𝑃𝑅 𝐻 + ℎ + 1 𝑃𝑅

𝐵 + ℎ(𝑛 + 1)𝑃𝐿 (4)

Energia por bit

Outro modelo comumente adotado considera a energia consumida quando um bit de dado

trafega pelo roteador de uma NoC. O cálculo da energia consumida por um bit 𝐸𝑏𝑖𝑡 corresponde à

soma da energia consumida no roteador 𝐸𝑆𝑏𝑖𝑡 e a energia consumida no canal de comunicação 𝐸𝐿𝑏𝑖𝑡 ,

conforme indica a equação (5). Logo, o consumo médio de energia para enviar um bit de um nodo

𝑡𝑖 para um nodo 𝑡𝑗 pode ser calculado pela equação (6). Onde, 𝑛ℎ𝑜𝑝𝑠 indica a quantidade de

roteadores no caminho entre 𝑡𝑖 e 𝑡𝑗 (HU; MARCULESCU, 2004).

Page 44: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

43

𝐸𝑏𝑖𝑡 = 𝐸𝑆𝑏𝑖𝑡 + 𝐸𝐿𝑏𝑖𝑡 (5)

𝐸𝑏𝑖𝑡

𝑡𝑖 ,𝑡𝑗 = 𝑛ℎ𝑜𝑝𝑠 × 𝐸𝑆𝑏𝑖𝑡 + 𝑛ℎ𝑜𝑝𝑠 − 1 × 𝐸𝐿𝑏𝑖𝑡 (6)

2.5.4 Técnicas para o mapeamento de tarefas em NoCs

Alguns problemas são tão complexos que não é viável encontrar uma solução ótima, em tais

situações é importante descobrir uma solução aproximada (HILLIER; LIEBERMAN, 2013, p. 581).

O mapeamento de tarefas se enquadra nessa classe de problemas, apresenta complexidade ,

onde representa o número de tarefas. Dessa forma, um sistema composto de 16 tarefas terá

20.922.789.888.000 possíveis combinações de mapeamento. Nesse caso, uma exploração exaustiva

é impraticável (HU; MARCULESCU, 2005).

Para tratar essa espécie de problema são comumente empregados métodos heurísticos, os

quais resultam em soluções aproximadas. Tais métodos se baseiam em idéias simples de senso

comum adaptadas para adequação ao problema de interesse, tipicamente são desenvolvidos para

resolver problemas específicos. Em contrapartida, uma meta-heurística compreende a um método

de resolução generalista que fornece estrutura e diretrizes gerais para o desenvolvimento de

heurísticas (HILLIER; LIEBERMAN, 2013, p. 581).

Considere-se como exemplo o gráfico de uma função objetivo ilustrado na Figura 7 em que

se deseja encontrar o valor máximo da função. Como indicado na figura, o problema possui três

soluções ótimas, sendo elas, e , a melhor solução está indicada na figura como

“ótimo global”. Um método heurístico simples que pode ser aplicado a este problema é a condução

de uma busca de melhoria local. Para isso, inicia-se com uma solução experimental em que, a cada

iteração da heurística, realiza-se uma nova busca na vizinhança dessa solução, visando encontrar

uma solução melhor.

)!(n

n

20,5 xx 31x

Page 45: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

44

Figura 7. Soluções ótimas locais

Fonte: Adaptado de Hillier e Lieberman (2013, p. 582).

O problema com essa abordagem consiste no fato de que a solução ótima encontrada

dependerá do ponto onde o procedimento inicia a busca. Isso ocorre porque as heurísticas de busca

local param de realizar novas buscas quando atingem um valor ótimo. Ou seja, se a heurística

iniciar em , ela irá convergir para o ótimo local e não será capaz de atingir o ótimo

global , pois as novas buscas realizadas na vizinhança vão retornar valores inferiores ao

valor ótimo já encontrado.

Portanto, meta-heurística é um método de resolução geral que confere aos procedimentos

de melhoria local a capacidade de escapar dos ótimos locais e realizar uma busca consistente em

uma região de soluções viáveis. As meta-heurísticas mais utilizadas são a Busca Tabu, Simulated

Annealing e Algoritmos Genéticos (HILLIER; LIEBERMAN, 2013, p. 584).

2.5.4.1 Busca Tabu

Busca Tabu é uma meta-heurística que guia uma heurística de busca local a explorar o

espaço de solução além do ótimo local. Um dos principais componentes da Busca Tabu é o uso de

memória adaptativa que confere ao processo de busca um comportamento mais flexível (GLOVER;

LAGUNA, 1997, p. 3).

O processo com que a Busca Tabu supera o problema do ótimo local é baseado em uma

função de avaliação que escolhe a melhor solução a cada iteração, movendo-se para a melhor

f(x)

5 10 15 20 25 300

1 x 10e6

2 x 10e6

3 x 10e6

4 x 10e6

5 x 10e6

x

ótimo local

ótimo local

ótimo global

0x 5x

20x

Page 46: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

45

solução admissível na vizinhança da solução atual. A função de avaliação seleciona o movimento

que produz o maior aumento ou o menor decréscimo da função objetivo. Uma lista de tabus é

utilizada para armazenar características de movimentos aceitos e, portanto evitar que o algoritmo de

busca retorne a uma solução visitada recentemente (PHAM; KARABOGA, 2000, p. 8).

2.5.4.2 Simulated Annealing

A meta-heurística recozimento simulado (do inglês Simulated Annealing) é baseada na

analogia ao processo físico de recozimento. Esse processo consiste em fundir um metal ou vidro e

posteriormente resfriá-lo lentamente, até que o nível de energia dos átomos esteja baixo e a

substância atinja propriedades físicas convenientes. As propriedades estruturais desse material vão

depender da taxa de resfriamento (HILLIER; LIEBERMAN, 2013, p. 600).

Essa analogia consiste em introduzir um parâmetro de controle no processo de otimização

para representar o papel da temperatura, simbolizando desse modo o mesmo efeito da temperatura

no sistema físico. Esse parâmetro determinará o número de estados acessíveis e levará ao estado

ótimo global se for reduzida lenta e gradativamente. Por outro lado, se a redução da temperatura for

abrupta conduzirá o processo de busca a um ótimo local (DRÉO et al., 2006, p. 25).

2.5.4.3 Algoritmos genéticos

Um algoritmo genético é um processo de busca iterativo inspirado na teoria da evolução.

Esse processo usualmente inicia com um conjunto aleatório de soluções, ao que se denomina

população. Adotam-se funções de seleção para optar pela manutenção ou descarte de partes dessa

população, além disso, soluções adicionais são criadas pela aplicação de operadores de mutação e

cruzamento (MESIDIS; INDRUSIAK, 2011).

Diversas questões devem ser tratadas no desenvolvimento de um algoritmo genético

Ahn(2006, p. 11):

Representação: relaciona-se com o esquema de codificação dos indivíduos, os quais

são representados geralmente por strings de bits;

Inicialização: define o tamanho da população e qual o método de inicialização, no

último caso pode ser randômico ou baseado em heurísticas;

Page 47: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

46

Função objetivo: a função de objetivo interpreta a representação física dos indivíduos

e avalia sua aptidão, visando medir a qualidade dos indivíduos em uma população;

Operadores genéticos: devem ser cuidadosamente projetados, pois afetam o

desempenho do algoritmo, sendo eles:

o Reprodução: o objetivo do procedimento de reprodução é criar mais cópias de

indivíduos com maior aptidão;

o Cruzamento: o cruzamento gera dois novos indivíduos (filhos) a partir de um par de

indivíduos (pais) existentes. O cruzamento de pais dominantes tem maior

probabilidade de produzir descendentes dominantes; e

o Mutação: é o processo em que todos os indivíduos de uma população têm alguns bits

invertidos randomicamente a uma determinada taxa. Esse operador força o algoritmo

a pesquisar novas áreas, auxilia a evitar a convergência prematura e a encontrar a

solução ótima global.

O fluxo de funcionamento de um algoritmo genético está ilustrado na Figura 8, o processo

inicia com a criação randômica de uma população de soluções, as quais são avaliadas no contexto

do problema que está sendo otimizado. Ou seja, realiza-se o cálculo da função objetivo para cada

indivíduo da população. Após isso, os indivíduos são classificados quanto a sua eficiência na

solução do problema. Em seguida, se o critério de parada ainda não foi alcançado a população é

submetida aos operadores de reprodução, cruzamento e mutação. Com isso uma nova população é

criada, o contador de geração é incrementado e finaliza-se uma iteração do algoritmo (DEB, 2001,

p. 84).

Page 48: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

47

Figura 8. Fluxo de funcionamento de um algoritmo genético

Fonte: Adaptado de Deb (2001, p. 83).

2.5.4.4 Algoritmos genéticos para otimização multiobjetivo

Os algoritmos genéticos estão entre as meta-heurísticas mais populares no tratamento de

problemas multiobjetivo, onde duas ou mais métricas devem ser otimizadas simultaneamente, sendo

que em geral essas métricas são conflitantes. Para a maioria dos problemas multiobjetivo não há

uma solução única, pelo contrário, existe um conjunto de possíveis soluções que representam um

bom compromisso (ou tradeoff) entre as métricas de interesse. Para identificar essas soluções os

algoritmos de otimização multiobjetivo adotam o teorema de Pareto, o qual estabelece que uma

determinada solução deve ser considerada superior a outra se apresentar melhor desempenho em ao

menos uma métrica avaliada e não inferior nas demais métrica. Desse modo, o conjunto de tais

soluções é chamado de conjunto não dominado ou fronteira de Pareto (COELLO, 2006).

Uma série de algoritmos genéticos multiobjetivo estão documentados na literatura

especializada, dentre eles o NSGA-II desenvolvido por Deb et al. (2002). A Figura 9 ilustra o

procedimento adotado por esse algoritmo, o qual inicia com uma população combinada 𝑅𝑡 = 𝑃𝑡 ∪

𝑄𝑡 . Onde 𝑃𝑡 corresponde a uma população de indivíduos pais gerada randomicamente, os quais são

submetidos aos processos de reprodução, cruzamento e mutação para originar a população de

descendentes 𝑄𝑡 . A população combinada 𝑅𝑡 é classificada quanto ao critério de não dominação, e

Page 49: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

48

uma vez que todos os indivíduos participam desse processo a escolha dos mais aptos é garantida. As

soluções pertencentes aos conjuntos não dominados são as melhores soluções encontradas na

população 𝑅𝑡 , onde o conjunto 𝐹1corresponde às soluções dominantes, 𝐹2 são as soluções

dominadas pelo conjunto 𝐹1 mas que dominam as demais soluções e assim sucessivamente.

Ao contrário da primeira geração de indivíduos, que foi gerada randomicamente, a nova

população 𝑃𝑡+1 e as demais populações serão formadas pelos conjuntos de soluções dominantes.

Sendo que são selecionadas 𝑁 soluções de melhor desempenho enquanto as demais soluções são

descartadas. Conforme ilustra a Figura 9, a população presente abaixo da linha tracejada não evolui

para a geração seguinte.

Figura 9. Procedimento do algoritmo NSGA-II

Fonte: Adaptado de Deb et al. (2002).

2.5.4.5 Outras abordagens

Diversas técnicas alternativas podem ser empregadas no mapeamento de tarefas, entre elas o

modelo matemático de programação linear inteira ILP (Integer Linear Programming). Esse é um

tipo de otimização em que todas as funções são lineares e as variáveis podem assumir apenas

valores discretos (GOLDBARG; LUNA, 2000, p. 32). Entretanto, devido ao elevado custo

computacional a abordagem matemática é adequada apenas para problemas com reduzido número

de núcleos (RUGGIERO et al., 2006).

Page 50: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

49

Além das meta-heurísticas e da abordagem matemática, diversas soluções tem sido

propostas para tratar o mapeamento de tarefas. Isso pode ser comprovado no Capítulo 3 em que são

apresentados oito trabalhos relacionados a esse tema.

2.6 CONSIDERAÇÕES

Este capítulo apresentou a base teórica necessária ao entendimento do contexto em que o

presente trabalho está inserido. Inicialmente foram discutidos os problemas relacionados às

arquiteturas de comunicação baseadas em barramentos, os quais tornam tal abordagem inadequada

para SoCs com maior densidade de núcleos. As NoCs, apresentadas pela indústria e pela

comunidade científica como uma alternativa, foram abordadas na sequência. Posteriormente, foram

apresentados conceitos relacionados ao consumo de energia e também sistemas de tempo real. Após

isso, o foco principal desse capítulo discorre sobre o mapeamento de tarefas em NoCs. Algumas

técnicas comumente adotadas na solução do problema do mapeamento foram conceituadas e

classificadas. No capítulo a seguir são apresentadas algumas das abordagens adotadas atualmente

no tratamento desse problema.

Page 51: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

50

3 TRABALHOS RELACIONADOS

Este capítulo apresenta alguns dos trabalhos mais recentes sobre mapeamento de tarefas

aplicado na redução do consumo de energia, os quais são descritos nas seções a seguir quanto às

técnicas propostas e os resultados alcançados. Os artigos aqui descritos refletem o panorama geral

das propostas publicadas no período de 2009 a 2013, bem como a diversidade de soluções e

objetivos de otimização. Cada seção contém a descrição de uma publicação juntamente com um

quadro resumo das principais características identificadas. As seções finais apresentam uma análise

comparativa e as considerações.

3.1 COMPARATIVO ENTRE TÉCNICAS ESTÁTICAS E DINÂMICAS

No trabalho realizado por Carvalho et al. (2009), foram avaliados quatro algoritmos de

mapeamento de tarefas, sendo dois estáticos e dois dinâmicos. Ambos os algoritmos foram

empregados no mapeamento de tarefas em uma plataforma MPSoC de núcleos homogêneos

conectados por NoC.

Para o mapeamento estático, os autores adotaram as heurísticas Simulated Annealing e

Busca Tabu. No mapeamento dinâmico, foram empregadas as heurísticas PL (Path Load), que

realiza o mapeamento a partir dos caminhos derivados da primeira tarefa mapeada, e BN (Best

Neighbor), em que o método de busca por nodos disponíveis na plataforma é realizado em espiral a

partir da tarefa inicial. O ambiente de experimentação consistiu em dois cenários, sendo que, no

primeiro, é realizado o mapeamento de uma única aplicação em uma plataforma MPSoC com 5×4

elementos e, no segundo, foram mapeadas oito aplicações concorrentes em outra plataforma de

tamanho 9×9. Em ambos os experimentos foram empregadas a topologia em malha e a interconexão

por NoC.

As técnicas de mapeamento dinâmico apresentaram desempenho inferior às estáticas, em

relação à taxa de ocupação dos canais da rede, latência dos pacotes, e o tempo de execução.

Entretanto, a métrica que sofreu maior influência nos experimentos realizados foi o consumo de

energia, o qual demonstrou aumento de 38% no primeiro cenário de avaliação e 15,5% no segundo.

De acordo com os autores o custo adicional causado pela utilização da técnica de mapeamento

Page 52: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

51

dinâmico é pouco significativo, uma vez que esta abordagem oferece grande flexibilidade ao

sistema, permitindo que a plataforma se adapte às necessidades das aplicações.

Quadro 2. Principais características apresentadas em Carvalho et al. (2009)

Característica Abordagens adotadas

Arquitetura MPSoC - homogêneo - monotarefa

Comunicação por NoC - malha 2-D

Mapeamento Estático: Simulated Annealing, Busca Tabu

Dinâmico: Path Load, Best Neighbour

Otimização Consumo de energia

Redução de contenções

Modelos Aplicação: grafo CWM

Energia por bit

Ferramentas de apoio TGFF – Modelos da rede em VHDL e dos EPs em SystemC

Benchmarks Aplicações multimídia e sintéticas

3.2 HEURÍSTICA PARA O MAPEAMENTO E ROTEAMENTO

No trabalho realizado por Tosun (2011), foi desenvolvido um algoritmo denominado

CastNet, o qual é adotado no mapeamento estático de tarefas em NoCs de topologia malha 2-D.

Esse algoritmo busca reduzir o consumo de energia posicionando as tarefas com maior volume de

comunicação em núcleos adjacentes. Após realizar o mapeamento a heurística identifica as rotas de

comunicação que apresentam caminhos mínimos e que requerem menor largura de banda da rede,

finalizando com a configuração das tabelas de roteamento.

No algoritmo CastNet, as tarefas são mapeadas de acordo com uma ordem de prioridade, a

qual é definida pelo volume de comunicação, ou seja, quanto maior a demanda de comunicação de

uma tarefa maior é a sua prioridade. Após identificar a tarefa inicial, o algoritmo seleciona um

núcleo dentre um grupo de núcleos candidatos a sua alocação. Esses candidatos compreendem a

amostra de um núcleo de cada grupo de núcleos simétricos, sendo que tal simetria é definida pelo

número canais de comunicação disponíveis em cada núcleo. As demais tarefas são mapeadas a

partir da tarefa inicial, mantendo próximas aquelas com maior índice de comunicação entre si. Esse

processo é repetido para cada núcleo candidato e o algoritmo seleciona o mapeamento que

apresentar o menor consumo total de energia.

Já o algoritmo para geração da tabela de roteamento, por sua vez, busca determinar o

caminho de comunicação entre núcleos que oferece o menor consumo de banda da rede. Isso é

Page 53: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

52

realizado pela análise da largura de banda máxima para comunicação entre cada par de núcleos, o

caminho de menor custo é selecionado e as tabelas de roteamento são atualizadas adequadamente.

Para a avaliação da técnica desenvolvida o autor empregou oito grafos de tarefas, dentre os

quais seis são aplicações multimídia e dois foram gerados randomicamente. Em média, cada grafo é

composto de 17 vértices e 18 arestas. Para avaliar o consumo de energia, foi adotado um modelo

baseado em uma tecnologia CMOS equivalente a 100 nm, o qual é descrito por Srinivasan, Chatha e

Konjevod (2006). As aplicações foram mapeadas utilizando a técnica descrita e outras três

alternativas, uma delas consiste em uma solução baseada em programação linear e as outras duas

são heurísticas. Os resultados quanto à economia no consumo de energia e de largura de banda de

comunicação não foram expressivos. Porém, segundo o autor, o principal diferencial do trabalho

realizado se concentra na baixa complexidade da técnica criada.

Quadro 3. Principais características apresentadas em Tosun (2011)

Característica Abordagens adotadas

Arquitetura SoC - homogêneo - monotarefa

Comunicação por NoC - malha 2-D

Mapeamento Estático

Heurística: tarefa inicial selecionada com base no volume de comunicação

Otimização Consumo de energia: exploração da localidade

Minimização da largura de banda requerida

Modelos Grafos de aplicação e plataforma

Energia por bit8

Ferramentas de apoio Informação não identificada

Benchmarks Aplicações multimídia e sintéticas

3.3 MAPEAMENTO BASEADO EM PROGRAMAÇÃO LINEAR

No trabalho realizado por Huang et al. (2011a), foi desenvolvido um modelo de

programação linear para tratar o problema do mapeamento estático de tarefas em MPSoCs

heterogêneos. Visando, com isso, otimizar o consumo de energia nos elementos de processamento e

nos canais de comunicação. Para acelerar o processo de otimização, os autores também criaram uma

heurística baseada em Simulated Annealing, a qual realiza o mapeamento quase ótimo das tarefas,

porém com reduzido tempo de execução, tornando mais rápido o processo de otimização.

8Modelo descrito em Ye, Benini e De Micheli (2002).

Page 54: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

53

O modelo de programação linear projetado, estende o formalismo descrito por Goraczko et

al. (2008), o qual avalia apenas o consumo de energia dos elementos que processam as tarefas. No

modelo estendido, a otimização também considera o consumo de energia decorrente da

comunicação entre as tarefas. Para acelerar o processo de otimização, que pode ter elevado custo

computacional quando aplicado em sistemas complexos, os autores criaram uma heurística baseada

em Simulated Annealing. Essa heurística consiste em um algoritmo parametrizável que permite a

configuração da quantidade de iterações e, deste modo, pode ser adaptada às necessidades da

aplicação alvo. O algoritmo inicia ordenando as tarefas de acordo com um critério que se baseia na

diferença de custo (consumo de energia) entre as duas melhores alternativas de mapeamento de uma

tarefa. Isso é realizado para garantir que as tarefas que oferecem melhor ganho sejam avaliadas nas

primeiras iterações. Continuando, em cada iteração, o algoritmo realoca uma tarefa selecionada

randomicamente, calcula o consumo de energia do novo mapeamento e compara com o anterior.

Caso o novo mapeamento apresente menor consumo de energia, este se torna a alternativa atual.

Caso contrário, a substituição do mapeamento antigo pelo novo será definida por uma função de

probabilidade. Um processo semelhante é realizado para identificar mapeamentos que melhoram as

propriedades de temporização.

Os experimentos de avaliação foram realizados em uma plataforma MPSoC, com 3×3

núcleos e topologia em malha, empregando 5 tipos de processadores. A geração das tarefas foi

realizada pela ferramenta TGFF9 (DICK; RHODES; WOLF, 1998). Nos experimentos

comparativos dos modelos de programação linear, os autores identificaram redução no consumo de

energia de 15% em média. Neste caso, tomando como base o modelo que otimiza o consumo de

energia nos processadores e nas operações de comunicação, frente ao modelo que otimiza apenas o

consumo de energia nos processadores. Os experimentos de avaliação da heurística demonstraram

um desempenho aproximadamente 5% inferior ao obtido pelo processo de programação linear.

Porém, apresentou melhor tempo de execução, considerando 1000 iterações do algoritmo, o que

permite reduzir o tempo necessário para exploração do espaço de projeto em sistemas complexos.

9TGFF é uma ferramenta de geração de grafos para caracterização de aplicações, a configuração das características das

tarefas geradas é controlada pelo usuário. Isso permite a reprodução de benchmarks gerados por diferentes usuários.

Page 55: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

54

Quadro 4. Principais características apresentadas em Huang et al. (2011a)

Característica Abordagens adotadas

Arquitetura MPSoC- heterogêneos

Comunicação por NoC - malha 2-D

Mapeamento Estático

Simulated Annealing com avaliação de deadline

Otimização Consumo de energia na comunicação e computação

Modelos Aplicação: DAG (Direc tAcyclic Graph)

Plataforma – grafo não direcionado

Ferramentas de apoio TGFF

Benchmark Aplicações sintéticas

3.4 EXPLORAÇÃO DO PARTICIONAMENTO DE TAREFAS

No trabalho desenvolvido por Antunes et al. (2012), foram explorados o particionamento e

mapeamento de tarefas em MPSoC homogêneos. Na abordagem adotada, a qual é realizada em duas

etapas, os autores dividem as tarefas de uma aplicação em grupos, buscando reunir aquelas mais

comunicantes. Na sequência, em tempo de execução, esses grupos de tarefas são mapeados nos

tiles10

da plataforma MPSoC.

Durante a fase estática da técnica, são criados grupos com as tarefas de uma determinada

aplicação considerando a taxa de comunicação entre elas. Esse particionamento é realizado

empregando a técnica Simulated Annealing, a qual visa minimizar o volume total de comunicação.

Na etapa dinâmica, por sua vez, uma nova heurística é utilizada na procura dentre os grupos de

tarefas por algum que possua pelo menos uma tarefa já atribuída a um tile. Caso encontre, as tarefas

desse grupo serão preferencialmente mapeadas no mesmo tile. Caso contrário, o algoritmo seleciona

o mapeamento que resulta em menor consumo total de energia.

Os autores adotaram o modelo de consumo de energia por bit trafegado, o qual foi calibrado

por simulação em tecnologia CMOS de 70 nm, apresentando erro aproximado de 7%. Para

avaliação da técnica, foram particionadas e mapeadas 66 aplicações sintéticas e 4 aplicações reais,

apresentando em média 23.5% de redução no consumo.

10

Em português, o termo tile pode ser substituído por “Lajota”. Entretanto, neste trabalho optou-se pelo uso desse termo

em sua língua original.

Page 56: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

55

Quadro 5. Principais características apresentadas em Antunes et al. (2012)

Característica Abordagens adotadas

Arquitetura MPSoC- homogêneo - multitarefa

Comunicação por NoC- malha 2-D

Mapeamento

Híbrido

Fase estática: Particionamento com Simulated Annealing

Fase dinâmica: heurística

Otimização Volume de comunicação

Consumo de energia na comunicação pela exploração da localidade

Modelos Grafos de aplicação, comunicação e plataforma

Energia por bit – tecnologia CMOS 70 nm

Ferramentas de apoio Framework MPSoC – CAFES (MARCON et al., 2011)

Benchmark Aplicações reais e sintéticas

3.5 MAPEAMENTO PARA SISTEMAS DE TEMPO REAL

Sayuti e Indrusiak (2013), utilizaram algoritmos genéticos no mapeamento estático de

tarefas em um sistema multi-core com arquitetura de comunicação baseada em NoCs. A técnica de

mapeamento empregada visa reduzir o consumo de energia enquanto mantém os requisitos de

comunicação do sistema, garantindo o cumprimento dos prazos (deadlines) das tarefas e fluxos de

pacotes. A técnica desenvolvida, a qual pode ser empregada em aplicações de tempo real críticas,

consiste em um mecanismo de otimização multiobjetivo baseado no algoritmo genético NSGA-II

(DEB et al., 2002). A plataforma, é composta por núcleos de processamento homogêneos

multitarefa conectados por uma NoC de canais preemptivos. Foram empregados modelos

matemáticos para estimativa de consumo de energia e latência, descritos em Palesi et al. (2011) e

Shi, Burns e Indrusiak (2010), respectivamente.

O mecanismo de otimização visa garantir o cumprimento dos prazos das aplicações pela

minimização do número de tarefas e fluxos não escalonáveis. Ou seja, minimizar a quantidade de

tarefas cujo, tempo de execução de pior caso é maior que o tempo disponível para execução e,

fluxos com latência de pior caso maior que o prazo da tarefa fonte. O algoritmo idealizado gera

diversas alternativas de mapeamento, dentre essas, é selecionada a solução com o menor número de

tarefas não escalonáveis. Se mais de uma solução oferecer o mesmo índice de tarefas não

escalonáveis, aquela com menor consumo de energia é selecionada.

Para avaliar a técnica, foram mapeadas duas aplicações, uma aplicação real de um veículo

autônomo, composta de 33 tarefas e 38 mensagens, e uma aplicação sintética, composta de 50

Page 57: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

56

tarefas e 50 mensagens de tempo real. O mapeamento realizado com o algoritmo desenvolvido foi

comparado com outras três alternativas: algoritmo genético mono objetivo, vizinho mais próximo e

mapeamento randômico. Os resultados experimentais demonstraram que, o mapeamento obtido

com o algoritmo multiobjetivo atinge todos os requisitos de tempo, e ainda reduz consideravelmente

o consumo de energia.

Quadro 6. Principais características apresentadas em Sayuti e Indrusiak (2013)

Característica Abordagens adotadas

Arquitetura MPSoC - homogêneo - multitarefa

Comunicação por NoC - malha 2-D - canais virtuais preemptivos

Mapeamento Estático

NSGA-II

Otimização Cumprimento de prazos

Consumo de energia

Modelos Aplicação: grafo - escalonabilidade: equações

Energia por pacote

Ferramentas de apoio Framework de simulação codificado em Java

Benchmark Aplicações reais e sintéticas

3.6 MAPEAMENTO HÍBRIDO EM PLATAFORMAS HETEROGÊNEAS

O trabalho desenvolvido por Pham et al. (2013), aborda o mapeamento híbrido de tarefas,

no qual são otimizados o consumo de energia e a vazão em MPSoC heterogêneos. A técnica

adotada explora em tempo de projeto todas as possíveis combinações dos recursos disponíveis na

plataforma. Em tempo de execução, por sua vez, seleciona as combinações mais adequadas,

considerando as métricas de otimização definidas para cada aplicação.

Em tempo de projeto, as aplicações são avaliadas sequenciamente considerando diversas

distâncias entre os tiles em plataforma homogênea e heterogênea. A distância entre os pares de tiles

são configuradas para se adequarem aos possíveis posicionamentos disponíveis na plataforma alvo.

Para uma NoC 5×5, por exemplo, a distância máxima entre dois tiles é 8, portanto, cada par é

avaliado considerando-se distâncias de 1 a 8 canais entre eles. Os autores realizam em um primeiro

momento a avaliação para uma plataforma homogênea com a quantidade de tiles equivalente ao

número de tarefas da aplicação. O melhor mapeamento resultante dessa etapa é adotado na

avaliação de uma plataforma com tamanho decrementado em 1, esse processo se repete até o ponto

em que a plataforma avaliada possui apenas 1 tile.

Page 58: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

57

Na plataforma heterogênea, os autores empregam os mapeamentos resultantes das

avaliações realizadas na etapa anterior. Nesse processo, cada mapeamento gerado anteriormente é

avaliado mediante a substituição dos tiles homogêneos por diversos tipos de realizações de tiles. Por

fim, as alternativas de mapeamento mais eficientes são armazenadas numa base de dados chamada

OMB (Optimal Mapping Database).

Na etapa que ocorre em tempo de execução, os autores empregam um processador para

mapear e escalonar as aplicações e controlar recursos e configurações da plataforma. Esse

gerenciador, denominado RTPC (Run-time Platform Controller) recebe como entrada o throughput

desejado pela aplicação, o status da plataforma e o banco de dados de mapeamentos. O algoritmo

implementado pelo RTPC seleciona, para cada aplicação a alternativa que apresenta o menor

consumo de energia, menor quantidade de tiles e ainda, mantém próximas as tarefas mais

comunicantes.

Para avaliar a técnica sugerida, os autores estenderam a aplicação SDF311

(STUIJK;

GEILEN; BASTEN, 2006) com a adição de suporte aos algoritmos de mapeamento propostos.

Empregaram como benchmarks quatro aplicações multimídia, as quais foram mapeadas utilizando

duas abordagens semelhantes àquela proposta. Mediante os experimentos realizados, a técnica

idealizada apresentou redução média acima de 14% no consumo de energia, no mapeamento

estático, e superior a 7%, no mapeamento dinâmico.

Quadro 7. Principais características apresentadas em Pham et al. (2013)

Característica Abordagens adotadas

Arquitetura MPSoC- heterogêneo

Comunicação por NoC

Mapeamento

Híbrido

Fase estática: heurística

Fase dinâmica: heurística

Otimização Consumo de energia na comunicação: exploração da localidade

Modelos Aplicação: SDFG

Energia por bit

Ferramentas de apoio SDF3 (Synchronous Data Flow For Free)

Benchmark Aplicações multimídia

11

SDF3 é uma ferramenta de geração de grafos de fluxo de dados síncronos (Synchronous Data Flow Graph), inclui

facilidades para análise, transformação e visualização de grafos. SDF3 foi inspirada em uma aplicação semelhante

denominada TGFF (DICK; RHODES; WOLF, 1998).

Page 59: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

58

3.7 MAPEAMENTO PARA OTIMIZAÇÃO DA CONFIABILIDADE

Bolchini et al. (2013) empregaram o mapeamento híbrido na otimização da confiabilidade,

consumo de energia e vazão em MPSoCs baseados em NoCs. Durante a fase estática, a técnica

identifica as melhores alternativas de mapeamento em função do desempenho e vida útil do sistema.

Em tempo de execução, um núcleo de gerenciamento otimiza as aplicações mapeadas com o

objetivo de reduzir o consumo de energia e maximizar a confiabilidade, enquanto garante o

cumprimento das restrições de vazão.

O modelo de confiabilidade considera o envelhecimento dos núcleos, o que pode resultar em

faltas permanentes no sistema. Esse envelhecimento pode causar falhas por migração de elétrons,

tal efeito é modelado por uma distribuição de probabilidade. A vazão é calculada pela quantidade de

dados processados durante cada período de execução de uma dada aplicação. Para estimativa do

consumo de energia os autores empregaram o modelo de energia por bit trafegado.

A abordagem adotada pelos autores utiliza a técnica descrita por Das, Kumar e Veeravalli

(2013) no mapeamento estático. Nessa técnica, são selecionadas as melhores alternativas de

mapeamento para um conjunto de aplicações, considerando como objetivos a maximização da

confiabilidade e o desempenho do sistema. As informações geradas são armazenadas para utilização

na etapa seguinte.

Durante a fase dinâmica, o mapeamento inicial de cada aplicação é selecionado entre as

alternativas identificadas na etapa estática. Essas aplicações são periodicamente monitoradas por

um elemento gerenciador, denominado FC (Fabric Controller). Baseando-se nas métricas

analisadas, o elemento FC toma decisões sobre a distribuição das aplicações, calcula a vazão, o

consumo de energia e o envelhecimento dos componentes.

Sempre que necessário, o nodo gerenciador realiza a realocação de tarefas, visando otimizar

a vida útil dos componentes da arquitetura, enquanto minimiza o consumo de energia e mantém as

restrições de vazão das aplicações. A melhoria na vida útil é obtida pela redução da carga de

trabalho de núcleos mais envelhecidos (núcleos que estão executando uma determinada carga de

trabalho por mais tempo) e distribuição de parte das tarefas desses núcleos para outras unidades da

plataforma.

Page 60: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

59

Os experimentos de avaliação se basearam na comparação do mapeamento gerado pela

técnica proposta frente ao mapeamento estático. Ao considerar apenas a confiabilidade como

função objetivo, a técnica de otimização conseguiu melhora de 16% com aumento de 9% no

consumo de energia, em relação ao mapeamento estático. Com a adição do consumo de energia na

função de otimização, foram observadas redução de 50% no consumo e uma melhora de 5% na

confiabilidade.

Quadro 8. Principais características apresentadas em Bolchini et al. (2013)

Característica Abordagens adotadas

Arquitetura MPSoC - homogêneo

Comunicação por NoC- malha 2-D

Mapeamento

Híbrido

Fase estática: (DAS; KUMAR; VEERAVALLI, 2013)

Fase dinâmica: ODA (Observe Decide Act)

Otimização Consumo de energia: exploração da localidade

Vazão e confiabilidade

Modelos Aplicação: grafo, confiabilidade: distribuição de probabilidade

Energia por bit

Ferramentas de apoio Simulador dedicado descrito em SystemC/TLM

Benchmark Aplicações multimídia

3.8 MAPEAMENTO EM MPSOCS BASEADOS EM BARRAMENTO

No trabalho realizado por Quan e Pimentel (2013), foi empregado o mapeamento híbrido em

MPSoC homogêneos. Na fase estática, a abordagem desenvolvida gera um mapeamento que oferece

o melhor desempenho médio para todas as aplicações suportadas pela plataforma. Considerando os

diferentes modos de execução de cada aplicação e tendo em vista a minimização do tempo de

execução e do consumo de energia. Na fase dinâmica, as aplicações são monitoradas e os

mapeamentos ajustados quando necessário.

Durante a etapa estática, os autores adotaram o algoritmo genético NSGA-II para selecionar

um conjunto representativo dos cenários de carga de trabalho. Esses cenários representam as

aplicações que coexistem na plataforma, juntamente com os possíveis modos de execução de cada

aplicação. Os mapeamentos derivados dessa etapa são armazenados e empregados na etapa

dinâmica.

Page 61: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

60

O algoritmo desenvolvido, denominado STM (Scenario-based Task Mapping) monitora os

objetivos de desempenho específicos de cada aplicação em tempo de execução. Quando o sistema

detecta a execução de um novo cenário de carga de trabalho o algoritmo busca a alternativa de

mapeamento mais adequada dentre aquelas identificadas na fase estática. Por outro lado, quando

alguma aplicação não alcança as métricas de desempenho o algoritmo tenta realizar um novo

mapeamento apenas para essa aplicação.

O processo de realocação de tarefas inicia pela identificação da tarefa crítica, ou seja, aquela

que está violando alguma métrica de interesse. Isso é realizado pela soma do tempo em que a tarefa

utilizou o processador e a estrutura de comunicação. Baseado nessas informações, o algoritmo

identifica a melhor estratégia para o remapeamento. Caso a tarefa esteja com problemas na

comunicação, o algoritmo tenta remapear essa tarefa de modo a reduzir a distância entre os nodos

comunicantes. Se o problema é com o processamento, a abordagem adotada busca um processador

menos sobrecarregado.

Os experimentos empregados na avaliação da técnica adotada se basearam no mapeamento

de três aplicações reais: codificador MJPEG, filtro Sobel e MP3. Essas aplicações foram mapeadas

com o algoritmo proposto e outros três algoritmos alternativos RBPR (Recursive BiPartition and

Refining) (YU et al., 2007), FFBP (First-fit Bin Packing) (COFFMAN; GAREY; JOHNSON,

1997) e ORB (Output Rate Balancing) (CASTRILLON et al., 2013). Os resultados comparativos,

entre os mapeamentos estático e dinâmico, demonstraram melhoria de 11,3% no desempenho e

redução de 13,9% no consumo de energia. Quanto à comparação com os outros algoritmos, a

alternativa proposta produziu mapeamento de melhor qualidade e custo do que a maioria dos

algoritmos comparados.

Quadro 9. Principais características apresentadas em Quan e Pimentel (2013)

Característica Abordagens adotadas

Arquitetura MPSoC - homogêneo

Comunicação por barramento

Mapeamento

Híbrido

Fase estática: NSGA-II

Fase dinâmica: heurística STM – Scenario-based Task Mapping

Otimização Consumo de energia: exploração da localidade

Tempo de execução: remapeamento

Modelos Aplicação: KPN – Kahn Process Network

Plataforma: grafo MPSoC

Ferramentas de apoio Simulador Sesame

Benchmark Aplicações multimídia

Page 62: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

61

3.9 ANÁLISE COMPARATIVA

Esta seção apresenta uma análise comparativa dos trabalhos descritos anteriormente. No

Quadro 10, as diferentes abordagens para o mapeamento de tarefas são comparadas com relação às

técnicas adotadas e às métricas otimizadas.

Quadro 10. Análise das técnicas de mapeamento

Trabalhos

Mapeamento Função Objetivo

Técnica Adotada Tipo

ILP

Meta

-heu

rística

Heu

rística1

2

Está

tico

Din

âm

ico

Híb

rido

En

ergia

Pra

zos

Desem

pen

ho

Con

fiab

ilidad

e

Carvalho et al. (2009) SA, TS X

X X PL, BN X

Tosun (2011) CastNet X X X

Huang et al. (2011a) X SA X X X

Antunes et al. (2012) SA X

X X X X

Sayuti e Indrusiak (2013) NSGA-II X X X

Pham et al. (2013) X X

X X X X X

Bolchini et al. (2013) X X

X X X ODA X

Quane Pimentel (2013) NSGA-II X

X X X STM X

Percebe-se nesse quadro, que todos os trabalhos descritos anteriormente consideram o

consumo de energia entre seus objetivos de otimização. Entretanto, essa métrica é tratada como

secundária, ela serve de critério de desempate quando diversas opções de mapeamento apresentam

valores idênticos em outros índices de interesse. Esse é o caso, por exemplo, do trabalho realizado

por Sayuti e Indrusiak (2013).

As técnicas de mapeamento mais utilizadas são do tipo híbrido, todavia, um ponto a ser

ressaltado nesses casos é que os autores empregaram técnicas distintas nas diferentes etapas.Outro

12

Nessa coluna são apresentados, sempre que possível, os acrônimos das heurísticas adotadas nos trabalhos. Nos casos

em que não há essa possibilidade utiliza-se o caractere “X”.

Page 63: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

62

ponto importante é que, embora tenha abordado técnicas estáticas e dinâmicas, as investigações

realizadas por Carvalho et al. (2009) são no sentido de comparação entre as mesmas.

Os autores empregam as mais diversas heurísticas, desenvolvidas especificamente para os

problemas tratados. Destaca-se ainda a doção das principais meta-heurísticas: (SA) Simulated

Annealing, TS (Busca Tabu) e o algoritmo genético NSGA-II. Apenas um trabalho utilizou

otimização por programação matemática (ILP), mas nesse caso, o desempenho da técnica foi

melhorado pelo uso de uma meta-heurística.

No Quadro 11, são analisadas as características das plataformas. Percebe-se que, a maioria

dos autores optou por uma plataforma MPSoC com núcleos homogêneos e elementos de

processamento multitarefa. A arquitetura de comunicação mais adotada é NoCs, com exceção do

trabalho de Quan e Pimentel (2013), no qual os autores utilizaram um barramento. No entanto, cabe

ressaltar que a técnica descrita é adaptável para emprego em NoCs.

Quadro 11. Análise das plataformas

Trabalhos

Arquitetura de

Comunicação Plataforma

Elementos de

Processamento

Barra

men

to

NoC

SoC

MP

SoC

Hom

ogên

ea

Hetero

gog

ênea

Mon

ota

refa

Mu

ltitarefa

Carvalho et al. (2009) X X X X

Tosun (2011) X X X X

Huang et al. (2011a) X X X X

Antunes et al. (2012) X X X X

Sayuti e Indrusiak (2013) X X X

Phamet al. (2013) X X X X

Bolchini et al. (2013) X X X X

Quan e Pimentel (2013) X X X X

Page 64: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

63

O Quadro 12, apresenta as informações sobre o ambiente de avaliação das técnicas de

mapeamento. Destaca-se, nesse quadro, a utilização de ferramentas para geração automática de

grafos de aplicações sintéticas: SDF3 e TGFF. Percebe-se também, a tendência em adotar algum

tipo de simulador. As aplicações multimídia e sintéticas são as mais utilizadas nas avaliações,

juntamente com o modelo de consumo de energia por bit trafegado. Outra questão importante a ser

notada é o emprego de modelos de tecnologia de circuitos CMOS na avaliação do consumo de

energia, que por sua vez, permite maior correspondência com circuitos reais.

Quadro 12. Análise dos ambientes de experimentação

Trabalhos

Tecn

olo

gia

CM

OS

En

ergia

por

paco

te

En

ergia

por b

it Benchmark Ferramentas de Apoio

Mu

ltimíd

ia

Sin

tético

Ap

licaçõ

es

reais

Simulador

específico

Geração e

análise de

grafos

Carvalho et al. (2009) X X X SystemC e

VHDL TGFF

Tosun (2011) 100 nm X X X Huang et al. (2011a) X X TGFF

Antunes et al. (2012) 70 nm X X X Framework

CAFES

Sayuti e Indrusiak (2013) X X X Framework

alto nível

Pham et al. (2013) X X SDF3

Bolchini et al. (2013) 65 nm X X SystemC/

TLM

Quan e Pimentel (2013) X Sesame

3.10 CONSIDERAÇÕES

Os trabalhos descritos neste capítulo tratam o problema do mapeamento de tarefas pela

aplicação de diversas técnicas. Os objetivos de otimização incluem o consumo de energia, porém

essa métrica não é tomada como o propósito principal. A economia de energia na comunicação é

abordada pela manutenção dos elementos mais comunicantes no mesmo núcleo, no caso de

plataformas multitarefa, ou em núcleos próximos, quando adotadas plataformas monotarefa. A

economia de energia na computação, entretanto, é realizada pelo remapeamento das tarefas na

expectativa de encontrar um EP que apresente maior eficiência energética.

Page 65: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

64

Os trabalhos analisados apontam uma tendência em direção às abordagens híbridas.

Entretanto, o mapeamento estático ainda é o mais indicado nos casos em que a plataforma é

projetada para executar um conjunto específico de aplicações. Além disso, essa abordagem

compreende primeira etapa do mapeamento dinâmico, realizando o posicionamento inicial.

Em se tratando de aplicações de tempo real, a abordagem estática é mais adequada, uma vez

que, em tempo de execução não há como garantir a disponibilidade de recursos. Logo, não é

possível garantir a previsibilidade, um requisito essencial para esse tipo de aplicação.

Page 66: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

65

4 MAPEAMENTO DE TAREFAS NA REDE SOCIN

Este trabalho tem por objetivo explorar o mapeamento de tarefas em sistemas baseados e

NoCs com suporte a canais virtuais de modo que as aplicações mapeadas cumpram seus prazos,

apresentem baixos níveis de consumo de energia estática, e ainda, que a quantidade de canais

virtuais implementados nos roteadores seja minimizada.

Para a realização das investigações propostas, foi utilizada a rede SoCIN (System-on-Chip

Interconnection Network). Esta é a NoC de referência adotada pelo laboratório de pesquisa ao qual

este trabalho está associado. De fato, foi implementada uma variação dessa rede derivada da versão

com QoS apresentada por Berejuck e Zeferino (2009), a qual contém dois canais virtuais, um para

fluxos de tempo real e outro para os demais fluxos.

Para o mapeamento de tarefas, foi proposto o uso de uma heurística de otimização

multiobjetivo que reduzisse o consumo de energia e maximizasse o cumprimento dos prazos

estabelecidos. Para avaliação do mapeamento realizado, foi utilizado um simulador SystemC da

rede SoCIN com precisão de ciclos para verificar o cumprimento dos prazos de entrega.

Este capítulo apresenta detalhes sobre a solução desenvolvida. Inicialmente, são descritas as

arquiteturas das redes SoCIN e SoCIN-Q, bem como o seu simulador. Após, são apresentadas as

adequações realizadas na rede para este trabalho e o modelo de consumo de energia utilizado.

Continuando, descreve-se a abordagem empregada no mapeamento de tarefase, por fim apresenta-

se um comparativo entre a solução desenvolvida e aquelas apresentadas nos trabalhos relacionados.

4.1 ESTRUTURA BASE

4.1.1 Rede SoCIN

A SoCIN (System-on-Chip Interconnection Network) foi desenvolvida por Zeferino (2003)

com o objetivo de explorar o espaço de projeto de NoCs, provendo uma arquitetura de comunicação

parametrizável, com desempenho escalável e baixo custo em área de silício. Originalmente, a

SoCIN utilizou como bloco construtivo o roteador RASoC (Router Architecture for System-on-

Chip). Esse roteador permitia a customização das dimensões da rede, da largura do canal de

comunicação e da profundidade dos buffers (ZEFERINO; KREUTZ; SUSIN, 2004). O nível de

Page 67: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

66

parametrização foi ampliado posteriormente. Uma nova especificação da SoCIN acrescentou a

possibilidade de escolha entre diferentes técnicas de roteamento, arbitragem e controle de fluxo.

Para suportar essas características Zeferino, Santo e Susin (2004) desenvolveram o roteador

denominado ParIS (Parameterizable Interconnection Switch), o qual tem sido adotado atualmente.

A SoCIN oferece suporte a topologias diretas bidimensionais do tipo malha e toróide. Cada

roteador da rede possui até 5 portas de comunicação dependendo da topologia adotada e da posição

do roteador na rede (ZEFERINO; SANTO; SUSIN, 2004). A Figura 10 ilustra uma rede de

topologia em malha 2-D com tamanho 4×4. Os roteadores são endereçados empregando um sistema

de coordenadas XY (coluna, linha). Em destaque na figura, são identificadas as portas de

comunicação do roteador ParIS.

Figura 10. Rede SoCIN de tamanho 4×4 com topologia malha 2-D

Formato de pacote

O formato de pacote adotado pela SoCIN, ilustrado na Figura 11 (a), é composto de um

número ilimitado de flits. Cada flit possui n+2 bits, onde n compreende aos dados e os 2 bits

adicionais são utilizados no enquadramento do pacote. Ou seja, os bits bop (begin of packet) e eop

(end of packet) indicam se é um flit de cabeçalho (“01”), se pertence à carga útil (“00”) ou se

corresponde ao terminador (“10”).

Um flit de cabeçalho transporta informações necessárias ao roteamento do pacote. No

campo RIB (Routing Information Bits), é especificado o endereço do roteador destino, indicado

pelas coordenadas XY. O campo HLP (Higher Level Protocol), por sua vez, é reservado para

implementação de protocolos de camadas superiores à camada de rede. Os flits seguintes ao

0 3

Y

X

0,2

0,3

0,1

1,3 2,3 3,3

0,0

1,2

1,1

1,0

2,2

2,1

2,0

3,2

3,1

3,00

1

2

3

1 2

ParIS

x,y

N

E

S

W

L

Page 68: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

67

cabeçalho compõem a carga útil do pacote, sendo que não há restrições em relação à quantidade

desses. Por fim, o último flit transferido é o terminador do pacote e indica o seu final (ZEFERINO;

SANTO; SUSIN, 2004).

Canal de comunicação

O enlace de comunicação da SoCIN é especificado conforme ilustra a Figura 11 (b), sendo

composto de dois canais ponto-a-ponto simplex em oposição. O canal compreende a n bits de dado,

acrescido de dois bits de banda lateral usados para o enquadramento do pacote (exemplificado na

Figura 11 (c)). Além disso, cada canal inclui um par de sinais (val e ret na Figura 11 (b)) utilizados

no controle de fluxo durante o envio de flits pelo canal.

Figura 11. SoCIN: (a) formato do pacote; (b) enlace; e (c) canal individual

Arquitetura do roteador ParIS

O roteador ParIS é um soft-core codificado com a linguagem de descrição de hardware

VHDL (VHSIC Hardware Description Language). Esse roteador possui até cinco portas de

comunicação denominadas L (Local), N (North), E (East), S (South) e W (West), conforme a Figura

12 (a). A porta Local é destinada ao acoplamento de núcleos ou subsistemas à rede, as demais

portas são empregadas na conexão com roteadores vizinhos. Em sua estrutura interna, o roteador é

organizado de maneira que cada porta de comunicação possui dois módulos, um para o canal de

entrada e outro para o canal de saída (ZEFERINO; SANTO; SUSIN, 2004).

Na Figura 12 (b), são apresentados os módulos de entrada e saída correspondentes às portas

Local (“Lin” e “Lout” na figura) e West (“Win” e “Wout” na figura). O componente “CPM”, no

centro da Figura 12 (b), é responsável por guiar o compilador VHDL a implementar apenas as

eop

0 1

0 0

01

HLP RIB.x RIB.y

terminador

bopn bits

carga útil

ilim

itado

(a) (b) (c)

n+2

n+2

valret

dadosbopeop

n

Page 69: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

68

conexões permitidas pelo algoritmo de roteamento utilizado. Como exemplo, a Figura 12 (c) ilustra

as conexões permitidas ao roteamento XY (ZEFERINO; SANTO; SUSIN, 2004).

Figura 12. ParIS: (a) esquemático; (b) arquitetura interna; (c) CPM para o roteamento XY

Componentes do roteador ParIS

Os componentes dos módulos de entrada e saída do roteador ParIS estão ilustrados na Figura

13 (a) e (b), respectivamente. Os blocos IFC (Input Flow Controller) e OFC (Output Flow

Controller) são regulam o tráfego de flits nos canais de comunicação. Eles realizam a tradução entre

o protocolo de controle de fluxo do enlace e a técnica de controle de fluxo empregada internamente.

O bloco IFC regula o tráfego de flits que chegam aos canais de entrada enquanto o bloco OFC

regula a saída de flits (ZEFERINO; SANTO; SUSIN, 2004).

Os buffers FIFO são empregados no armazenamento de flits de pacotes que estão

temporariamente bloqueados aguardando encaminhamento. Eles podem ser adotados nas portas de

entrada e/ou portas de saída do roteador (ZEFERINO; SANTO; SUSIN, 2004).

Figura 13. Módulos do ParIS: (a) entrada; e (b) saída

ParIS

N

E

S

W

LCPM

Win Wout

Lin Lout

(a) (b) (c)

L

N

E

S

W

L N E S W

FIFOdinwrwok

doutrokrdIFC

IRS wok[ ]

ICreq[ ]

idle[ ]

rok

din

valret

input

FIFOdinwrwok

doutrokrd

ODS

OWSrok[ ]

wok

OFC

OCreq[ ]

gnt[ ]

idle

doutvalret

output

(a) (b)

Page 70: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

69

Os blocos IC (Input Controller) e OC (Output Controller) realizam o escalonamento dos

recursos do roteador. O bloco IC seleciona um canal de saída para um canal de entrada, isso é feito

pela análise dos pacotes armazenados no buffer FIFO, execução do algoritmo de roteamento e

emissão de uma requisição ao canal de saída selecionado. Após a conexão ser estabelecida, o bloco

IC monitora a entrega do último flit do pacote (trailer) e em seguida retira a requisição de conexão.

Isso instrui o bloco OC a cancelar a conexão estabelecida anteriormente (ZEFERINO; SANTO;

SUSIN, 2004).

O bloco OC define qual canal de entrada poderá utilizar um canal de saída. Isso é feito pela

arbitragem das requisições recebidas do bloco IC e emissão do sinal de concessão, o qual irá

comandar as chaves internas do roteador a conectarem o canal de entrada ao canal de saída

(ZEFERINO; SANTO; SUSIN, 2004).

As chaves ODS, OWS e IRS realizam a interligação dos canais por meio da conexão dos

sinais de dados e de controle entre os canais de entrada e saída. Essas chaves realizam isso sob o

comando dos sinais emitidos pelos blocos OC, conforme definido por Zeferino, Santo e Susin

(2004):

ODS (Output Data Switch): conecta a porta de saída de dados do buffer do canal de

entrada com a porta de entrada de dados do buffer associado ao canal de saída;

OWS (Output Write Switch): conecta os sinais de status do buffer do canal de entrada

selecionado com o comando de escrita do buffer associado ao canal de saída; e

IRS(Input Read Switch): conecta o sinal de status do buffer de saída ao comando de

leitura associado ao buffer de entrada.

4.1.2 A rede SoCIN-Q

A SoCIN oferece serviço de comunicação do tipo melhor esforço. Ou seja, os pacotes são

entregues, mas não há garantias de largura de banda ou de latência, pois todos os fluxos de dados

são tratados igualitariamente.

Visando adicionar qualidade de serviço à SoCIN, Berejuck e Zeferino (2009) aplicaram três

técnicas de QoS (Quality-of-Service), sendo elas: chaveamento por circuito, canais virtuais e

Page 71: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

70

escalonamento de canais por envelhecimento de pacote. Isso resultou no desenvolvimento de uma

nova versão da rede, a qual foi denominada SoCIN-Q (Q de QoS).

A técnica de chaveamento por circuito foi aplicada tendo em vista a minimização da

variação no tempo de entrega de pacotes sucessivos, ao que se denomina flutuação (do inglês,

jitter). A implementação foi realizada com a adoção de pacotes de controle para estabelecer e

liberar um circuito. Para isso, os autores adicionaram um campo extra no cabeçalho do pacote da

SoCIN. Esse campo de comando define se o pacote é do tipo normal, de alocação, liberação ou

concessão de um canal. Nos roteadores, por sua vez, foram realizadas as modificações necessárias

para suportar essas técnicas(BEREJUCK; ZEFERINO, 2009).

Para oferecer diferenciação entre fluxos de comunicação, foram criadas duas classes de

tráfego: uma para fluxos de tempo real e outra para fluxos normais, ou seja, que não tem requisitos

estritos de tempo de entrega. Essas classes de serviço são denominadas RT (Real-Time) e nRT

(non-Real-Time), respectivamente, sendo que cada categoria possui duas subdivisões, resultando

em quatro subclasses de tráfego: RT0, RT1, nRT0 e nRT1. Para permitir a identificação dos pacotes

pertencentes a essas subclasses de tráfego, foi acrescentado um campo de dois bits no cabeçalho do

pacote. Esse campo, chamado “CLS”, corresponde aos bits 18 e 19, como pode ser visualizado na

Figura 14 (BEREJUCK; ZEFERINO, 2009).

Figura 14. Formato de pacote da SoCIN-Q

Fonte: Adaptado de Berejuck e Zeferino (2009).

Além disso, foram realizadas modificações no roteador ParIS, replicando-se os módulos de

entrada e de saída para implementar canais virtuais para cada classe (RT e nRT). Portanto, cada

porta de entrada do roteador possui um módulo dedicado para os fluxos de tempo real e outro para

de demais fluxos. O mesmo ocorre para as portas de saída.

A Figura 15 ilustra como os módulos de entrada e saída foram replicados para formar os

canais virtuais. Quando os pacotes chegam às portas de entrada do roteador eles são direcionados

conforme sua classe para os módulos “Xin-RT” ou “Xin-nRT”, conforme demonstra a Figura 15(a).

Por outro lado, quando os pacotes são encaminhados aos canais de saída (Figura 15 (b)), aqueles

que procedem dos módulos “Xout-RT” têm preferência. Portanto, os pacotes RT sempre vencem as

33 32 31-23 22-20 19-18 17-16 15-12 11-08 7-4 3-0

CMDEOP BOP HLP AGE CLS Xsrc Ysrc Xdest Ydest

Page 72: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

71

disputas com os pacotes nRT pelos canais de saída da rede. Além disso, se um pacote RT chega ao

canal de saída quando um pacote nRT já está sendo encaminhado, o envio deste último é

preemptado para que o pacote RT possa ser repassado imediatamente. Isso reduz a latência e o jitter

dos pacotes RT, contribuindo para o cumprimento dos seus prazos de entrega.

Figura 15. Módulos replicados na SoCIN-Q: (a) entrada; e (b) saída

Fonte: Adaptado de Berejuck e Zeferino (2009).

A SoCIN-Q também conta com a técnica de envelhecimento de pacotes para permitir a

diferenciação entre fluxos da mesma classe de tráfego. Na implementação dessa técnica foi

adicionado um novo campo ao cabeçalho da rede, chamado “AGE” esse campo corresponde aos

bits 20 a 22 conforme ilustra a Figura 14. O mecanismo de envelhecimento foi modelado na saída

do módulo “Xin” na forma de um circuito stampler, o qual é responsável por incrementar o campo

“AGE” dos pacotes RT que aguardam a liberação do canal de saída. Finalizando, o circuito de

arbitragem do canal de saída Xout prioriza os pacotes que estão há mais tempo aguardando na rede

(BEREJUCK; ZEFERINO, 2009).

4.1.3 O Simulador da SoCIN

O Laboratório de Sistemas Embarcados e Distribuídos (LEDS – Laboratory of Embedded

and Distributed Systems) tem desenvolvido simuladores para avaliação do desempenho da rede

SoCIN. A primeira versão do simulador, denominada BrownPepper, é composta de modelos de

simulação da rede descritos em SystemC, ferramentas de apoio e de uma interface gráfica baseada

em GTK+ (BRUCH; PIZZONI; ZEFERINO, 2009). A segunda versão, denominada RedScarf

(SILVA; METZGER; ZEFERINO, 2014), integra as mesmas funcionalidades do BrownPepper,

porém, sua interface foi migrada para Qt, conferindo ao simulador a capacidade de ser executado

em diferentes sistemas operacionais (ex. Windows, Linux, OS X). Além disso, acrescenta outros

(a) (b)

Xin-RT

Xin-nRT

XinXout-RT

Xout-nRT

Xout

Page 73: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

72

recursos, como, por exemplo, execução multithread, interface bilíngue (inglês e português) e

recursos adicionais que melhoram a usabilidade da ferramenta.

O simulador RedScarf é um ambiente de avaliação de desempenho de NoCs baseado nas

redes SoCIN e SoCIN-Q. Ele compreende uma interface gráfica que integra uma série de modelos

implementados em SystemC. Esse simulador é baseado na descrição RTL do roteador ParIS (sem

canais virtuais e com dois canais virtuais), geradores de tráfego e medidores de tráfego.

A Figura 16 ilustra um exemplo de sistema baseado no roteador ParIS. Em destaque na

figura, pode ser notado que em cada porta L (Local) do roteador há um bloco de geração de tráfego

(TG – Traffic Generator) e medição de tráfego (TM – Traffic Metter) acoplados. Os TGs são

geradores e consumidores de tráfego, pois enviam pacotes e também recebem pacotes de outros

TGs. Os TMs são responsáveis por monitorar o tráfego no terminal Local da rede.

Figura 16. Sistema baseado no roteador ParIS

O simulador permite emular a execução de uma aplicação. Um TG pode gerar até quatro

padrões de tráfego diferentes. Cada padrão pode resultar em um único fluxo de comunicação para

outro TG ou em múltiplos fluxos para diferentes TGs, seguindo uma determinada distribuição

espacial (ex. uniforme, complemento etc.). Para cada padrão de tráfego, é possível associar uma

subclasse de prioridade (entre quatro disponíveis: RT0, RT1, nRT0 e nRT1) e o roteador da SoCIN-

Q oferece diferenciação de serviços entre as classes RT e nRT e suas subclasses. Também é

possível definir as características de cada padrão de tráfego (ex. taxa de injeção, tamanho da

mensagem etc.) e seu requisito temporal (prazo).

A partir do modelo de tráfego, é realizada uma simulação e os módulos TM coletam dados

referentes aos pacotes entregues em cada fluxo. Uma ferramenta de análise é então utilizada para

identificar a latência de cada pacote e se seu requisito temporal foi atendido ou não. Com isso, é

ParIS

TGT

M

Page 74: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

73

possível determinar valores mínimos, máximos e médios de latências, bem como taxas de

cumprimento de prazos, para cada fluxo ou para todos os fluxos da aplicação.

4.2 ADEQUAÇÕES REALIZADAS

Arquitetura

No desenvolvimento deste trabalho, foi adotada uma arquitetura semelhante a que está

ilustrada na Figura 16, a qual contempla uma rede de tamanho 4×4 em que cada roteador possui em

sua porta Local elementos geradores e medidores de tráfego. Entretanto, para fornecer o suporte aos

canais virtuais foi necessário adicionar três bits ao enlace de comunicação para a sinalização do

canal virtual ao qual os flits do pacote estão associados, a Figura 17 ilustra essa alteração.

Além disso, foram realizadas adequações nos geradores e medidores de tráfego para

identificar os canais virtuais. No primeiro caso, a versão original foi estendida para permitir a

geração de até oito classes distintas de fluxos. Do mesmo modo, o medidor de tráfego foi adaptado

para diferenciar os pacotes recebidos conforme sua classe e evitar o embaralhamento de flits de

diferentes pacotes (o que pode ocorrer quando um pacote é preemptado por outro de maior

prioridade).

O fluxo de avaliação de desempenho utilizado neste trabalho (ilustrado na Figura 18) inicia

com a definição das características do tráfego de dados que será injetado na rede. Essas informações

são descritas em um arquivo denominado “Traffic.tcf” que serve como entrada para o gerador de

tráfego (TG), que por sua vez, alimenta a porta Local do roteador considerando tais informações.

Ao injetar pacotes, o TG também sinaliza qual canal virtual deve ser utilizado. No terminal de saída

da porta Local, o medidor de tráfego registra as informações relacionadas ao tempo de chegada dos

pacotes destinados ao roteador em que ele está acoplado. Essas informações são armazenadas em

arquivos de log e posteriormente são analisadas por uma ferramenta de avaliação de desempenho

n+2Dados

Controle de fluxoCanal virtual

Figura 17. Enlace com sinalização de canal virtual

Page 75: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

74

denominada ATR, a qual avalia diversas métricas relativas aos pacotes entregues pela rede. De

especial importância para este trabalho se considera o cumprimento de prazos. Essa métrica é

informada pela ferramenta em percentual de pacotes entregues dentro do intervalo de tempo limite

estipulado.

Conforme descrito anteriormente, ao injetar um pacote na rede, o TG indica que canal

virtual deve ser utilizado. Para isso, o formato de pacote da SoCIN foi alterado, sendo que o

cabeçalho passou a conter um campo de três bits denominado “CLS” para transportar essa

informação. Originalmente o campo “CLS” era composto de apenas dois bits (conforme pode ser

visualizado na Figura 14), o que era suficiente para diferenciar quatro classes de tráfego. Porém,

para possibilitar a diferenciação de até oito classes, o bit 20 que compunha o campo “AGE” foi

incorporado ao campo “CLS”. Essa alteração não causa efeitos colaterais uma vez que a técnica de

envelhecimento que utiliza o campo “AGE” não é explorada neste trabalho.

Canais virtuais

A abordagem adotada na implementação dos canais virtuais consistiu na replicação dos

módulos de entrada e saída do ParIS. Foram criadas oito instâncias dos blocos de comunicação para

cada porta do roteador. Esse modelo se diferencia daquele utilizado na SoCIN-Q por adotar um

único módulo de controle de fluxo para ambos os canais virtuais, enquanto a SoCIN-Q emprega

dois módulos de controle de fluxo, um para cada canal virtual.

Cabe destacar que, embora a SoCIN-Q suportasse quatro classes de tráfego diferentes, ela

possuía apenas dois canais virtuais implementados: um para classes de tempo real (RT0 e RT1) e

Log

Avaliação

de

desempenho Métricas

Medidor

de

tráfego

Gerador

de

tráfegoTraffic.tcf

Figura 18. Fluxo de avaliação de desempenho

Page 76: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

75

outro para classes de tempo não real (nRT0 e nRT1). No presente trabalho, foi definido um modelo

de roteador com oito canais virtuais.

A Figura 19 ilustra um módulo de entrada com suporte aos canais virtuais. Devido à

limitação de espaço e para conferir melhor legibilidade, são apresentadas apenas duas instâncias dos

blocos de comunicação. Nesse modelo, a seleção do canal virtual é realizada pela entrada “i_VC”

na figura. Esse sinal determina qual canal virtual receberá as informações de controle de fluxo,

permitindo, dessa forma, o gerenciamento de oito classes tráfego.

De forma semelhante, os módulos de saída do ParIS foram replicados em oito instâncias e o

controle de fluxo também é realizado por um bloco único (componente “OFC” na Figura 20).

Figura 19. Módulo de entrada com oito canais virtuais

Page 77: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

76

A escolha de qual canal virtual terá acesso ao canal de saída é realizada por um codificador

de prioridades estático que seleciona sempre a requisição de maior prioridade. Nesse modelo, o

pacote que estiver utilizando uma saída será preemptado sempre que um pacote de uma classe de

maior prioridade precisar utilizar a mesma saída. Assim que este pacote de maior prioridade for

transferido, o encaminhamento do pacote suspenso é retomado.

A preempção dos canais é um processo que visa garantir que pacotes de maior prioridade

sejam transmitidos antes daqueles de menor prioridade. A Figura 21 ilustra essa ocorrência,

assumindo que o roteador está recebendo pacotes em suas entradas Oeste e Local, ambos destinados

à porta Leste. No ciclo 2, ilustrado na figura, o roteador recebe em sua porta Oeste o cabeçalho de

um pacote de prioridade 1. Esse pacote é encaminhado para a saída “o_East” no ciclo 5, porém, no

ciclo 6, a porta Local recebe um pacote de prioridade 0 (quanto menor o identificador de prioridade,

maior é o seu nível de prioridade). Então, no ciclo 9, o roteador deixa de encaminhar os flits do

pacote menos prioritário e passa a entregar o pacote de prioridade 0. Ao finalizar a entrega desse

pacote, no ciclo 12, os flits restantes do pacote de prioridade 1 são finalmente encaminhados a partir

do ciclo 13 até completar sua entrega no ciclo 16.

Figura 20. Módulo de saída com oito canais virtuais

Page 78: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

77

Modelo de consumo de energia

A avaliação da dissipação de potência no ParIS foi realizada por simulação e síntese com as

ferramentas Synopsys VCS e Design Compiler. Foi utilizada uma biblioteca de tecnologia CMOS

genérica de 32 nm (SAED32/28nm). A dissipação de potência dinâmica foi aferida pela

transferência de pacotes de tamanhos que variam de 2 a 15 flits partindo da porta Local para a porta

Leste. Para cada tamanho de pacote foram realizadas três simulações diferentes. Na primeira, não

ocorre o chaveamento de bits entre os flits sucessivos injetados no roteador, na segunda o

chaveamento é de 50% e na terceira simulação cada flit transferido pelo roteador representa o

complemento do flit anterior, nesse caso ocorre o chaveamento de 100% dos bits.

Essa abordagem é semelhante aquela adotada por Palesi et al. (2011) na caracterização do

consumo de energia dinâmica de uma NoC. Os resultados obtidos pelas simulações realizadas

apontam uma baixa representatividade da potência dinâmica ao comparar com a dissipação da

potência estática. Considerando-se uma configuração mínima do roteador contendo apenas um

canal virtual e buffers de profundidade 4, é possível notar que a dissipação de potência dinâmica

corresponde a menos de 25% da dissipação de potência estática em um cenário de chaveamento

médio (50%). Isso pode ser conferido a seguir, na Tabela 1, a qual apresenta a dissipação de

potência dinâmica ao trafegar um pacote de15 flits pelo roteador (a avaliação da dissipação de

potência estática é apresentada na sequência). Portanto, optou-se por restringir as investigações

deste trabalho ao consumo de energia estática do roteador.

Tabela 1. Dissipação de potência dinâmica no roteador ParIS

Potência dinâmica conforme o chaveamento de bits (mW)

Flits 0% 50% 100%

15 0,0496897 0,0658448 0,0803451

Figura 21. Preempção de um canal virtual

Page 79: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

78

A avaliação da dissipação de potência estática foi realizada por sínteses do roteador para as

oito configurações de canais virtuais considerando buffers de profundidade 2 até 8. Os resultados

obtidos são demonstrados na Tabela 2. Percebe-se que a quantidade de canais virtuais e a

profundidade dos buffers impactam fortemente na dissipação de potência estática.

Tabela 2. Dissipação de potência estática no roteador ParIS

Potência estática dissipada para 8 canais virtuais (mW)

FIFO 1vc 2vcs 3vcs 4vcs 5vcs 6vcs 7vcs 8vcs

2 0,1566283 0,3124632 0,460744 0,6244222 0,7728935 0,928118 1,0848 1,2268

3 0,1955946 0,390396 0,5777544 0,7800177 0,9705557 1,1652 1,3631 1,5437

4 0,2572518 0,5134945 0,7631678 1,0269 1,277 1,5339 1,8046 2,0531

5 0,2993875 0,6013929 0,8943 1,2055 1,5053 1,7938 2,0991 2,3875

6 0,3444973 0,6877091 1,0242 1,3747 1,7214 2,0556 2,4076 2,7328

7 0,3917705 0,782546 1,1701 1,572 1,9599 2,3998 2,8078 3,1967

8 0,4323542 0,8639463 1,2996 1,7403 2,1642 2,5988 3,0422 3,4638

Neste trabalho adotou-se uma rede em malha 2-D de tamanho 4×4, nessa configuração,

estão presentes 4 roteadores de 5 portas, 4 roteadores de 3 portas, e 8 roteadores contendo 4 portas

de comunicação. Isso foi considerado no cálculo da dissipação de potência estática. Para tanto o

ParIS foi sintetizado de acordo com essas variações contendo apenas um canal virtual. O resultado

de cada síntese pode ser visualizado na Tabela 3.

Tabela 3. Potência estática para diferentes configurações do ParIS

Número de portas no ParIS Potência estática (mW)

3 0,2373071

4 0,2506489

5 0,2572518

Portanto, a potência estática da rede pode ser expressa por (7), onde 𝑃𝑅5, 𝑃𝑅4, e 𝑃𝑅3 indicam

a potência estática dissipada por um roteador com 5, 4 e 3 portas respectivamente, e 𝑁𝑉𝐶 representa

a quantidade de canais virtuais. Conhecendo-se a dissipação de potência da rede é possível calcular

o consumo de energia estática conforme (8), onde 𝑁𝑐𝑖𝑐𝑙𝑜𝑠 e 𝑇𝑐𝑙𝑜𝑐𝑘 indicam, respectivamente, o

número de ciclos e o período de relógio empregado, ou seja, o tempo de operação da rede.

𝑃𝑒𝑠𝑡á𝑡𝑖𝑐𝑎 = 4 × 𝑃𝑅5 + 4 × 𝑃𝑅3 + 8 × 𝑃𝑅4 × 𝑁𝑉𝐶 (7)

Page 80: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

79

𝐸𝑒𝑠𝑡á𝑡𝑖𝑐𝑎 = 𝑃𝑒𝑠𝑡á𝑡𝑖𝑐𝑎 × (𝑁𝑐𝑖𝑐𝑙𝑜𝑠 × 𝑇𝑐𝑙𝑜𝑐𝑘 ) (8)

Avaliação de área de silício

A adoção dos canais virtuais também causa impacto significativo na área de silício ocupada,

o que pode ser conferido na Tabela 4. Essa tabela demonstra a área total ocupada pelo ParIS quando

o roteador é sintetizado em cada uma das oito implementações de canais virtuais empregando

buffers com capacidade de armazenamento de 4 flits.

Tabela 4. Área de silício ocupada

Canais virtuais Área ocupada um² 1 14.090,664398

2 29.186,945137

3 43.625,695645

4 59.957,764821

5 75.412,432092

6 91.195,455012

7 109.521,043627

8 125.571,466468

4.3 MAPEAMENTO DE TAREFAS

As avaliações realizadas anteriormente demonstram a importância da minimização da

quantidade de canais virtuais presentes no roteador, devido ao impacto considerável na dissipação

de potência e na área ocupada. Nesta seção, discute-se a técnica de mapeamento de tarefas adotada

na otimização da quantidade de canais virtuais implementados no ParIS.

O mapeamento de uma aplicação, conforme descrito na Seção 2.5, é precedido por uma

etapa de particionamento dessa aplicação em um grafo, de modo que cada vértice represente uma

tarefa e cada aresta indique a comunicação entre duas tarefas. Além disso, é necessário atribuir as

tarefas aos elementos de processamentos adequados a sua execução.

Entretanto, no âmbito deste trabalho, essas atividades são desconsideradas. Não é necessário

realizar o particionamento porque são utilizados modelos de aplicações já descritos na forma de

grafo. A etapa de ligação também não é necessária porque a plataforma considerada nas

investigações é composta de elementos homogêneos, ou seja, as tarefas podem ser executadas em

qualquer EP.

Page 81: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

80

Modelo de aplicação

Na realização do mapeamento, foi utilizado um modelo de tarefa baseado naquele adotado

por Sayuti e Indrusiak (2013), o qual se caracteriza pelas seguintes definições:

Tarefa: uma tarefa é representada pela tupla onde: é o tempo

máximo de execução de uma tarefa; representa o período, ou seja, o intervalo

mínimo de tempo entre invocações sucessivas; e , por sua vez, define a prioridade

da tarefa; e

Mensagem: uma mensagem pode ser descrita por uma tupla

onde: representa a tarefa que envia uma mensagem; indica a tarefa destino;

compreende a prioridade da tarefa; e define o tamanho da mensagem.

Nesse modelo, o prazo das tarefas e das mensagens (ou fluxos) é igual ao seu período. Ou

seja, tanto para as tarefas quanto para as mensagens, 𝐷 = 𝑇, onde 𝐷 indica o prazo e T determina o

período.

A plataforma considerada neste trabalho é do tipo homogênea, sendo que, cada nodo do

sistema é composto de um elemento de processamento (EP) emulado por um gerador de tráfego,

conectado a um roteador da rede.

No gerador de tráfego do simulador, um fluxo de comunicação é descrito pelos seguintes

atributos: fonte (ou seja, Src no modelo de Sayuti e Indrusiak), destinatário (Dst), classe de tráfego

(V), tamanho da mensagem (F) e prazo de entrega (D). Além disso, pode-se especificar o intervalo

entre pacotes (ou seja T) ou a largura de banda requerida (taxa de dados). Neste último caso, o

gerador calcula o intervalo entre pacotes com base na largura de banda e no tamanho da mensagem.

Portanto, o simulador permite que se representem as comunicações entre as tarefas do modelo de

aplicação.

Como o foco deste trabalho está na comunicação, considera-se que cada EP executa uma

única tarefa. Essa simplificação decorre do fato de que o gerador de tráfego não consegue emular a

concorrência e o escalonamento das tarefas executadas em um mesmo nodo e nem a comunicação

entre elas.

,, VTCTask C

T

V

,,, FVDstSrcMsg

Src Dst

V F

Page 82: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

81

Modelo de plataforma

O modelo de plataforma descrito na Subseção 2.5.3.2 foi adotado na representação dos

roteadores e dos canais de comunicação da NoC. Nesse modelo, Ogras e Marculescu (2013, p. 43)

caracterizam a plataforma utilizando uma tupla 𝐴𝑟𝑐ℎ 𝑇 𝑅,𝐶ℎ , 𝑃𝑅 , Ω 𝐶 onde: 𝑇 𝑅,𝐶ℎ

representa a topologia da rede; 𝑃𝑅 indica a política de roteamento; e Ω 𝐶 determina a função de

mapeamento dos vértices de um grafo de aplicação nos roteadores da rede.

Heurística de mapeamento

Este trabalho investiga o mapeamento de tarefas para a otimização de dois objetivos, o

primeiro consiste na garantia do cumprimento de prazos dos fluxos de comunicação, enquanto o

segundo visa à redução do consumo de energia estática. A otimização do cumprimento de prazos

pode implicar na adoção de canais virtuais para permitir a diferenciação entre as mensagens

trafegadas pela rede e desse modo, privilegiar fluxos prioritários. Por outro lado, a economia de

energia estática pode ser realizada pela minimização da quantidade de canais virtuais, uma vez que

esses canais são compostos principalmente por elementos de memória em forma de buffers os quais

são responsáveis por mais de 50% do consumo de energia estática nos roteadores. Portanto, os

objetivos propostos são conflitantes e, assim, o algoritmo de otimização busca encontrar soluções

que representem um bom compromisso entre essas métricas.

A heurística foi elaborada com base no algoritmo genético para otimização de múltiplos

objetivos denominado NSGA-II (DEB et al. 2002). Para representar o problema de modo que o

algoritmo possa gerar as possíveis soluções de mapeamento, foi empregado o cromossomo ilustrado

na Figura 22.

3 1 9 2

T0 T1 T2 T3 T4 T5 T6 T7

6 4 7 0 1 3 2 0

T0 T1 T2 T3 T4 T5 T6 T7

1 1 3 2

Mapeamento Canais virtuais

Núcleos Prioridade

Tarefas Tarefas

Figura 22. Cromossomo para representação do mapeamento e da atribuição de prioridades

Page 83: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

82

Nessa estrutura, os índices do cromossomo indicam as tarefas, o conteúdo dos genes indica

em que núcleo da plataforma elas devem ser mapeadas e seus respectivos níveis de prioridade.

Note-se que o tamanho do cromossomo corresponde ao dobro da quantidade de tarefas, onde a

primeira metade indica o mapeamento e a segunda metade determina o canal virtual a ser utilizado.

O conteúdo dos elementos do cromossomo destinados à representação do mapeamento das

tarefas deve variar de acordo com a quantidade de núcleos na plataforma. Por exemplo,

considerando-se uma rede 4×4os valores possíveis variam de 0 a 15. De forma semelhante, para as

prioridades, os valores permitidos estão entre 0 e 7 inclusive, totalizando oito níveis de prioridade.

O endereçamento dos núcleos foi definido conforme indica a Figura 23 (a) e, para

exemplificar o processo de mapeamento, a Figura 23 (b) ilustra a alocação das tarefas indicadas no

cromossomo da Figura 22. Como pode ser observado, a tarefa 𝑡0 foi posicionada no EP 3, a tarefa

𝑡1 no EP 1, a tarefa 𝑡2 no EP 9, e assim sucessivamente. Cabe salientar que a Figura 23 não

demonstra a atribuição de prioridades.

2

3

1

7 11 15

0

6

5

4

10

9

8

14

13

12

(a) (b)

T0 7

T1 T2

T3 T4

T5

T6

T70

1

2

3

0 31 2

Figura 23. Endereçamento da plataforma (a) e mapeamento de oito tarefas em (b)

Para que a heurística realize o processo de otimização é necessário fornecer como entrada a

descrição das características de comunicação da aplicação. Isso é realizado pela configuração de um

arquivo de descrição de tráfego. Esse arquivo contém para cada nodo da plataforma as informações

descritas na Figura 24, a primeira linha indica o nome do EP origem (“Tg_0_0” na figura). A

segunda linha determina a quantidade de fluxos partindo desse EP, as linhas subsequentes indicam

Page 84: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

83

as características de cada fluxo e serão tantas quanto à quantidade de fluxos mapeados no respectivo

EP14

.

Os rótulos entre parênteses apresentados na Figura 24 apontam algumas das informações

relevantes para o escopo deste trabalho. A informação contida em (a) define as coordenadas do

roteador destino, o nível de prioridade dos fluxos é indicado em (b). Enquanto (c) indica a

quantidade de pacotes, (d) o prazo de entrega de cada pacote, (e) a quantidade de flits contidos no

payload e (f) o período de ociosidade entre pacotes sucessivos.

2

Tg_0_0

0 0 2 0 3 0 100 305 100.0000 4 300 0 0 0 0.00 0.00

(a) (b) (c) (d) (e) (f)

0 1 1 0 3 0 100 235 100.0000 4 230 0 0 0 0.00 0.00

Figura 24. Informações de descrição de tráfego

Após a configuração de tráfego, a heurística segue o fluxo geral apresentado na Figura 25.

Entretanto, foram realizadas algumas alterações na versão original do NSGA-II, especificamente

nos processos de inicialização e avaliação, os quais estão destacados na figura.

Figura 25. Fluxo básico da heurística de mapeamento

14

Para os efeitos deste trabalho, cada conjunto de fluxos mapeado em um EP compreende a uma tarefa.

Page 85: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

84

O método de inicialização foi modificado em função de uma restrição inerente ao modelo de

plataforma que é composto por núcleos monotarefa. Isso ocorre porque, na inicialização, o

algoritmo cria uma população randômica de soluções. Ou seja, atribui-se um valor aleatório dentre

os valores limite de cada elemento do cromossomo. Com isso, algumas das soluções criadas são

inviáveis, pois contém valores repetidos na faixa de elementos destinados ao mapeamento das

tarefas. Isso implica na atribuição de mais de uma tarefa ao mesmo EP, mas uma vez que esse tipo

de mapeamento não é suportado pela plataforma essas soluções devem ser descartadas. A Figura 26

ilustra um exemplo de cromossomo contendo uma definição de mapeamento inválida, no qual as

tarefas 𝑡1 e 𝑡7 são ambas atribuídas ao EP 0.

3 9 2

T0 T1 T2 T3 T4 T5 T6 T7

6 4 7 1 3 2 0

T0 T1 T2 T3 T4 T5 T6 T7

1 1 3 20 0

Núcleos Prioridade

Figura 26. Exemplo de cromossomo indicando um mapeamento inválido

Para contornar essa limitação, o processo de inicialização foi ajustado de modo que, ao

atribuir um valor ao cromossomo visando indicar o mapeamento de uma tarefa, esse valor será

aceito apenas se o mesmo ainda não foi atribuído a outro elemento também destinado ao

mapeamento.

Essa alteração no processo de inicialização garante que a população inicial de soluções seja

composta apenas de mapeamentos válidos. Entretanto, durante o processo de otimização, são

criadas novas soluções pela aplicação dos operadores de cruzamento e mutação. Isso também pode

resultar na produção de mapeamentos inválidos, porém, como nenhuma alteração foi realizada

nesses processos, a heurística desenvolvida limita-se a detectar e não avaliar mapeamentos

inválidos.

No processo de inicialização, também foi realizado o ajuste na atribuição das prioridades, já

que, após uma série de experimentos, percebeu-se a necessidade de forçar o algoritmo a explorar

mapeamentos que não utilizam canais virtuais. Dada uma aplicação a ser mapeada na plataforma, a

adoção de canais virtuais para tal aplicação se justifica caso a não utilização dos mesmos acarrete

em perda de prazos. Portanto, definiu-se que para metade das soluções iniciais o nível de prioridade

Page 86: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

85

é 0, ou seja, todos os fluxos são tratados igualitariamente. Para as demais soluções, o nível de

prioridade é definido de modo aleatório. Com essa alteração é possível impor a exploração de

mapeamentos que resultem em menor consumo de energia estática.

Após a definição da população inicial o algoritmo precisa avaliar os mapeamentos gerados.

Com base nessa avaliação, as soluções são classificadas, são aplicados os operadores de seleção,

cruzamento, mutação e, as melhores soluções vão evoluir para as próximas gerações. Desse modo, a

parte principal da heurística de mapeamento consiste na avaliação das soluções, esse processo foi

implementado conforme o fluxo da Figura 27.

Figura 27. Fluxo de avaliação dos mapeamentos

O processo de avaliação é realizado em cada cromossomo gerado pelo algoritmo genético,

de modo que, ao receber uma solução de mapeamento a heurística verifica sua viabilidade. Caso o

mapeamento seja válido, então a heurística certifica se a estrutura de dados utilizada na

manipulação dos mapeamentos já foi inicializada. Esse processo de inicialização consiste em

carregar as informações de comunicação contidas no arquivo de descrição de tráfego.

Após a inicialização, a etapa seguinte consiste na simulação da aplicação em um ambiente

com precisão em nível de ciclos de relógio. A invocação das ferramentas necessárias é realizada por

intermédio de chamadas de sistema, como ilustra o diagrama da Figura 28. A plataforma SoCIN é

Page 87: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

86

responsável por simular o mapeamento das tarefas em uma arquitetura composta de uma rede 4×4 e

de geradores e medidores de tráfego. O resultado do processo de simulação compreende a uma série

de arquivos contendo os índices de desempenho dos pacotes encaminhados. Após a simulação a

heurística invoca a ferramenta ATR, a qual é encarregada de avaliar as métricas geradas durante a

simulação.

Figura 28. Ordem de invocação das ferramentas de avaliação

Ao finalizar a análise dos dados obtidos, o ATR cria relatórios de desempenho. Um desses

relatórios contém a análise do cumprimento dos prazos dos fluxos trafegados pela rede, essa métrica

é utilizada na avaliação da primeira função objetivo. Para o cálculo dessa métrica, utilizou-se (9),

onde 𝐹𝑛 corresponde à razão entre a quantidade de pacotes que não foram entregues no prazo

(𝑃𝑐𝑘𝑝𝑟𝑎𝑧𝑜𝑠 _𝑝𝑒𝑟𝑑𝑖𝑑𝑜𝑠 ) e a quantidade total de pacotes com restrição de tempo de entrega

(𝑃𝑐𝑘𝑐𝑜𝑚 _𝑝𝑟𝑎𝑧𝑜𝑠 ).

𝑂𝑏𝑗𝑒𝑡𝑖𝑣𝑜1 = 𝑚𝑖𝑛 𝐹𝑛 = 𝑃𝑐𝑘𝑝𝑟𝑎𝑧𝑜𝑠 _𝑝𝑒𝑟𝑑𝑖𝑑𝑜𝑠

𝑃𝑐𝑘𝑐𝑜𝑚 _𝑝𝑟𝑎𝑧𝑜𝑠

(9)

O segundo objetivo avaliado pela heurística consiste basicamente na minimização dos níveis

de prioridade das tarefas mapeadas na plataforma. Uma vez que a quantidade de prioridades está

diretamente relacionada à quantidade de canais virtuais, a segunda função objetivo pode ser descrita

por (10), onde 𝑉𝑖 corresponde ao nível de prioridade de cada tarefa. Logo, ao minimizar a

quantidade de canais virtuais também se reduz a dissipação de potência estática da rede.

Page 88: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

87

𝑂𝑏𝑗𝑒𝑡𝑖𝑣𝑜2 = 𝑚𝑖𝑛 𝑉𝑖

𝑙

𝑖=1

(10)

A partir da segunda iteração em que a heurística encontra um mapeamento válido, o fluxo de

avaliação passa a realizar a permutação das tarefas. Ou seja, atribui um novo posicionamento para

as tarefas já mapeadas. Nesse processo, as informações contidas no arquivo de descrição de tráfego

são atualizadas para corresponder ao novo posicionamento e aos índices de prioridade gerados pelo

algoritmo.

Com relação ao critério de parada, a heurística segue a abordagem padrão adotada pelo

algoritmo genético, a qual consiste na definição prévia do número de indivíduos na população de

soluções e a quantidade de gerações simuladas. Desse modo, o algoritmo finaliza após a avaliação

dos indivíduos de todas as gerações definidas.

Page 89: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

88

4.3.1 Comparação com trabalhos relacionados

A solução proposta neste trabalho apresenta características em comum com aquelas descritas

no Capítulo 3 Os quadros a seguir mostram um comparativo entre as abordagens identificadas na

literatura frente ao que foi desenvolvido. No Quadro 13, pode-se perceber que a heurística baseada

no algoritmo genético NSGA-II também foi adotada em outros dois trabalhos. Porém, no trabalho

de Sayuti e Indruziak (2013), as simulações são realizadas em alto nível de abstração. Já no trabalho

de Quan e Pimentel (2013), o algoritmo genético foi adotado na etapa estática do mapeamento para

seleção das alternativas de posicionamento a serem empregadas durante o mapeamento dinâmico.

Com relação à função objetivo, este é o único trabalho que explora a redução da potência estática.

Quadro 13. Comparação da técnica de mapeamento proposta

Trabalhos

Mapeamento Função Objetivo

Técnica Adotada Tipo IL

P

Meta

-heu

rística

Heu

rística

Está

tico

Din

âm

ico

Híb

rido

En

ergia

Pra

zos

Desem

pen

ho

Con

fiab

ilidad

e

Carvalho et al. (2009) SA, TS X

X X PL, BN X

Tosun (2011) CastNet X X X

Huang et al. (2011a) X SA X X

Antunes et al. (2012) SA X

X X X X

Sayuti e Indrusiak (2013) NSGA-II X X X Pham et al. (2013) X X X X

Bolchini et al. (2013) X X

X X X ODA X

Quan e Pimentel (2013) NSGA-II X

X X X STM X

Este trabalho NSGA-II X X X

Page 90: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

89

4.3.2 Plataforma proposta

A plataforma empregada neste trabalho emula um MPSoC de núcleos homogêneos

monotarefa com arquitetura de comunicação baseada em NoCs. O Quadro 14 ilustra as

características dessa plataforma em comparação com as que foram identificadas nos trabalhos

analisados previamente.

Quadro 14. Comparação da plataforma proposta

Trabalhos

Arquitetura de

Comunicação Plataforma

Elementos de

Processamento

Barra

men

to

NoC

SoC

MP

SoC

Hom

ogên

ea

Hetero

gog

ênea

Mon

ota

refa

Mu

ltitarefa

Carvalho et al. (2009) X X X X

Tosun (2011) X X X X

Huang et al. (2011a) X X X X

Antunes et al. (2012) X X X X

Sayuti e Indrusiak (2013) X X X

Pham et al. (2013) X X X X

Bolchini et al. (2013) X X X X

Quan e Pimentel (2013) X X X X

Este trabalho X X X X

Page 91: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

90

4.3.3 Ambiente de experimentação

O ambiente de experimentação adotado segue a mesma prática descrita na literatura. Foi

utilizado um simulador modelado em linguagem de descrição de hardware. Os experimentos de

avaliação foram baseados em aplicações sintéticas. Optou-se por abordar a redução do consumo de

energia estática, sendo que os valores de consumo foram tomados com base em tecnologia CMOS

de 32 nm. O Quadro 15 ilustra as similaridades entre as definições adotadas e as abordagens

documentadas nos trabalhos relacionados.

Quadro 15. Comparativo do ambiente de experimentação proposto

Trabalhos

Tecn

olo

gia

CM

OS

En

ergia

porp

aco

te

En

ergia

por b

it Benchmark Ferramentas de Apoio

Mu

ltimíd

ia

Sin

tético

Ap

licaçõ

es

reais

Simulador

específico

Geração e

análise de

grafos

Carvalho et al. (2009) X X X SystemC e

VHDL TGFF

Tosun (2011) 100 nm X X X Huang et al. (2011a) X X TGFF

Antunes et al. (2012) 70 nm X X X Framework

CAFES

Sayuti e Indrusiak (2013) X X X Framework

alto nível

Pham et al. (2013) X X SDF3

Bolchini et al. (2013) 65 nm X X SystemC/

TLM

Quan e Pimentel (2013) X Sesame15

Este trabalho 32 nm X SystemC

RTL/TLM

15

O ambiente Sesame, desenvolvido por Pimentel, Erbas e Polstra (2006), compreende um conjunto de ferramentas e

métodos para modelagem de sistemas multimídia embarcados.

Page 92: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

91

5 RESULTADOS

Este capítulo descreve os resultados obtidos no decorrer do desenvolvimento deste trabalho.

São discutidos aspectos relacionados às implementações realizadas, à configuração do experimento

e, por fim, aos resultados experimentais.

5.1 IMPLEMENTAÇÕES

Para o desenvolvimento do trabalho proposto, foi necessária a criação de uma estrutura de

experimentação e avaliação dos canais virtuais e da heurística de otimização. Para isso, foi realizada

uma série de implementações.

Primeiramente, foi descrito um modelo sintetizável em VHDL do roteador ParIS contendo

os oito canais virtuais. Esse modelo foi utilizado na identificação da dissipação de potência estática

do roteador e da rede.

Na segunda etapa, foi descrito um modelo SystemC do roteador ParIS com os canais

virtuais, a partir do qual foi criada uma rede de tamanho 4×4 composta pela nova versão do

roteador. Além disso, outros componentes da estrutura de simulação e avaliação foram ajustados

para permitir a realização das investigações propostas. Foram realizadas adaptações no gerador de

tráfego, no medidor de tráfego e na ferramenta de análise de desempenho.

A terceira fase consistiu na construção da heurística de otimização, a qual foi baseada na

adaptação de uma descrição em linguagem C do algoritmo genético NSGA-II. Esse algoritmo é

disponibilizado livremente para fins acadêmicos pelo grupo de pesquisa KanGAL (Kanpur Genetic

Algorithms Laboratory) do instituto indiano de tecnologia Kanpur.

5.2 EXPERIMENTO

Esta seção apresenta o experimento empregado na avaliação da heurística de mapeamento.

Se faz necessário, entretanto, estabelecer algumas premissas:

Comportamento de comunicação: a heurística desenvolvida neste trabalho ocupa-se

apenas do comportamento de comunicação das tarefas sem considerar questões

Page 93: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

92

relacionadas ao sincronismo entre elas. Portanto, assume-se que o modelo de tráfego

contém apenas mensagens assíncronas;

Tamanho da rede e número de fluxos: a heurística foi aplicada em uma rede de

tamanho 4×4 e com quantidade de fluxos de mensagem não superior a 28;

Configuração da rede: neste experimento, foi adotada uma rede operando a 1 GHz,

com controle de fluxo baseado em créditos, chaveamento wormhole, roteamento XY

e buffers de profundidade 4 nas entradas; e

Tempo de simulação: cada simulação foi executada por 50.000 ciclos que equivale a

50 microssegundos. Nesse tempo, foram transferidos, em média, 2.500 pacotes por

experimento de simulação.

A aplicação utilizada na validação da heurística de mapeamento foi gerada randomicamente

adotando fluxos de comunicação caracterizados de maneira semelhante à descrita por Bolotin et al.

(2004), os quais especificaram quatro tipos de tráfego de dados:

Sinalização: mensagens urgentes compostas por pacotes pequenos, caracterizando

sinais de controle e de interrupção;

Tempo real:fluxos de comunicação de aplicações de processamento de áudio e vídeo;

Leitura e escrita: comunicação decorrente de acessos a memória e registradores; e

Transferência em bloco: fluxos com grande volume de dados.

Esses padrões de tráfego foram especificados conforme descrito na Tabela 5. O grafo da

aplicação pode ser visualizado na Figura 29, sendo que a comunicação entre as 16 tarefas

compreende a 9 fluxos de sinalização (SL), 8 fluxos de tempo real (RT), 5 fluxos de leitura e escrita

(RW) e 6 fluxos de transferência de dados em bloco (BK). No algoritmo genético, por sua vez,

foram utilizados os parâmetros descritos na Tabela 6.

Page 94: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

93

Tabela 5. Configuração dos fluxos de comunicação

Fluxo Abreviatura Tamanho do

pacote (flits)

Largura de banda

requerida (Mbps) Prazo (ns)

Sinalização SL 4 320 20

Tempo real RT 40 320 125.000

Leitura e escrita RW 4 2560 150

Transferência em

bloco BK 2000 2560 50.000

1

211

0

4

RW9 5

614

13 15 7

812

3

10

BK

SL

BK

RTR

T

RW

SL

SL

RW

SLBKR

T

RWS

L

BK

SL

RT

Figura 29. Aplicação randômica composta de 16 tarefas

Tabela 6. Parâmetros adotados no algoritmo genético

Parâmetro Valor

Tamanho da população 100

Taxa de cruzamento 0,5

Taxa de mutação 0,03

Número de gerações 500

A Figura 30, apresenta os melhores resultados obtidos em cada geração do algoritmo

considerando-se como métrica de classificação o cumprimento de prazos. Nota-se que, a partir da

geração 54, a perda de prazos está abaixo de 1%, enquanto na geração 175 alcança 0.07%.

Page 95: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

94

Entretanto, na geração 185, o algoritmo chega aproximadamente a mesma taxa de perda utilizando

apenas 2 canais. Nas gerações seguintes, o algoritmo estabiliza e já não se observa melhoria quanto

aos prazos.

Ainda na Figura 30, percebe-se que as soluções encontradas nas primeiras gerações

contendo até 6 níveis de canais virtuais apresentam maior perda de prazos. Isso demonstra o

impacto do posicionamento das tarefas na plataforma. Ou seja, a simples adoção de canais virtuais

não garante o cumprimento dos prazos, é necessário definir um bom mapeamento para as tarefas.

Figura 30. Avaliação do cumprimento de prazos frente à quantidade de canais virtuais

O processo de melhoria na qualidade dos mapeamentos pode ser avaliado sob a ótica de

duas métricas: distância média entre as tarefas mapeadas e a concorrência entre os fluxos de

comunicação nos canais da rede. A distância entre as tarefas compreende a quantidade de enlaces

entre os nodos comunicantes enquanto que a concorrência é a quantidade de fluxos de comunicação

que compartilham o mesmo canal. O gráfico da Figura 31 ilustra a evolução dessas métricas ao

longo das etapas de otimização. Percebe-se que o algoritmo estabiliza a distância entre as tarefas em

pouco mais de 2 enlaces e a concorrência nos canais em aproximadamente 1,6 fluxos a partir da

geração 137.

0

1

2

3

4

5

6

7

0

0.5

1

1.5

2

2.5

3

3.5

1

18

35

52

69

86

10

3

12

0

13

7

15

4

17

1

18

8

20

5

22

2

23

9

25

6

27

3

29

0

30

7

32

4

34

1

35

8

37

5

39

2

40

9

42

6

44

3

46

0

47

7

49

4 Nív

eis

de c

an

ais

vir

tuais

Pra

zo

s p

erd

ido

s %

Gerações

Prazos perdidos Canais virtuais

Page 96: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

95

Figura 31. Avaliação da redução na distância entre as tarefas e da concorrência nos enlaces

O gráfico da Figura 32 demonstra o consumo de energia estática em relação ao cumprimento

de prazos, nota-se que a variação no consumo acompanha a variação da quantidade de canais

virtuais. Desse modo, as soluções de menor consumo utilizam apenas 1 canal virtual, porém tais

soluções não oferecem as melhores métricas em relação aos prazos.

Figura 32. Avaliação do cumprimento de prazos frente à quantidade de canais virtuais

Essa relação de compromisso entre prazos e energia estática pode ser ilustrada pela

diferença entre os resultados obtidos quando o critério de classificação é o consumo de energia. A

Figura 33 apresenta um gráfico normalizado com a diferença entre as métricas obtidas, sendo que o

eixo 0 corresponde aos resultados classificados em função da perda de prazos. Observa-se que ao

selecionar as soluções em função do consumo de energia incorre em redução nesse consumo em 0,4

μJ e aumento na perda de prazos em 2,2% em média.

1

1.25

1.5

1.75

2

2.25

2.5

2.75

3

0

0.5

1

1.5

2

2.5

3

3.5

1

18

35

52

69

86

10

3

12

0

13

7

15

4

17

1

18

8

20

5

22

2

23

9

25

6

27

3

29

0

30

7

32

4

34

1

35

8

37

5

39

2

40

9

42

6

44

3

46

0

47

7

49

4 Co

nco

rrên

cia

/dis

tân

cia

(m

éd

ia)

Pra

zo

s p

erd

ido

s %

Gerações

Prazos perdidos Concorrência nos canais Distância entre as tarefas

0

0.2

0.4

0.6

0.8

1

1.2

0

0.5

1

1.5

2

2.5

3

3.5

1

18

35

52

69

86

10

3

12

0

13

7

15

4

17

1

18

8

20

5

22

2

23

9

25

6

27

3

29

0

30

7

32

4

34

1

35

8

37

5

39

2

40

9

42

6

44

3

46

0

47

7

49

4 En

erg

ia e

stá

tica (

uJ)

Pra

zo

s p

erd

ido

s %

Gerações

Prazos perdidos Energia estática

Page 97: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

96

Figura 33. Cumprimento de prazos e consumo de energia estática normalizados

5.3 DISCUSSÃO

O experimento apresentado na seção anterior demonstra o potencial da heurística

desenvolvida na identificação de mapeamentos que configuram boas soluções compromisso entre a

perda de prazos e o consumo de energia estática em sistemas baseados em NoCs.

Partindo de um mapeamento em que o cumprimento de prazos é de 73% na geração inicial,

a heurística foi capaz de criar e evoluir novas soluções de modo a produzir mapeamentos com

99,9% dos prazos cumpridos na geração 175. O consumo de energia estática, por outro lado, está

diretamente relacionado à quantidade de canais virtuais. Portanto, as soluções de menor consumo

são aquelas que não utilizam os canais virtuais, e que por sua vez apresentam maior perda de

prazos.

As adequações realizadas no método de inicialização do algoritmo genético foram essenciais

para alcançar os resultados apresentados. Pois, devido ao modelo de plataforma proposto, a

abordagem original adotada pelo algoritmo resultava em muitas soluções inviáveis, influenciando

seriamente o processo de otimização devido ao descarte de muitos mapeamentos. Além disso, ao

definir que metade da população inicial não utiliza canais virtuais possibilitou-se a exploração mais

ampla de soluções com baixo consumo de energia estática.

A abordagem baseada em algoritmos genéticos se mostrou adequada ao problema proposto,

entretanto o tempo de simulação se mostrou um fator limitador. Haja vista que a simulação de um

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

-5

0

5

10

15

20

251

18

35

52

69

86

10

3

12

0

13

7

15

4

17

1

18

8

20

5

22

2

23

9

25

6

27

3

29

0

30

7

32

4

34

1

35

8

37

5

39

2

40

9

42

6

44

3

46

0

47

7

49

4

En

erg

ia e

stp

ati

ca (

uJ)

Pra

zo

s p

erd

ido

s %

Gerações

Prazos perdidos Energia estática

Page 98: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

97

mapeamento na plataforma demora em média 50 segundos e simular 500 gerações com população

de 100 indivíduos resulta em 50.000 execuções do algoritmo. Entretanto, como algumas soluções

geradas pelos processos de cruzamento e mutação ainda são inviáveis ao mapeamento, a execução

das 500 gerações simuladas demorou cerca de 2 semanas, devido ao descarte de mapeamentos

inválidos.

Essa questão aponta para a necessidade de substituição dos modelos de simulação por

modelos analíticos de forma que a avaliação dos mapeamentos possa ser realizada mais

rapidamente. Entretanto, a abordagem baseada em simulação continua sendo importante para

validar os resultados obtidos com a análise abstrata.

Page 99: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

98

6 CONCLUSÕES

O cumprimento de prazos de aplicações críticas é fundamental no contexto de sistemas de

tempo real, enquanto a economia de energia é uma preocupação inerente a todos os sistemas

eletrônicos. O equilíbrio entre esses objetivos em aplicações executadas em plataformas baseadas

em NoCs foi o tema abordado neste trabalho.

A metodologia empregada durante seu desenvolvimento consistiu primeiramente na

pesquisa bibliográfica dos assuntos tratados. Foram investigados conceitos de sistemas de

comunicação intrachip com foco especial em NoCs, além de assuntos relacionados ao consumo de

energia em circuitos integrados e aos sistemas de tempo real. Entretanto, o núcleo deste trabalho

tratou do mapeamento de tarefas, o qual foi alvo de extensa investigação, inclusive com a descrição

de uma revisão sistemática das publicações mais relevantes e atuais no contexto dessa dissertação.

Na etapa seguinte, foi elaborado um plano de implementações para possibilitar a

investigação do cumprimento de prazos e consumo de energia em uma NoC com suporte a canais

virtuais. Foi desenvolvida e adaptada toda a estrutura necessária a realização do experimento

proposto. Desde a síntese de um modelo de roteador em tecnologia ASIC para caracterizar a

dissipação de potência estática até a elaboração de uma heurística de otimização baseada em

algoritmos genéticos. Desse modo, pode-se afirmar que todos objetivos propostos foram

plenamente atingidos.

Como resultado, este trabalho apresenta a integração de uma estrutura de simulação em nível

de ciclos de uma rede composta por 16 roteadores equipados com até oito canais virtuais. Além de

uma heurística de otimização capaz de investigar o mapeamento de tarefas gerenciando as

ferramentas de simulação e avaliação de desempenho até convergir ao encontro de soluções

otimizadas. De modo que em resposta a pergunta de pesquisa apresentada, conclui-se que o melhor

tradeoff entre prazos, consumo de energia e quantidade de canais virtuais depende diretamente das

restrições impostas pelo problema tratado, cabendo ao projetista selecionar a solução mais adequada

dentre as melhores encontradas pela heurística.

Além disso, a aplicação do experimento de avaliação permitiu confirmar mediante o cenário

proposto as hipóteses elencadas. Ao selecionar as melhores soluções em função do consumo de

Page 100: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

99

energia, obtém-se mapeamentos com maior perda de prazos. Por outro lado, as melhores soluções

em relação à perda de prazos resultam em maior consumo de energia.

6.1 CONTRIBUIÇÕES DA DISSERTAÇÃO

A principal contribuição desta dissertação consiste na evidência experimental dos tradeoffs

entre o consumo de energia estática e o atendimento de prazos em sistemas baseados em NoCs.

Além da busca automatizada desses tradeoffs por meio de uma heurística multiobjetivo realizada

por simulação com elevado grau de acuracidade.

6.2 TRABALHOS FUTUROS

Diversas oportunidades de pesquisas podem ser apontadas a partir das investigações

realizadas nessa dissertação:

Adicionar a frequência de operação e a profundidade dos buffers como parâmetros de

otimização na heurística de mapeamento. De forma que, se possa identificar a

frequência mínima necessária para garantir o cumprimento dos prazos de uma

aplicação. Ainda, com a variação na profundidade dos buffers, comparar soluções que

utilizam maior número de canais virtuais com buffers de baixa capacidade frente a

soluções com reduzido número de canais virtuais compostos de buffers mais

profundos;

Realizar análise da dissipação de potência dinâmica da rede e dos canais de

comunicação e adequar o modelo de simulação para que seja possível definir a taxa

de chaveamento dos pacotes transmitidos, permitindo, deste modo, estimar o

consumo de energia dinâmica das aplicações simuladas;

Realizar a análise de escalonabilidade da rede de forma que o tempo de resposta e a

latência de pior caso possam ser identificados pela avaliação de equações, conferindo

maior agilidade no processo de otimização; e

Aplicar um método de atribuição de prioridades que identifique situações em que há

fluxos que não compartilham canais de comunicação, mas que possuem níveis

distintos de prioridade. E a partir disso, fazer com que esses fluxos compartilhem o

mesmo canal virtual.

Page 101: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

100

REFERÊNCIAS

AHN, Chang Wook. Advances in evolutionary algorithms: theory, design and practices. New

York: Springer, 2006. Cap. 2, p. 7-22. (ISBN: 3540317589)

ANTUNES, Eduardo; SOARES, Matheus; AGUIAR, Alexandra; JOHANN, F. Sergio; SARTORI,

Marcos; HESSEL, Fabiano; MARCON, Cesar. Partitioning and dynamic mapping evaluation for

energy consumption minimization on NoC-based MPSoC. In: THIRTEENTH INTERNATIONAL

SYMPOSIUM ON QUALITY ELECTRONIC DESIGN (ISQED), 13., 2012, Santa Clara.

Proceedings... New York: IEEE, 2012. p. 451-457. (DOI: 10.1109/ISQED.2012.6187532)

BENINI, Luca; DE MICHELI, Giovanni. Networks on chips: a new SoC paradigm. IEEE

Computer, Washington, v.35, n.1, p. 70-78, 2002. (DOI: 10.1109/2.976921)

BENINI, Luca; DE MICHELI, Giovanni. Networks on Chips: technology and tools. San

Francisco: Morgan Kaufmann, 2006. (ISBN: 978-0123705211)

BEREJUCK, Marcelo Daniel; ZEFERINO, Cesar Albenes. Adding mechanisms for QoS to a

Network-on-Chip. In: SYMPOSIUM ON INTEGRATED CIRCUITS AND SYSTEMS DESIGN

(SBCCI), 22., 2009, Natal. Proceedings... New York: ACM, 2009. p. 153-158.

(DOI:10.1145/1601896.1601928)

BERTOZZI, Davide. The data-link layer in NoC design. In: BENINI, Luca; DE MICHELI,

Giovanni.(Ed.). Networks on Chips: technology and tools. San Francisco: Morgan Kaufmann,

2006. (ISBN: 978-0123705211)

BOLANOS, Freddy; RIVERA, Fredy; AEDO, Jose Edinson; BAGHERZADEH, Nader. From uml

specification to mapping and scheduling of tasks into a NoC, with reliability considerations.

Journal of Systems Architecture, New York, v.59, n.7, p. 429-440, 2013. (DOI:

10.1016/j.sysarc.2013.04.009)

BOLCHINI, Cristiana; CARMINATI, Matteo; MIELE, Antonio; DAS, Anup; KUMAR, Akash;

VEERAVALLI, Bharadwaj. Run-time mapping for reliable many-cores based on

energy/performance trade-offs. In: IEEE INTERNATIONAL SYMPOSIUM ON DEFECT AND

FAULT TOLERANCE IN VLSI AND NANOTECHNOLOGY SYSTEMS (DFT), 15., 2013, New

York. Proceedings... New York: IEEE, 2013. p. 58-64. (DOI: 10.1109/DFT.2013.6653583)

BOLOTIN, Evgeny; ISRAEL, Cidon; GINOSAR, Ran; KOLODNY, Avinoam. QNoC: QoS

architecture and design process for network on chip. Journal of Systems Architecture, New York,

v.50, n.2-3, p. 105-128, 2004. (DOI:10.1016/j.sysarc.2003.07.004)

BRAAK Timon D. ter; HÖLZENSPIES, Philip K. F.; KUPER Jan; HURINK, Johann L.; SMIT,

Gerard J. M. Run-time spatial resource management for real-time applications on heterogeneous

MPSoCs. In: DESIGN, AUTOMATION TEST IN EUROPE CONFERENCE & EXHIBITION

(DATE), 10., 2010, Dresden. Proceedings... New York: IEEE, 2010. p. 357-362.

(DOI:10.1109/DATE.2010.5457177)

Page 102: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

101

BRUCH, Jaison Valmor; PIZZONI, Magnos Roberto; ZEFERINO, Cesar Albenes. BrownPepper: a

SystemC-based simulator for performance evaluation of networks-on-chip. In: INTERNATIONAL

CONFERENCE ON VERY LARGE SCALE INTEGRATION (VLSI-SoC), 17., 2009,

Florianópolis. Proceedings... New York: IEEE, 2009. p. 223-226. (DOI:

10.1109/VLSISOC.2009.6041361)

BURNS, Alan; WELLINGS, Andy. Real-time systems and programming languages: Ada, real-

time Java and C/real-time POSIX. 4. ed. Harlow: Pearson Education, 2009. (ISBN:9780321417459)

BUTTAZZO, Giorgio C. Hard Real-time computing systems: predictable scheduling algorithms

and applications. 3. ed. New York: Springer, 2011. (ISBN: 9781461406754)

CARVALHO, Ewerson Luiz de Souza; CALAZANS, Ney Laert Vilar; MORAES, Fernando Gehm.

Dynamic task mapping for MPSoCs. IEEE Design & Test of Computers, [S.l.], v. 27, n.5, p. 26-

35, 2010. (DOI: 10.1109/MDT.2010.106)

CARVALHO, Ewerson Luiz de Souza. Mapeamento dinâmico de tarefas em MPSoCs

heterogêneos baseados em NoC. 2009. 168 f. Tese (Doutorado) - Programa de Pós-graduação em

Ciência da Computação, Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre,

2009.

CARVALHO, Ewerson; MARCON, César; CALAZANS, Ney; MORAES, Fernando Gehm.

Evaluation of static and dynamic task mapping algorithms in NoC-based MPSoCs. In:

INTERNATIONAL SYMPOSIUM ON SYSTEM-ON-CHIP (SOC), 11., 2009, Tampere.

Proceedings... New York: IEEE, 2009, p. 87-90. (DOI: 10.1109/SOCC.2009.5335672)

CASTRILLON, Jeronimo; LEUPERS, Rainer; ASCHEID, Gerd. MAPS: mapping concurrent

dataflow applications to heterogeneous MPSoCs. IEEE Transactions on Industrial

Informatics.Washington, v.9, n.1, p. 527-545, 2013. (DOI: 10.1109/TII.2011.2173941)

CHEN, Lizhong; PINKSTON, Timothy M. NoRD: node-router decoupling for effective power-

gating of on-chip routers. In: IEEE/ACM INTERNATIONAL SYMPOSIUM ON

MICROARCHITECTURE (MICRO), 45., 2012, Vancouver. Proceedings... Washington: IEEE,

2012. p. 270-281. (DOI: 10.1109/MICRO.2012.33)

CHENG, Albert M. K. Real-time systems: scheduling, analysis and verification. New Jersey: John

Wiley & Sons, 2002. (ISBN: 0-471-18406-3)

CHOU, Chen-Ling; MARCULESCU, Radu. User-aware dynamic task allocation in Networks-on-

Chip. In: DESIGN, AUTOMATION TEST IN EUROPE CONFERENCE & EXHIBITION

(DATE), 8., 2008, Munich. Proceedings... New York: IEEE, 2008. p. 1232-1237.

(DOI:10.1109/DATE.2008.4484847)

CIDON, Israel, GOOSSENS, K. G. W. Network and transport layers in Networks on Chip. In:

BENINI, Luca; DE MICHELI, Giovanni (Ed). Networks on Chips: technology and tools. San

Francisco: Morgan Kaufmann, 2006. (ISBN: 978-0123705211)

Page 103: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

102

COELLO, Carlos A. Coello. Evolutionary multi-objective optimization: a historical view of the

field. IEEE Computational Intelligence Magazine, Piscataway, v.1, n.1, p.28-36, 2006.

(DOI:10.1109/MCI.2006.1597059)

COFFMAN, E. G. Jr.; GAREY, M. R.; JOHNSON, D. S. Approximation algorithms for bin

packing: a survey. In: HOCHBAUM, Dorit (Ed.). Approximation algorithms for NP-hard

Problems, Boston: PWS, 1997. p. 46-93. (ISBN: 978-0534949686)

COSKUN, Ayse Kivilcim; ROSING, Tajana Simunic; GROSS, Kenny C. Utilizing predictors for

efficient thermal management in multiprocessor SoCs. IEEE Transactions on Computer-Aided

Design of Integrated Circuits and Systems, [S.l], v.28, n.10, p. 1503-1516, 2009.

(DOI:10.1109/TCAD.2009.2026357)

COTA, Érica; AMORY, Alexandre de Morais; LUBASZEWSKI, Marcelo Soares. Reliability,

availability and serviceability of Networks-on-Chip. New York: Springer, 2012.

(ISBN:9781461407904)

DALLY, William James; TOWLES, Brian. Principles and practices of interconnection

networks. San Francisco: Morgan Kaufmann, 2004. (ISBN: 0-12-200751-4)

DAS, Anup; KUMAR, Akash; VEERAVALLI, Bharadwaj. Reliability-driven task mapping for

lifetime extension of Networks-on-Chip based multiprocessor systems. In: DESIGN,

AUTOMATION TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 13., 2013,

Grenoble. Proceedings... New York: IEEE, 2013. p. 689-694. (DOI: 10.7873/DATE.2013.149)

DEB, Kalyanmoy. Multi-objective optimization using evolutionary algorithms. Chichester: John

Wiley & Sons, 2001. (ISBN:978-0-471-87339-6)

DEB, Kalyanmoy; PRATAP, Amrit; AGARWAL, Sameer; MEYARIVAN, T. A fast and elitist

multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation,

Piscataway, v.6, n.2, p. 182-197, 2002. (DOI: 10.1109/4235.996017)

DICK, Robert P.; RHODES, David L.; WOLF, Wayne. TGFF: task graphs for free. In:

INTERNATIONAL WORKSHOP ON HARDWARE/SOFTWARE CODESIGN

(CODES/CASHE), 6., 1998, Seattle, Proceedings... Washington: IEEE, 1998. p. 97-101.

(DOI:10.1109/HSC.1998.666245)

DRÉO Johann; PÉTROWSKI Alain; SIARRY Patrick; TAILLARD Eric. Metaheuristics for hard

optimization: methods and case studies. Translator: AmitavaChatterjee. Berlin: Springer, 2006.

(ISBN: 978-3-540-23022-9)

DUATO, José; YALAMANCHILI, Sudhakar; NI, Lionel. Interconnection netoworks: an

engineering approach. San Francisco: Morgan Kaufmann, 2003. (ISBN: 1-55860-852-4)

GLOVER, Fred; LAGUNA, Manuel. Tabu search. Boston: Kluwer Academic Publishers, 1997.

Cap. 1, p. 1-24. (ISBN: 079239965X)

GOLDBARG, Marco Cesar; LUNA, Henrique Pacca L. Otimização combinatoria e

programação linear. Rio de Janeiro: Campus, 2000. (ISBN: 85-352-0541-1)

Page 104: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

103

GORACZKO, Michel; LIU, Jie; LYMBEROPOULOS, Dimitrios; MATIC, Slobodan;

PRIYANTHA, Bodhi; ZHAO, Feng. Energy-optimal software partitioning in heterogeneous

multiprocessor embedded systems. In: ACM/IEEE DESIGN AUTOMATION CONFERENCE

(DAC), 45., 2008, Anaheim. Proceedings... New York: ACM, 2008. p. 191-196. (DOI:

10.1145/1391469.1391518)

GUPTA, Rajesh K.; ZORIAN, Yervant. Introducing core-based system design. IEEE Design &

Test of Computers, Washington, v.14, n.4, p.15-25, 1997. (DOI: 10.1109/54.632877)

HILLIER, S. Frederick; LIEBERMAN, J. Gerald. Introdução à pesquisa operacional. 9. ed.

Tradutor: Ariovaldo Griesi. Porto Alegre: AMGH, 2013. (ISBN:978-85-8055-118-1)

HU, Jingcao; MARCULESCU, Radu. Energy-aware communication and task scheduling for

Network-on-Chip architectures under real-time constraints. In: DESIGN, AUTOMATION AND

TEST IN EUROPE CONFERENCE AND EXHIBITION (DATE), 4., 2004, Paris. Proceedings...

New York: IEEE, 2004. p. 234-239. (DOI: 10.1109/DATE.2004.1268854)

______. Energy- and performance-aware mapping for regular NoC architecture. IEEE

Transactions on Computer-Aided Design of Integrated Circuits and Systems, Washington,

v.24, n.4, p. 551-562, 2005. (DOI: 10.1109/TCAD.2005.844106)

HUANG, Jia; BUCKL, Christian; RAABE, Andreas; KNOLL, Alois. Energy-aware task allocation

for Network-on-Chip based heterogeneous multiprocessor systems. In: EUROMICRO

INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED AND NETWORK-

BASED PROCESSING (PDP), 19., 2011a, Ayia Napa. Proceedings... Washington: IEEE, 2011a.

p. 447-454. (DOI: 10.1109/PDP.2011.10)

______. A workflow for runtime adaptive task allocation on heterogeneous MPSoCs. In: DESIGN,

AUTOMATION AND TEST IN EUROPE CONFERENCE AND EXHIBITION (DATE), 2011b,

Genoble. Proceedings... New York: IEEE, 2011b. p. 1-6. (DOI: 10.1109/DATE.2011.5763189)

INDRUSIAK, Leandro Soares. End-to-end schedulability tests for multiprocessor embedded

systems based on networks-on-chip with priority-preemptive arbitration. Journal of Systems

Architecture, [S.l], v.60, n.7, p. 553-561, 2014. (DOI:10.1016/j.sysarc.2014.05.002)

JERGER, Natalie Enright; PEH, Li-Shiuan. On-Chip networks. California: Morgan & Claypool

2009. (ISBN: 9781598295849)

JERRAYA, Ahmed Amine; WOLF, Wayne. The what, why, and how of MPSoCs. In: JERRAYA,

Ahmed Amine; WOLF, Wayne. (Ed.). Multiprocessor systems-on-chip. San Francisco: Morgan

Kaufmann, 2005. p. 1-18. (ISBN: 012385251X)

JHA, Niraj K. Low power system scheduling and synthesis. In: IEEE/ACM INTERNATIONAL

CONFERENCE ON COMPUTER AIDED DESIGN (ICCAD), 20., 2001, California.

Proceedings… Washington: IEEE, 2001. p. 259-263. (DOI: 10.1109/ICCAD.2001.968629)

KAXIRAS, Stefanos; MARTONOSI, Margaret. Computer architecture techniques for power-

efficiency. California: Morgan & Claypool, 2008. (ISBN: 9781598292084)

Page 105: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

104

KOGEL, Tim; LEUPERS, Rainer; MEYR, Heinrich. Integrated system-level modeling of

Network-on-Chip enabled multi-processor platforms. Dordrecht: Springer, 2006.

(ISBN:1402048254)

KOIBUCHI, Michihiro; MATSUTANI, Hiroki. Networks-on-Chip protocols. In: GEBALI, Fayez;

ELMILIGI, Haytham; EL-KHARASHI, Mohamed Watheq. (Ed.). Networks-on-Chips: theory and

practice. Boca Raton: CRC Press, 2009. p. 65-94. (ISBN: 9781420079784)

KWOK, Yu-Kwong; MACIEJEWSKI, Anthony A.; SIEGEL, Howard Jay; AHMAD, Ishfaq;

GHAFOOR, Arif. A semi-static approach to mapping dynamic iterative tasks onto heterogeneous

computing systems. Journal of Parallel and Distributed Computing,[S.l] v. 66, n.1, p. 77-98,

2006. (DOI: 10.1016/j.jpdc.2005.06.015)

LAHIRI, Kanishka; RAGHUNATHAN, Anand; DEY, Sujit. Evaluation of the traffic-performance

characteristics of system-on-chip communication architectures. In: INTERNATIONAL

CONFERENCE ON VLSI DESIGN, 14., 2001. Bangalore. Proceedings... New York: IEEE, 2001.

p. 29-35. (DOI: 10.1109/ICVD.2001.902636)

LEE, Seung Eun; BAGHERZADEH, Nader. Energy and power issues in Networks-on-Chips. In:

GEBALI, Fayez; ELMILIGI, Haytham; EL-KHARASHI, Mohamed Watheq. (Ed.). Networks-on-

Chips: theory and practice. Boca Raton: CRC, 2009. Cap. 9, p. 255-275. (ISBN:1420079786)

LU, Zhonghai; JANTSCH, Axel; SANDER, Igon. Feasibility analysis of messages for on-chip

networks using wormhole routing. In: ASIA AND SOUTH PACIFIC DESIGN AUTOMATION

CONFERENCE (ASP-DAC), 05., 2005, Shanghai. Proceedings... New York: ACM, 2005. p. 960-

964. (DOI: 10.1145/1120725.1120767)

MARCON, César Augusto Missio; CALAZANS, Ney Laert Vilar; MORENO, Edson Ifarraguirre;

MORAES, Fernando Gehm; HESSEL, Fabiano Passuelo; SUSIN, Altamiro Amadeu. CAFES: a

framework for intrachip application modeling and communication architecture design. Journal of

Parallel and Distributed Computing, [S.l] v.71, n.5, p. 714-728, 2010.

(DOI:10.1016/j.jpdc.2010.10.002)

MARCULESCU, Radu; OGRAS, Umit Y.; PEH, Li-Shiuan; JERGER, Natalie Enright;

HOSKOTE, Yatin. Outstanding research problems in NoC design: system, microarchitecture, and

circuit perspectives. IEEE Transactions on Computer-Aided Design of Integrated Circuits and

Systems, [S.l], v.28, n.1, p. 3-21, 2009. (DOI: 10.1109/TCAD.2008.2010691)

MESIDIS, Paris-alexandros. Mapping of real-time applications on Network-on-Chip based

MPSoCs. 2011. 105 f. Thesis (Master of Science) - Department of Computer Science, The

University of York, York, 2011.

MESIDIS, Paris; INDRUSIAK, Leandro Soares. Genetic mapping of hard real-time applications

onto NoC-based MPSoC - a first approach. In: INTERNATIONAL WORKSHOP ON

RECONFIGURABLE COMMUNICATION-CENTRIC SYSTEMS-ON-CHIP (ReCoSoC), 6.,

2011, Montpellier. Proceedings... Washington: IEEE, 2011. p. 1-6.

(DOI:10.1109/ReCoSoC.2011.5981532)

Page 106: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

105

NI, Lionel M. Issues in designing truly scalable interconnection networks. In: INTERNATIONAL

CONFERENCE ON PARALLEL PROCESSING WORKSHOP (ICPPW), 1996, Ithaca.

Proceedings... Washington: IEEE, 1996. p. 74-83. (DOI:10.1109/ICPPW.1996.538592)

NI, Lionel M.; MCKINLEY, Philip K. A survey of wormhole routing techniques in direct networks.

IEEE Computer, [S.l.] v.26, n.2, p. 62-76, 1993. (DOI: 10.1109/2.191995)

OGRAS, Umit Y.; MARCULESCU, Radu. Modeling, analysis and optimization of Networks-

on-Chip communication architectures. New York: Springer, 2013. Cap. 4, p. 39-47.

(ISBN:9789400739574)

PALESI, Maurizio; ASCIA, Giuseppe; FAZZINO, Fabrizio; CATANIA, Vicenzo. Data encoding

schemes in Networks on Chip. IEEE Transactions on Computer-Aided Design of Integrated

Circuits and Systems, Piscataway, v.30, n.5, p. 774-786, 2011.

(DOI:10.1109/TCAD.2010.2098590)

PASRICHA, Sudeep; DUTT, Nikil. On-Chip communication architectures. San Francisco:

Morgan Kaufmann, 2008. (ISBN: 9780123738929)

PHAM, Duc T.; KARABOGA, D. Intelligent optimization techniques: genetic algorithms, tabu

search, simulated annealing and neural networks. London: Springer, 2000. (ISBN: 9781447111863)

PHAM, Nam Khanh; SINGH, Amit Kumar; KUMAR, Aakash; AUNG, Khin Mi Mi. Incorporating

energy and throughput awareness in design space exploration and run-time mapping for

heterogeneous MPSoCs. In: EUROMICRO CONFERENCE ON DIGITAL SYSTEM DESIGN

(DSD), 16., 2013, Santander. Proceedings... [S.l: s.n.], 2013. p. 513-521.

(DOI:10.1109/DSD.2013.61)

PIMENTEL, Andy D.; ERBAS, Cagkan; POLSTRA, Simon. A systematic approach to exploring

embedded system architectures at multiple abstraction levels. IEEE Transactions on Computers,

Washington, v.55, n.2, p. 99-112, 2006. (DOI: 10.1109/TC.2006.16)

POP, Ruxandra. Mapping concurrent applications to multiprocessor systems with

multithreaded processors and networks on chip-based interconnections. 2011. 141 f. Thesis

(Licentiate of Engineering) - Department of Computer and Information Science, Linköpings

Universitet, Linköpings, 2011.

QUAN, Wei; PIMENTEL, Andy D. A scenario-based run-time task mapping algorithm for

MPSoCs. In: DESIGN AUTOMATION CONFERENCE (DAC), 50., 2013, Austin. Proceedings...

New York: ACM, 2013. p. 1-6. (DOI: 10.1145/2463209.2488895)

RABAEY, Jan M. Digital Integrated Circuits: a design perspective. New Jersey: Prentice Hall,

1996. (ISBN:0131786091)

RAGHUNATHAN, Anand; JHA, Niraj K.; DEY, Sujit. High-level power analysis and

optimization. New York: Springer, 1998. Cap. 1, p. 1-15. (ISBN: 0792380738)

RUGGIERO, Martino; GUERRI, Alessio; BERTOZZI, Davide; POLETTI, Francesco; MILANO,

Michela. Communication-aware allocation and scheduling framework for stream-oriented multi-

processor systems-on-chip. In: DESIGN, AUTOMATION TEST IN EUROPE CONFERENCE &

Page 107: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

106

EXHIBITION (DATE), 6., 2006, Munich. Proceedings... New York: IEEE, 2006. p. 3-8.

(DOI:10.1109/DATE.2006.243950)

RUGGIERO, Martino. NoC architectures. In: AYALA, José L. (Ed). Communication

architectures for Systems-on-Chip. Boca Raton: CRC Press, 2011. p. 83-125.

(ISBN:9781439841709)

SAYUTI, M. Norazizi Sham Mohd; INDRUSIAK, Leandro Soares. Real-time low-power task

mapping in Networks-on-Chip. In: IEEE COMPUTER SOCIETY ANNUAL SYMPOSIUM ON

VLSI (ISVLSI), 2013, Natal. Proceedings... [S.l]: IEEE, 2013. p. 14-19.

(DOI:10.1109/ISVLSI.2013.6654616)

SELL, John; O’CONNOR, Patrick. The Xbox One system on a chip and kinect sensor. IEEE

Micro, Washington, v.34, n.2, p. 44-53, 2014. (DOI: 10.1109/MM.2014.9)

SHI, Zeng. Real-Time Communication Services for Networks on Chip. 2009. 204 f. Thesis

(Doctor of Philosophy in Computer Science) - Real-Time Systems Research Group, The University

of York, York, 2009.

SHI, Zheng; BURNS, Alan; INDRUSIAK, Leandro Soares. Schedulability analysis for real time

on-chip communication with wormhole switching. International Journal of Embedded and Real-

Time Communication Systems, Pennsylvania, v.1, n.2, p. 1-22, 2010.

(DOI:10.4018/jertcs.2010040101)

SILVA, Eduardo Alves; METZGER, Luiz Gustavo; ZEFERINO, Cesar Albenes. On the

development of a Qt-based multithread NoC simulator. In: WORKSHOP ON CIRCUITS AND

SYSTEMS DESIGN (WCAS 2014), 4., 2014, Aracaju. Proceedings.... Porto Alegre: SBC, 2014. p.

1-4.

SINGH, Amit Kumar; KUMAR, Akash; SRIKANTHAN, Thambipillai. Accelerating throughput-

aware runtime mapping for heterogeneous MPSoCs. ACM Transactions on Design Automation

of Electronic Systems (TODAES), New York, v.18, n.1, p. 9:1-9:29, 2013.

(DOI:10.1145/2390191.2390200)

SINGH, Amit Kumar; SHAFIQUE, Muhammad; KUMAR, Akash; HENKEL, Jörg. Mapping on

multi/many-core systems: survey of current and emerging trends. In: DESIGN AUTOMATION

CONFERENCE (DAC), 50., 2013, Austin. Proceedings... New York: ACM, 2013. p. 1-10.

(DOI:10.1145/2463209.2488734)

SMIT, Lodewijk T.; SMIT, Gerard J. M.; HURINK, Johann L.; BROERSMA, Hajo; PAULUSMA

Daniel; WOLKOTTE, Pascal T. Run-time mapping of applications to a heterogeneous

reconfigurable tiled system on chip architecture. In: IEEE INTERNATIONAL CONFERENCE ON

FIELD-PROGRAMMABLE TECHNOLOGY, 2004, Brisbane. Proceedings... Washington: IEEE,

2004. p. 421-424. (DOI: 10.1109/FPT.2004.1393315)

SRINIVASAN, Krishnan; CHATHA, Karam S.; KONJEVOD, Goran. Linear-programming-based

techniques for synthesis of network-on-chip architectures. IEEE Transactions on Very Large

Scale Integration (VLSI) Systems, Piscataway, v.14, n.4, p. 407-420, 2006.

(DOI:10.1109/TVLSI.2006.871762)

Page 108: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

107

STACKHOUSE, Blaine; BHIMJI, Sal; BOSTAK, Chris; BRADLEY, Dave; CHERKAUER, Brian;

DESAI, Jayen; FRANCOM, Erin; GOWAN, Mike; GRONOWSKI, Paul; KRUEGER, Dan;

MORGANTI, Charles; TROYER, Steve. A 65 nm 2-billion transistor quad-core Itanium processor.

IEEE Journal Of Solid-State Circuits, Washington, v.44, n.1, p. 18-31, 2008. (DOI:

10.1109/JSSC.2008.2007150)

STANKOVIC, John A.; RAMAMRITHAM, Krithi. What is predictability for real-time systems?

Real-Time Systems, [S.l], v.2, n.4, p. 247-254, 1990. (DOI: 10.1007/BF01995673)

STUIJK, Sander; GEILEN, Marc; BASTEN, Twan. SDF3: SDF for free. In: INTERNATIONAL

CONFERENCE ON APPLICATION OF CONCURRENCY TO SYSTEM DESIGN (ACSD), 6.,

2006, [S.l]. Proceedings... [S.l: s.n.], 2006. p. 276-278. (DOI: 10.1109/ACSD.2006.23)

TABKHI, Hamed; SCHIRNER; Gunar. Application-guided power gating reducing register file

static power. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Piscataway,

v.22, n.12, p. 2513-2526, 2014. (DOI:10.1109/TVLSI.2013.2293702)

TAMIR, Yuval; FRAZIER, Gregory L. Dynamically-allocated multi-queue buffers for VLSI

communication switches. IEEE Transactions on Computers, v.41, n.6, p. 725-737, 1992.

(DOI:10.1109/12.144624)

TOSUN, Suleyman. New heuristic algorithms for energy aware application mapping and routing on

mesh-based NoCs. Journal of Systems Architecture, [S.l], v.57, n.1, p. 69-78, 2011.

(DOI:10.1016/j.sysarc.2010.10.001)

ZEFERINO, Cesar Albenes. Redes-em-Chip: arquiteturas e modelos para avaliação de área e

desempenho. 2003. 242 f. Tese (Doutorado em Ciência da Computação) - Programa de Pós-

graduação em Computação, Universidade Federal do Rio Grande do Sul, Porto Alegre, 2003.

ZEFERINO, Cesar Albenes; KREUTZ, Márcio Eduardo; SUSIN, Altamiro Amadeu. RASoC: A

router soft-core for Networks-on-Chip. In: DESIGN, AUTOMATION AND TEST IN EUROPE

CONFERENCE AND EXHIBITION (DATE), 4., 2004, Paris. Proceedings... New York: IEEE,

2004. p. 16-20. (DOI: 10.1109/DATE.2004.1269230)

ZEFERINO, Cesar Albenes; SANTO, Frederico G. M. E; SUSIN, Altamiro Amadeu. ParIS: a

parameterizable interconnect switch for Networks-on-Chip. In: SYMPOSIUM ON INTEGRATED

CIRCUITS AND SYSTEM DESIGN (SBCCI), 17., 2004, Pernambuco. Proceedings… New York:

ACM, 2004. p. 204-209. (DOI: 10.1109/SBCCI.2004.240876)

YE Terry Tao; BENINI Luca; De MICHELI Giovanni. Analysis of power consumption on switch

fabrics in networks routers. In: DESIGN AUTOMATION CONFERENCE (DAC), 39., 2002, New

Orleans. Proceedings... Washington: IEEE, 2002. p. 524-529. (DOI: 10.1109/DAC.2002.1012681)

YU, Jia; YAO, Jingnan; BHUYAN, Laxmi; YANG, Jun. Program mapping onto network

processors by recursive bipartitioning and refining. In: DESIGN AUTOMATION CONFERENCE

(DAC), 44., 2007, San Diego. Proceedings... New York: ACM, 2007. p. 805-810.

(DOI:10.1145/1278480.1278681)

Page 109: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

108

APÊNDICE A – REVISÃO SISTEMÁTICA

Este apêndice descreve os passos seguidos no processo de seleção dos artigos que compõem

o Capítulo 3 deste trabalho. Com base na definição das perguntas de pesquisa foi elaborado um

protocolo de busca que permitiu a identificação de artigos científicos relacionados ao tema

investigado. As etapas posteriores visaram à filtragem, avaliação, extração de dados e síntese dos

estudos.

Questões de pesquisa

Q1: Quais as técnicas adotadas pela comunidade científica no mapeamento de tarefas em

plataformas baseadas em NoCs visando a economia de energia?

Q2: Quais as principais métricas otimizadas no mapeamento das tarefas?

Q3: Como as técnicas de mapeamento são avaliadas?

Q4: Que tecnologias são adotadas, simuladores ou ferramentas específicas?

Protocolo de busca16

O protocolo de busca adotado na identificação de publicações relacionadas ao tema deste

trabalho, foi idealizado de maneira a recuperar artigos que tratam do mapeamento de tarefas para

redução do consumo de energia em NoCs. Foram identificados diversos termos chave juntamente

com suas variações. Além disso, foram buscados preferencialmente trabalhos publicados em língua

inglesa e divulgados em bases de dados eletrônicas. Os trabalhos relacionados descritos nessa

pesquisa foram identificados com os seguintes termos de busca:

(((*power*) OR (*energy*)) AND ((“task mapping”) OR (“task allocation”) OR

(“task-mapping”) OR (“task-allocation”) OR (“application mapping”) OR

(“heuristic”) OR (“algorithm”)) AND ((NoC*) OR (“network-on-chip”) OR

(“networks-on-chip”) OR (“MPSoC”)))

16

No protocolo descrito, o símbolo asterisco (*) indica que se deseja buscar a palavra chave combinada com todos os

termos disponíveis na base de dados. Esse caractere é conhecido como “curinga”, a biblioteca digital IEEExplore

oferece essa funcionalidade em sua ferramenta de busca avançada.

Page 110: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

109

Critérios para seleção de estudos

Após a execução do protocolo de busca se faz necessário selecionar as publicações mais

relevantes, tendo como base critérios de filtragem. Neste trabalho foram adotados os seguintes

procedimentos de seleção:

Data de publicação: foram selecionados nessa revisão artigos publicados a partir do

ano de 2009, com isso foi possível reduzir significativamente o conjunto de trabalhos

retornados; e

Análise do título e do resumo: essa análise visa descartar trabalhos que embora

contenham algumas palavras-chave de interesse não abordam especificamente o

assunto pesquisado.

Avaliação dos estudos selecionados

O processo de filtragem adotado na seleção de estudos é seguido pela etapa de avaliação dos

trabalhos escolhidos. Esse processo consiste em analisar o conteúdo dos artigos selecionados,

identificando a relevância desses, as contribuições e os resultados obtidos. Nessa etapa foram

selecionados apenas os artigos que apresentaram avaliação quanto ao consumo de energia, como

observado no Quadro 10.

Extração dos dados

Os artigos aprovados nos processos de seleção e avaliação passaram por uma etapa de

extração de dados. Essas informações são essenciais na comparação entre as diversas abordagens

empregadas atualmente no mapeamento de tarefas frente ao que é proposto neste trabalho. As

seguintes informações foram identificadas nos estudos avaliados:

Informações para referência bibliográfica;

Técnica empregada no mapeamento;

Métricas otimizadas;

Especificação da plataforma;

Modelos adotados;

Método de avaliação;

Page 111: MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO REAL ...siaibib01.univali.br/pdf/Jaison Valmor Bruch-2015.pdf · MAPEAMENTO ESTÁTICO DE TAREFAS DE APLICAÇÕES DE TEMPO

110

Ferramental de apoio; e

Resultados obtidos;

Síntese dos dados

As informações elencadas anteriormente foram organizadas em tabelas para permitir a

comparação entre os diferentes trabalhos descritos na literatura e a abordagem proposta. Os dados

mais relevantes serviram como base para as análises e discussões apresentadas nos Capítulos 3 e 4