Controle Adaptativo para Atendimento a Requisitos de Aplicações em MPSoCs

Documentos relacionados
8- Controlador PID. PID = Proporcional + Integral + Derivativo

SOLENÓIDE E INDUTÂNCIA

Sistemas Operacionais

RESOLUÇÃO ATIVIDADE ESPECIAL

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Permite a coleta de dados em tempo real dos processos de produção, possuindo, também, interfaces para a transferência dos dados para os sistemas

ESTUDO DE VIABILIDADE. Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos

Matemática. Aula: 07 e 08/10. Prof. Pedro Souza. Visite o Portal dos Concursos Públicos

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

Aula 1- Distâncias Astronômicas

Por efeito da interação gravitacional, a partícula 2 exerce uma força F sobre a partícula 1 e a partícula 1 exerce uma força F sobre a partícula 2.

SISTEMAS OPERACIONAIS

3 Qualidade de Software

Sistemas Operacionais. Prof. André Y. Kusumoto

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº

As Organizações e a Teoria Organizacional

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Porque estudar Gestão de Projetos?

PMBoK Comentários das Provas TRE-PR 2009

Gerenciamento da Integração (PMBoK 5ª ed.)

Exercícios Segunda Lei OHM

Gerência do Processador

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos

agility made possible

Processos de gerenciamento de projetos em um projeto

Nível do Sistema Operacional

Montagem e Manutenção. Luís Guilherme A. Pontes

2 a. Apostila de Gravitação A Gravitação Universal

O guia completo para uma presença. online IMBATÍVEL!

Rastreamento e Telemetria de Veículos e Embarcações em Missões Estratégicas.

Arquitetura dos Sistemas Operacionais

c. Técnica de Estrutura de Controle Teste do Caminho Básico

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

Módulos QM de sistemas ERP ou MES X Sistemas LIMS?

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

Estudo de Viabilidade. GMon Sistema de Gerenciamento de Monitores. Curso: Ciências da Computação Professora: Carla Silva

Controle da produção baseado em códigos de barras

Alocação Ótima de Banco de Capacitores em Redes de Distribuição Radiais para Minimização das Perdas Elétricas

Gerência de Projetos e EVTE. Fabiana Costa Guedes

A TNT Garante a Entrega de 4,4 Milhões de Pacotes por Semana

10 DIMENSIONAMENTO DE SECÇÕES RETANGULARES COM ARMADURA DUPLA

8 Threads. 8.1 Introdução

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

Guia de utilização da notação BPMN

Banco de Dados Orientado a Objetos

2 Ferramentas Utilizadas

Redes de Computadores II

A primeira gama de rolamentos para uso extremo disponível como padrão. SNR - Industry

7 etapas para construir um Projeto Integrado de Negócios Sustentáveis de sucesso

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Processos e Threads (partes I e II)

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2 Objetivos e benefícios de um Sistema de Informação

IMPLEMENTAÇÃO E AVALIAÇÃO DE SISTEMAS DE CONTROLE VIA REDES BASEADOS NO PROTOCOLO CAN CONTROLLER AREA NETWORK

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

Perguntas. Que todo usuário deveria fazer antes de comprar um software CAD de baixo custo. Por Robert Green, proprietário da Robert Green Consulting

ITIL v3 - Operação de Serviço - Parte 1

ipea políticas sociais acompanhamento e análise 7 ago GASTOS SOCIAIS: FOCALIZAR VERSUS UNIVERSALIZAR José Márcio Camargo*

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

6 - Caso de Uso Supply Chain Management

Definição de projeto segundo o PMI Um projeto é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo.

Aprimoramento através da integração

Módulo 12 Gerenciamento Financeiro para Serviços de TI

3º Seminário Internacional de Renda Fixa Andima e Cetip Novos Caminhos Pós-Crise da Regulação e Autorregulação São Paulo 19 de março de 2009

Índice. Introdução 2. Quais funcionalidades uma boa plataforma de EAD deve ter? 4. Quais são as vantagens de ter uma plataforma EAD?

MANUAL DE OPERAÇÕES DA RODA DE DÓLAR PRONTO

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

Métodos de Sincronização do Kernel

Treze razões pelas quais uma rede wireless é lenta

Questionário de avaliação de Práticas X Resultados de projetos - Carlos Magno Xavier (magno@beware.com.br)

Memória cache. Prof. Francisco Adelton

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Aula 1. Introdução à Avaliação Econômica de Projetos Sociais

Alguma das vantagens e desvantagens dos computadores ópticos é apresenta a seguir.

Gerenciamento de memória

Plano de Continuidade de Negócios

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

O comportamento do mercado brasileiro de ensino superior

Sistemas Operacionais. Roteiro. Tipos de Tarefas (temporal) Marcos Laureano

CAPABILITY MATURITY MODEL FOR SOFTWARE. Eduardo Mayer Fagundes

Diretrizes para determinação de intervalos de comprovação para equipamentos de medição.

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos

CA Mainframe Chorus for Storage Management Versão 2.0

Descrição do Produto. Altus S. A. 1

Gerenciamento de redes

Disciplina: Técnicas de Racionalização de Processos Líder da Disciplina: Rosely Gaeta NOTA DE AULA 04 O PROJETO DE MELHORIA DOS PROCESSOS

ADMINISTRAÇÃO DE BANCOS DE DADOS MÓDULO 13

Gerenciamento de Projetos Modulo III Grupo de Processos

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

ARQUITETURA DE COMPUTADORES

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Resumo Descritivo dos Conteúdos das Disciplinas de Ementa Aberta para

Projetos I Resumo de TCC. Luiz Rogério Batista De Pieri Mat:

Especificação Operacional.

Transcrição:

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORÁTICA PROGRAA DE PÓS-GRADUAÇÃO E CIÊNCIA DA COPUTAÇÃO Controle Aaptativo para Atenimento a Requisitos e Aplicações em PSoCs GUILHERE AFONSO ADALOZZO Dissertação apresentaa como requisito parcial à obtenção o grau e estre em Ciência a Computação na Pontifícia Universiae Católica o Rio Grane o Sul. Orientaor: Prof. Dr. Fernano Gehm oraes Porto Alegre 2013

Daos Internacionais e Catalogação na Publicação (CIP) 178c aalozzo, Guilherme Afonso Controle aaptativo para atenimento a requisitos e aplicações em PSoCs / Guilherme Afonso aalozzo. Porto Alegre, 2013. 68 f. Diss. (estrao) Fac. e Informática, PUCRS. Orientaor: Prof. Dr. Fernano Gehm oraes. 1. Informática. 2. ulitprocessaores. 3. Algoritmos. 4. onitoramento e Tarefas. I. oraes, Fernano Gehm. II. Título. CDD 004.35 Ficha Catalográfica elaboraa pelo Setor e Tratamento a Informação a BC-PUCRS

AGRADECIENTOS O caminho percorrio para atingir o objetivo e finalizar esta Dissertação e estrao não foi simples. Neste caminho muitos esafios e obstáculos foram encontraos, e não teria sio possível superá- los sozinho. Por isso, eico esta parte e minha Dissertação para expressar o quão agraecio sou por caa um que ao meu lao esteve, seja pessoalmente ou em pensamento, manano vibrações positivas para que esse sonho fosse concretizao. A toos, o meu muito obrigao. Em especial, à Deus, por iluminar este caminho nos momentos mais escuros. Por me ar inspiração, tranquiliae e força para superar os esafios. Falano em Deus, gostaria e eicar esta conquista aos meus falecios avós: Vó Ires e Vô Dirceu, Vó Janira e Vô Walemar. Foram exemplos e pessoas para minha formação pessoal. Em muitos momentos, a eles pei força e iluminação, pois ninguém melhor o que meus querios avós para acompanhar e abençoar meu caminho. Aos meus pais, Paulo e Janaína, por sempre me apoiar e incentivar no objetivo e alcançar caminhos caa vez mais istantes. Por, mesmo e longe, estarem a meu lao nestes ois anos e mestrao. Por sempre acreitarem e apostarem em mim. Se cheguei até aqui, evo a vocês. Para mim, o conceito e família vai além e parentesco, é a união e pessoas que se amam e que se cuiam, e essa é a minha família. Dessa forma, agraeço meus tios(as) e primos(as) que torceram por mim e me apoiaram. Além essas pessoas, evo fazer um agraecimento especial para minha irmã Camile, meu cunhao Fabrício e para minha sobrinha o coração, Julia. Por torcerem tanto por mim e, além isso, alegrar esse caminho que se estenerá por mais alguns anos. inha família é a base para tuo em minha via, e a eles eico esta Dissertação. Dentro os agraecimentos para minha família eixei uma pessoa e lao, mas não por esconsiera- la parte esta família, muito pelo contrário, foi acolhia nesta família. Apenas gostaria e eicar um parágrafo especial a ela, minha namoraa Silvana. Esta conquista só foi possível porque você esteva ao meu lao, me ano força, tranquiliae e carinho. Juntos viemos e longe, juntos viemos viver o esconhecio, juntos chegamos até aqui e juntos iremos aiante. Agraeço a ti por toa a paciência e compreensão urante este períoo. uito obrigao por too amor que eica a mim, serei eternamente grato, te amano e te respeitano. Agraeço, também, minha sogra Inês e meu sogro Alcies por rezar e torcer tanto por nós. Ao Professor Fernano oraes, por aceitar o esafio e orientar este esorientao. uito obrigao por me ensinar ese conceitos simples até complexos funcionamentos e um sistema embarcao, que em minha formação não tive contato. Por ter compartilhao seu tempo e conhecimento para que a realização este trabalho fosse possível. Sou grato por me aceitar como aluno e mestrao e agora outorao. Agraeço aos professores o PPGCC pela transmissão e seus conhecimentos. Agraeço aos funcionários a PPGCC pela eicação em nos manter sempre informaos e toa burocracia e prazos. Um agraecimento especial ao Professor Ney, que em suas avaliações enriqueceu esta issertação. Aos colegas o GAPH, Wachter, Ruaro, Castilhos, anelli, atheus, LHeck, Jeronimo, GHeck e a toos os emais. E ao CNPq por ter possibilitao e financiao esta pesquisa. Que os vossos esforços esafiem as impossibiliaes, lembrai- vos e que as granes coisas o homem foram conquistaas o que parecia impossível. Charles Chaplin.

CONTROLE ADAPTATIVO PARA ATENDIENTO A REQUISITOS DE APLICAÇÕES E PSOCS RESUO A capaciae e integração em sistemas embarcaos acompanha a tenência a Lei e oore, a qual prevê que a caa ezoito meses o número e transistores em circuitos integraos obra, enquanto seu custo permanece constante. Outra observação importante em sistemas embarcaos é que aplicações com mais e um processaor estão caa vez mais presentes no mercao. Estes ispositivos com iversos elementos e processamento são enominaos PSoCs (o inglês, ultiprocessor Sytem-on-Chip). Os PSoCs permitem o esenvolvimento e sistemas complexos, com alto esempenho. Para que um PSoC atena às restrições as aplicações nele executaas, técnicas e gerência e aaptabiliae e recursos evem ser pesquisaas e esenvolvias. O presente trabalho apresenta o esenvolvimento e avaliação e técnicas e controle aaptativo para atenimentos a requisitos e aplicações executano em PSoCs. Para efetuar o controle o PSoC utiliza-se o mecanismo e monitoramento as aplicações. A técnica e monitoramento analisa os requisitos as aplicações, em tempo e execução, verificano possíveis violações nestes requisitos, como vazão e latência. O monitoramento é o gatilho para a execução as técnicas aaptativas esenvolvias no escopo este trabalho: alteração inâmica na prioriae e escalonamento e tarefas e migração e tarefas. Para avaliar as técnicas propostas, foi utilizao a plataforma HePS com gerência e recursos centralizaa e istribuía. Os resultaos mostram que, inepenente a gerência e recursos que se utiliza, centralizaa ou istribuía, as técnicas e aaptabiliae proveem reução e latência e jitter, sem comprometimento o tempo total e execução as aplicações. Com a execução as técnicas e aaptabiliae, o tempo total e execução a aplicação principal não é penalizao, nos casos e teste, melhorano-se em até 7%. Palavras-Chave: PSoC, NoC, gerenciamento e aplicações, controle aaptativo, técnicas e aaptabiliae, monitoramento e tarefas, migração e tarefas, escalonamento.

ADAPTIVE CONTROL TO EET APPLICATIONS CONSTRAINTS IN PSOCS ABSTRACT The growing number of manufacture transistors in embee systems follows the tren of oore s Law, which states that every eighteen months the number of transistors on integrate circuits oubles, while its cost remains constant. Another important issue in embee systems is that applications with more than one processor are increasingly present in market. These evices with several processing elements are name PSoCs (ultiprocessor System-on-Chip). PSoCs enables the evelopment of complex systems, together with high performance. Applications executing in PSoC have constraints to be respecte. To meet these constraints, management techniques an resources aaptability shoul be researche an evelope. This work presents the evelopment an evaluation of aaptive management techniques that enable applications executing in PSoCs to meet their performance requirements. The PSoC management uses monitoring techniques, which evaluate applications constraints, as throughput an latency. When violations are etecte by the monitoring infrastructure, aaptive techniques are execute. In the scope of this work, two techniques were evelope: ynamic change in the priority scheuling of tasks an task migration. The evaluation of the propose techniques is carrie out using the HePS PSoC, with centralize an istribute resource management. Results show that, regarless the resource management technique aopte, the propose aaptive techniques ecrease latency an jitter, without affecting the total execution time of applications. With performe aaptive techniques the total execution time wasn t penalize, in presente experiments increase 7%. Keywors: PSoC, NoC, application management, aaptive control, aaptive techniques, task monitoring, task migration, scheuling.

LISTA DE FIGURAS Figura 1 Ações para prover aaptabiliae em PSoCs.... 16 Figura 2 Arquitetura a estrutura e monitoramento. Fonte: [STA11]... 18 Figura 3 Versões e monitoramento. Fonte: [CIO06]... 20 Figura 4 Arquitetura o roteaor com controle e profuniae o buffer. Fonte: [AT10]... 20 Figura 5 Arquitetura o roteaor com o fluxo e controle etalhao. Fonte: [AT10]... 21 Figura 6 NoC com agrupamento e tarefas por regiões. Fonte: [FAT11]... 24 Figura 7 Gerenciamento Hierárquico e PSoC proposto por [FAT11].... 24 Figura 8 Gerenciamento e recursos: centralizao x istribuío. Fonte: [SHA11]... 25 Figura 9 Esquema geral e um sistema baseao em migração e tarefas por réplicas. Fonte: [LAY09].... 29 Figura 10 Etapas para a ecisão e migração e tarefas. Fonte: [OZT06]... 30 Figura 11 Exemplo e aplicação moelaa por um grafo e tarefas.... 33 Figura 12 Instância a HePS Centralizaa.... 34 Figura 13 Instância a HePS Distribuía.... 35 Figura 14 Processo e Aaptabiliae o PSoC.... 37 Figura 15 Fluxo e configuração e tarefas para monitoramento.... 39 Figura 16 Protocolo o mecanismo e monitoramento em uma arquitetura com gerência centralizaa e recursos.... 40 Figura 17 Protocolo o mecanismo e monitoramento em uma arquitetura com gerência istribuía e recursos.... 41 Figura 18 Escalonamento Roun- Robin.... 43 Figura 19 Escalonamento Roun- Robin com prioriae e tarefas. Fonte: [LI03]... 44 Figura 20 Escalonamento preemptivo baseao em prioriae/time- slice. Aaptao: [LI03]... 45 Figura 21 Protocolo e migração e tarefas com ativiaes por processaor.... 47 Figura 22 Pseuo- cóigo a heurítica e migração com gerênica centralizaa e recursos.... 49 Figura 23 Pseuo- cóigo a heurítica e migração com gerênica istribuía e recursos.... 51 Figura 24 ecanismo e monitoramento com migração e tarefas.... 52 Figura 25 Cenário para avaliação as técnicas e aaptabiliae em PSoC com gerência centralizaa e recursos.... 55 Figura 26 Gráfico e analise e tempo as iterações a tarefa F, aplicação sozinha no sistema (gerência centralizaa).... 57 Figura 27 Gráfico e analise e tempo as iterações a tarefa F, com perturbação na comunicação sem uso e monitoramento (gerência centralizaa).... 57 Figura 28 Gráfico e analise e tempo as iterações a tarefa F, com uso e monitoramento solicitano alteração e características e escalonamento (gerência centralizaa).... 58 Figura 29 Gráfico e analise e tempo as iterações a tarefa F, com uso e monitoramento solicitano migração e eterminaa tarefa (gerência centralizaa).... 59 Figura 30 Cenário para avaliação as técnicas e aaptabiliae em PSoC com gerência istribuía e recursos.... 60 Figura 31 Gráfico e analise e tempo as iterações a tarefa F, sem uso e monitoramento (gerência istribuía).... 62 Figura 32 Gráfico e analise e tempo as iterações a tarefa F, com uso e monitoramento solicitano alteração e características e escalonamento (gerência istribuía).... 63 Figura 33 Gráfico e analise e tempo as iterações a tarefa F, com uso e monitoramento solicitano migração as tarefas fora o cluster (gerência istribuía).... 63

LISTA DE TABELAS Tabela 1 Comparativo entre as pesquisas analisaas.... 32 Tabela 2 Tempo total e execução a aplicação principal com gerência centralizaa.... 59 Tabela 3 Tempo total e execução a aplicação principal com gerência istribuía e recursos.... 64

LISTA DE SIGLAS API DA DVFS DVS FIFO FPGA GP HePS IP LP P PSoC SA NI NoC PE RISC R SoC SP Application Programming Interface Direct emory Access Dynamic Voltage an Frequency Scaling Dynamic Voltage Scaling First In, First Out Fiel-Programmable Gate Array Global aster Processor HERES ultiprocessor System Intellectual Property ou Internet Protocol Local aster Processor aster Processor ultiprocessor System-on-Chip onitoring Service Access Point Network Interface Network-on-Chip Processing Element Reuce Instruction Set Computer Resource anager System-on-Chip Slave Processor

SUÁRIO 1 INTRODUÇÃO... 15 1.1 Objetivos... 17 1.2 Contribuições a Dissertação... 17 1.3 Estrutura o Documento... 17 2 Trabalhos Relacionaos... 18 2.1 onitoramento e Tarefas... 18 2.2 Escalonamento... 21 2.3 Controle Distribuío... 23 2.4 igração e Tarefas... 27 2.5 Consierações Finais... 31 3 Arquitetura HePS... 33 3.1 Arquitetura com Controle Centralizao e Recursos... 33 3.2 Arquitetura com Controle Distribuío e Recursos... 35 4 onitoramento e Tarefas... 37 4.1 Estrutura o onitoramento e Tarefas... 38 4.2 Protocolo o onitoramento e Tarefas... 39 5 Escalonamento... 43 5.1 Algoritmo e Escalonamento Roun-Robin... 43 5.2 Algoritmo e Escalonamento Roun-Robin com Prioriae e Tarefas... 44 5.3 Algoritmo e Escalonamento Preemptivo Baseao em Prioriae / Time-Slice... 45 6 igração e Tarefas... 46 6.1 Protocolo e igração e Tarefas... 46 6.2 Heurística e igração e Tarefas com Gerência Centralizaa e Recursos... 48 6.3 Heurística e igração e Tarefas com Gerência Distribuía e Recursos... 50 6.4 Interação o onitoramento com igração e Tarefas... 51 7 Avaliação... 54 7.1 Avaliação e um PSoC com Gerência Centralizaa e Recursos... 54 7.2 Avaliação e um PSoC com Gerência Distribuía e Recursos... 60 8 Conclusão e Trabalhos Futuros... 65 8.1 Publicações Relacionaas ao Tema a Dissertação... 66 8.2 Trabalhos Futuros... 66 Referências... 67

15 1 INTRODUÇÃO Goron oore, em 1965, constatou que a caa 18 meses o número e transistores em circuitos integraos obra, enquanto seu custo permanece constante. Tortato e Hexsel [TOR09] comentam que a capaciae e sistemas embarcaos vem acompanhano a tenência a Lei e oore e que as aplicações com mais e um processaor estão caa vez mais presentes no mercao. Como consequência o aumento o número e transistores, tornou-se possível esenvolver sistemas completos em um único circuito integrao, enominaos e sistema em chip (SoC System on Chip) [JER05], ou PSoC (ultiprocessor System on Chip) quano o SoC contém iversos elementos e processamento (PEs Processing Elements). Seguno [AGU08], sistemas embarcaos estão caa vez mais presentes em proutos e bens e consumo como televisores, micro-onas, telefones celulares e tablets, e a principal característica nestes proutos é executar funcionaliaes específicas. Um PSoC poe ser projetao para uma eterminaa aplicação ou conjunto e aplicações, ou ser e propósito genérico, tal qual os FPGAs (Fiel-Programmable Gate Array) são hoje para o projeto e circuitos igitais. No primeiro caso, as ecisões arquiteturais são realizaas em tempo e projeto, poeno-se otimizar elementos como a NoC ou a hierarquia e memória para os requisitos as aplicações alvo. No seguno caso, PSoCs e propósito genérico, estes evem ser capazes e executar iferentes aplicações e classes e aplicações. Para que isto seja possível, os PSoCs evem prover técnicas e aaptabiliae para prover qualiae e serviço. Exemplos e PSoCs e propósito genérico incluem os ispositivos TILERA [TIL09] e INTEL [VAN07]. O foco a presente Dissertação é no projeto e PSoCs e propósito genérico e no esenvolvimento e técnicas e aaptabiliae para garantir o atenimento às restrições as aplicações. As técnicas e aaptabiliae incluem, por exemplo: (i) migração e tarefas para balanceamento e carga, manteno as tarefas comunicantes a mesma aplicação seno executas próximas uma as outras; (ii) monitoramento e tarefas, para verificar o atenimento às restrições as aplicações, como vazão e latência; (iii) controle istribuío, para efetuar gerenciamento e recursos; (iv) DVFS, alteração inâmica e voltagem e frequência; (v) chaveamento por circuito, reserva totalmente o canal físico entre o par comunicante (processaores que executam tarefas comunicantes), possibilitano máxima vazão; (vi) alterações na prioriae e comunicação. Para prover aaptabiliae em tempo e execução, Fattah et al. [FAT11] comentam que muitos trabalhos propõem estruturas e monitoramento que observam o estao os sistemas em tempo e execução em termos e: transações, temperatura, sobrecarga na ree, falhas, efeitos, etc. Para que um sistema possa efetuar o monitoramento as aplicações, é necessário coletar as características as aplicações através e profiling

16 (perfil). Baseao nos aos esta coleta na etapa e monitoramento, o processaor monitor é capaz e efetuar tomaas e ecisão, tais como: alteração a prioriae e comunicação, migração e tarefas, escalonamento, DVFS (Dynamic Voltage an Frequency Scaling), e aumento a fatia e tempo alocaa em caa processaor para a execução as tarefas. A aaptabiliae em um PSoC poe ser vista como um sistema e controle em malha fechaa. A Figura 1 ilustra os três passos o processo: monitoramento, iagnóstico e ação. O monitoramento é efetuao em nível e tarefa em um ao elemento e processamento (PE). Os aos monitoraos são enviaos para um ao PE o sistema, o qual é responsável pela ecisão e qual ação eve ser tomaa em caso e não atenimento a eterminaos requisitos e aplicação. A ação e iagnóstico poe ser centralizaa ou istribuía. Finalmente temos a tomaa e ação, que envolve alguma as técnicas mencionaas anteriormente. O processo é cíclico, executao e forma contínua ao longo a execução as aplicações. 1 - onitoramento: vazão, latência, jitter, temperatura, ealines 2 - Diagnóstico: Avaliação os aos monitoraos e escolha a ação a tomar 3 - Ação: escalonamento, DVFS, migração e tarefas, prioriae e comunição, comutação por circuito (circuit-switching) Figura 1 Ações para prover aaptabiliae em PSoCs. Escalabiliae é outro ponto importante que se eve levar em consieração no projeto e PSoCs. PSoCs poem executar iversas aplicações em paralelo com carga e trabalho inâmica (inserção e novas aplicações no PSOC em tempo e execução). No nível arquitetural a utilização e rees intra-chip (NoCs) tem se mostrao uma alternativa promissora em PSoCs, ao que estas permitem múltiplas comunicações simultâneas [PAS08]. No nível e gerência e recursos, o gerenciamento istribuío o PSoC em regiões virtuais, enominaas clusters, é também apontaa na literatura como uma técnica para prover escalabiliae em sistemas com elevao número e elementos e processamento [FAT11][SHA11].

17 1.1 Objetivos A presente Dissertação possui os seguintes objetivos estratégicos: Domínio a tecnologia e projeto e PSoCs que utilizam NoCs como meio e comunicação; Domínio e técnicas aaptativas para garantir o atenimento às restrições as aplicações; Domínio e técnicas e monitoramento e tarefas; Domínio e técnicas e gerenciamento e recursos em PSoCs. Os objetivos específicos a presente Dissertação incluem: Desenvolver uma técnica e migração e tarefas em PSoCs; Desenvolver escalonamento baseao em prioriaes para tarefas executano em PSoCs; Desenvolver monitoramento para controle e ealines e tarefas; Utilizar a migração e tarefas para a esfragmentação o sistema, técnica esta enominaa e reclustering. 1.2 Contribuições a Dissertação A presente Dissertação tem por contribuição o esenvolvimento e uas técnicas e aaptabiliae no projeto e PSoCs: alteração inâmica na prioriae e escalonamento e tarefas e migração e tarefas. Ambas as técnicas são controlaas por monitores e esempenho. A migração e tarefas é empregaa em ois cenários: gerência centralizaa e recursos e gerência istribuía e recursos. No primeiro cenário, gerência centralizaa, o objetivo é aumentar o esempenho as aplicações. No seguno cenário, gerência istribuía, acrescenta-se ao objetivo e aumento e esempenho a esfragmentação o PSoC, através a aproximação e tarefas comunicantes. 1.3 Estrutura o Documento A estrutura o ocumento está organizaa como segue. No seguno Capítulo apresenta-se uma visão o estao a arte nos temas nos quais a presente Dissertação contribui: monitoramento e tarefas, escalonamento, controle istribuío e migração e tarefas em PSoC. O Capítulo 3 apresenta e forma sucinta a arquitetura e referência aotaa PSoC HePS [CAR09]. O Capítulo 4 etalha a técnica e monitoramento implementaa. Os Capítulos 5 e 6 apresentam as técnicas e escalonamento por prioriae e a migração e tarefas, respectivamente. O Capítulo 7 apresenta os resultaos obtios e a respectiva iscussão os mesmos. O Capítulo 8 encerra esta Dissertação, com as conclusões e ireções para trabalhos futuros.

18 2 TRABALHOS RELACIONADOS Neste Capítulo apresenta-se o estao a arte nos temas relacionaos ao presente trabalho. Analisaremos as pesquisas realizaas para o monitoramento e tarefas, escalonamentos eficientes em PSoC, controle istribuío e migração e tarefas. A estrutura o Capítulo está iviia conforme os assuntos relacionaos ao trabalho. Na primeira Seção apresenta-se o estao a arte para o monitoramento e tarefas. Na seguna Seção tem-se as pesquisas relacionaas a escalonamentos em PSoC. Na terceira Seção apresenta-se o estao a arte para controle istribuío. Na quarta Seção apresentam-se os trabalhos relacionaos à migração e tarefas. Por fim, a última Seção este Capítulo, tem-se as consierações finais e uma tabela comparativa entre os trabalhos analisaos. 2.1 onitoramento e Tarefas Nesta seção apresentam-se pesquisas referentes ao monitoramento e tarefas em PSoCs. O objetivo e uma técnica e monitoramento e tarefas é para efetuar o controle as aplicações. [AT10] efinem que a aaptabiliae os PSoCs necessitam esse tipo e mecanismos. 2.1.1 Stan et al. Stan et al. [STA11] apresentam um métoo para controle e ealines melhorano a qualiae e serviço em aplicações multimíia. O métoo consiste na etecção e violações e tempo em um PSoC. Os PEs o PSoC contém uma estrutura e monitoramento que verifica a infraestrutura e comunicação. Toos os aos transferios são armazenaos e seus tempos são comparaos a um comportamento e referência esperao. A estrutura e monitoramento é implementaa em um ispositivo que é mapeao no espaço e enereçamento o processaor, como poemos ver na Figura 2. Figura 2 Arquitetura a estrutura e monitoramento. Fonte: [STA11]

19 A estrutura e monitoramento implementa um mecanismo watchog que conta a quantiae e eventos que são executaos antes o tempo limite, ou entre ois limites e tempo ou epois e um tempo limite. Os limites e intervalo e tempos utilizaos para verificar um eterminao evento são armazenaos em parâmetros programáveis, que são configuraos nas aplicações; esses valores são computaos em tempo e projeto. O tempo limite poe ser alterao pelas variações e frequências (causaas pela variação e temperatura no ambiente operacional) ou por algumas falhas e harware. Nesta pesquisa, os autores não apresentam os resultaos obtios, apenas explicam o funcionamento e seu mecanismo e monitoramento e tarefas em PSoC. 2.1.2 Cioras et al. Cioras et al. [CIO06] apresentam iversas alternativas para monitoramento e NoCs e avaliam qual é o impacto essas técnicas no projeto e NoCs. Essas alternativas variam o uso e interconexões físicas, separaas para aos e aplicações e aos e monitoramento. Para caa alternativa os autores avaliaram o custo a área as interconexões, o impacto e moificações no fluxo o projeto e a reusabiliae os recursos e ebug para tráfego e aos as aplicações. O monitoramento a NoC é explorao em três alternativas: (i) interconexões físicas separaas; (ii) interconexões físicas comuns com recursos físicos separaos; (iii) interconexões físicas comuns com recursos físicos compartilhaos. Para a avaliação as alternativas e monitoramento, os autores apresentam uas características: (i) probes, componentes e harware que monitoram o tráfego os aos na ree; (ii) serviço e monitoramento e acesso (SA onitoring Service Access Point), efetua a reconfiguração em tempo e execução baseao nos aos enviaos pelos probes. Na Figura 3 os autores apresentam as três alternativas e monitoramento. Na Figura 3(a) temos uma NoC sem monitoramento. Na Figura 3(b) é apresentaa uma NoC com conexões físicas separaas para fazer o tráfego os aos monitoraos pela NoC, enviaos o probe para o SA e vice-versa. Na Figura 3(c) é apresentaa uma NoC com conexões físicas comuns e recursos físicos separaos para efetuar um monitoramento separao em subrees, sem a necessiae e aicionar roteaores para o monitoramento, porém são aicionaos links e novas portas aos roteaores a NoC. Na Figura 3() é apresentaa uma NoC com conexões físicas comuns e com acesso compartilhao aos recursos físicos para tráfego e aos e para o tráfego e monitoramento. Ambos utilizam toos os recursos compartilhaos a NoC, mas o tráfego e aos e o tráfego e monitoramento são mantios em separao, essa forma uma NoC Virtual para monitoramento é criaa. As alternativas apresentaas na Figura 3(b) e na Figura 3(c) requerem um maior número e recursos e harware e e conexões que a alternativa apresentaa na Figura 3(), porém separam os aos e monitoramento os aos as aplicações. A escolha o

20 projetista eve ser baseaa no compromisso entre custo e área e esempenho o monitoramento. Figura 3 Versões e monitoramento. Fonte: [CIO06] 2.1.3 atos et al. atos et al. [AT10] apresentam um mecanismo para controle e reimensionamento inâmico e buffer para caa canal e entraa o roteaor, que é feito através e um monitoramento e tráfego na ree, em tempo e execução. Além isso, a configuração inâmica a profuniae o buffer é feita sem qualquer pausa ou interrupção o sistema. O bloco e controle e profuniae o buffer foi implementao para caa canal e entraa o roteaor, seno a arquitetura com o bloco e controle apresentaa na Figura 4. O bloco Input Buffer contém a FIFO usaa no canal e entraa e é responsável por armazenar os flits. A FIFO é controlaa pelo bloco Input Channel Controller que realiza o controle e fluxo, e o roteamento os flits o canal e entraa. O Buffer Depth Controller é o bloco com o controle proposto pelo trabalho. Figura 4 Arquitetura o roteaor com controle e profuniae o buffer. Fonte: [AT10] O bloco e controle e profuniae o buffer é composto por quatro outros blocos: (i) monitor, observa o tráfego e aos no canal; (ii) integraor, calcula a nova profuniae o buffer e acoro com o tráfego e aos monitorao e a aplicação; (iii) alocação e slots e buffer, implementa um protocolo para istribuir os slots o buffer para caa canal e acoro com a profuniae calculaa pelo integraor; (iv) ecisão e

21 reimensionamento, verifica quano caa canal irá permitir a troca a profuniae o buffer. Esse bloco e controle e profuniae o buffer é apresentao na Figura 5. Figura 5 Arquitetura o roteaor com o fluxo e controle etalhao. Fonte: [AT10] Com a arquitetura proposta, os autores conseguiram iminuir a latência em 80% e obrar a vazão, com a alteração inâmica a profuniae o buffer. 2.2 Escalonamento Nesta seção apresentam-se pesquisas referentes a algoritmos e escalonamento e tarefas em PSoCs. 2.2.1 Coskun et al. Coskun et al. [COS07] apresentam um algoritmo e escalonamento e tarefas com o objetivo e atingir uma istribuição térmica uniforme em PSoCs. Os autores projetaram e avaliaram políticas e escalonamento no nível e sistema operacional. Também, apresentam uas técnicas que poem ser aplicaas para o controle a temperatura em PSoCs. A primeira técnica é a migração inâmica e threas. É um métoo e gerenciamento térmico em PSoC que migra threas e um processaor quente para um processaor frio. Na implementação essa técnica a limiar e temperatura para efetuar a migração foi configuraa para 85 C, que é consieraa uma temperatura crítica em muitos sistemas. A seguna técnica é a e gerenciamento térmico para imensionamento inâmico e voltagem e frequência quano atingia a temperatura limiar. Essa técnica iminui a temperatura o processaor reuzino o consumo e energia. Toas as aplicações são executaas com frequência máxima, a menos que a temperatura crítica (85 C) seja atingia. Se um processaor atinge esta temperatura, o nível e voltagem o processaor é reuzio para iminuir a frequência até que a aplicação atual termine.

22 Além essas uas técnicas, os autores apresentam uas políticas e escalonamento usano como função custo a temperatura. O primeiro algoritmo envia tarefas para processaores mais frios. O seguno algoritmo efetua o envio e tarefas analisano o histórico e temperaturas o processaor e poe ser implementaa em sistemas reais. Essa pesquisa emonstrou que técnicas que fazem uso e meições e temperatura para atingir um valor térmico ieal e para otimizar a temperatura não afetam o esempenho o sistema. Os autores avaliaram o esempenho o sistema utilizano as técnicas apresentaas, emonstrano que o esempenho o sistema não foi comprometio com o uso essas técnicas. 2.2.2 Tafesse et al. Tafesse et al. [TAF11] apresentam ois algoritmos e escalonamento, um para PSoCs baseaos em barramento e outro para PSoCs baseaos em NoC: (i) algoritmo e escalonamento objetivano maximizar o esempenho (para PSoCs baseaos em barramento); (ii) algoritmo e escalonamento baseao no volume e tráfego (para PSoCs baseaos em NoC). O primeiro algoritmo apresentao é o escalonaor para barramentos. Esse algoritmo utiliza um ínice e esempenho, que quantifica o esempenho o sistema consierano o valor méio o tempo e execução por tarefa, utilização o processaor, vazão, uso o buffer, e a energia, eterminano o custo a tarefa por processaor. O escalonaor irá eciir por escalonar a tarefa no processaor que tiver a melhor função custo e esempenho. O seguno algoritmo apresentao pelos autores é o escalonamento que utiliza o volume e tráfego como função custo. A principal contribuição essa técnica é que o mapeamento a aplicação e o processo e escalonamento são controlaos juntos. Esse algoritmo calcula a latência a comunicação para escalonar e mapear as tarefas. Os resultaos obtios na avaliação os ois algoritmos e escalonamento mostraram que projetar técnicas e escalonamento, buscano resolver problemas como otimização e temperatura, balanceamento e cargas e gerenciamento térmico, resulta em melhores esempenhos para o sistema o que utilizano algoritmos e escalonamento clássicos. 2.2.3 Zhaoguo et al. Zhaoguo et al. [ZHA09] apresentam um algoritmo e escalonamento para iminuir a temperatura e economizar energia em PSoCs. O algoritmo atribui alta prioriae para os processaores com baixa temperatura. O sistema opera em ois moos: moo ativo e moo ocioso. Durante o moo ativo as tarefas poem ser escalonaas e executaas. Durante o moo ocioso as tarefas são

23 preemptaas e o sistema passa a economizar energia. Inicialmente, os processaores operam em moo ocioso. Então, a ecisão o escalonamento é baseaa na temperatura e toos os processaores o PSoC, e é escolhio o processaor com menor temperatura. Para apresentar os benefícios o algoritmo proposto, os autores efetuaram uma comparação a eficiência o controle e temperatura a técnica proposta com a técnica e alteração inâmica e voltagem (DVS). Com isso, concluem que o algoritmo proposto atinge o valor e temperatura ieal (34 C) em toos processaores o PSoC, manteno-os frios. Já o DVS, que iminui a voltagem e a frequência o chip, irá perer energia urante o longo períoo e execução, o que faz a temperatura subir rapiamente. O trabalho apresentao pelos autores mostra a importância e efetuar um controle a temperatura o chip consierano as peras e energia. Com a proposta, os autores conseguiram efetuar uma economia e 70% e energia no sistema. 2.3 Controle Distribuío Nesta Seção apresentam-se pesquisas referentes ao gerenciamento istribuío e tarefas em PSoCs. Essas técnicas têm por objetivo efetuar o monitoramento e tarefas e forma istribuía, como apresentao em [FAT11][KOB11][SHA11]. Seguno [FAT11], o gerenciamento istribuío poe garantir ganhos e esempenho, tolerância a falhas e escalabiliae. [SHA11] e outros comentam que o gerenciamento istribuío é mais escalável e eficiente. 2.3.1 Fattah et al. Fattah et al. [FAT11] apresentam uma pesquisa e monitoramento e sistemas aaptativos, para facilitar o gerenciamento o PSoC em iferentes aspectos, tais como: consumo e energia, esempenho, tolerância a falhas e sistemas reconfiguráveis. Nesta pesquisa, os autores apresentam uma aboragem com a combinação e métoos centralizaos e istribuíos. Ou seja, o gerenciamento o sistema é executao e forma que alguns aos monitoraos e relatórios e estao sejam enviaos para o gerenciaor e alto nível que retorna comanos para serem executaos. Como se poe ver na Figura 6, em estaque, o roteaor e seus componentes locais compõem um célula. De acoro com a emana o sistema, uma célula poe conter iferentes capaciaes e monitoramento, tais como: sensores e temperatura, monitores e consumo e energia e etectores e falhas. Caa célula tem seu próprio gerenciaor, que em função os seus mecanismos e monitoramento, relata as conições a célula para um gerenciaor e alto nível (não etalhao no artigo), recebeno comanos o mesmo.

24 Figura 6 NoC com agrupamento e tarefas por regiões. Fonte: [FAT11] Um conjunto e células forma um grupo (cluster) e são gerenciaas por um gerenciaor o grupo (nível intermeiário e gerenciamento). Diferentes políticas e agrupamento poem ser aplicaas: uma aplicação poe conter múltiplos grupos, one caa um executa um conjunto e tarefas ou caa grupo poe executar tarefas e várias aplicações. Assim, este trabalho propõe um gerenciamento hierárquico e três níveis, conforme apresentao na Figura 7: (i) no nível e célula (local); (ii) no nível e grupo (intermeiário); (iii) alto nível (global). O gerenciaor e alto nível é responsável pelo controle global e pela coorenação os gerenciaores e grupo. O gerenciaor no nível e célula é executao no sistema operacional e é carregao na criação e uma nova tarefa, quano invocaa. Os autores comentam que o gerenciamento hierárquico poe ser visto como uma solução e iviir e conquistar para futuros sistemas multicores. Figura 7 Gerenciamento Hierárquico e PSoC proposto por [FAT11]. 2.3.2 Shabbir et al. Shabbir et al. [SHA11] apresentam um comparativo entre uas versões e gerenciamento e recursos istribuíos: Creit Base e Rate Base. Os gerenciaores foram esenvolvios para controlar um grane número e processaores executano aplicações concorrentes.

25 A primeira versão o gerenciaor e recursos proposto pelos autores é o Creit Base, que permite o uso e aplicações que tenham restrições rígias e esempenhos; one os esempenhos não poem ter valores alteraos, mesmo que os recursos isponíveis sejam capazes e melhorar seu esempenho. A seguna versão o gerenciaos e recursos proposto pelos autores é o Rate Base, que é ieal para aplicações que poem ter mais esempenho o que um valor mínimo, caso os recursos estejam isponíveis. A arquitetura moelaa para a proposta consiste em processaores conectaos em uma NoC e os gerentes e recursos consistem em um controlaor e amissão. Os controlaores e amissão são responsáveis pela avaliação e restrições e tempo e novas aplicações utilizano os recursos isponíveis. Caso os recursos isponíveis o PSoC não atenam os requisitos a nova aplicação, então, o controlaor e amissão rejeita o peio e a aplicação poe solicitar serviços com um menor nível e qualiae. Na Figura 8 os autores apresentam iagramas e gerenciamento e recursos centralizaos e sua proposta e gerenciamento istribuío. O moelo e gerenciamento centralizao monitora a vazão e caa aplicação e compara com sua vazão esejaa. O gerente centralizao (R) tem que monitorar e controlar toas as aplicações e seus esempenhos, ocasionano problemas e escalabiliae evio ao tempo e monitoramento. Para resolver esse problema, os autores apresentam uas versões e gerenciamento istribuío. O gerenciamento istribuío procura minimizar o envolvimento o gerenciaor central no processo e investe mais inteligência no processaor local. Figura 8 Gerenciamento e recursos: centralizao x istribuío. Fonte: [SHA11] Nas uas versões e gerenciamento e recursos istribuío há um controlaor e amissão central conectaos aos núcleos e processamento em uma NoC. O controlaor e amissão central é uma interface que calcula os créitos, seno estes créitos istribuíos entre os processaores o sistema. Os árbitros os processaores locais aplicam os créitos para que as restrições e vazão as aplicações sejam satisfeitas. No gerenciaor e recursos por Creit Base o controlaor e amissões envia os créitos os processaores conforme o mapeamento as tarefas nos processaores.

26 Para fazer cumprir esses créitos, caa processaor tem um kernel que armazena esses créitos em um contaor. Depois que os créitos acabam os contaores são recarregaos com seus valores recebios pelo controlaor central e o processo continua. No gerenciaor e recursos por Rate Base caa processaor tem seu arbitro local. O controlaor e amissão o rate base calcula os créitos a mesma forma que o creit base. O controlaor e amissão envia os créitos para caa arbitro local e caa processaor. Os árbitros locais recebem os créitos e executam as tarefas e moo que se existir recursos isponíveis no sistema a tarefa é executaa em uma taxa maior o que a esejaa, terminano mais rapiamente. Os experimentos mostram que gerenciaores e recursos istribuíos são mais escaláveis, são mais eficientes com aplicações inâmicas e requerem menos armazenamento. O gerenciamento Creit Base é mais eficaz para fazer cumprir as restrições e vazão, já o Rate Base é mais eficaz para aplicações que poem fazer uso e toos os recursos isponíveis o sistema. 2.3.3 Kobbe et al. Kobbe et al. [KOB11] apresentam um esquema e gerenciamento e recursos istribuío em PSoC, chamao DistR. Essa proposta foi projetaa para ser um sistema sem qualquer sincronização global ou comunicação global. Para alcançar escalabiliae, os autores esenvolveram os princípios e sistemas multi-agentes para efetuar o gerenciamento e recursos. Caa aplicação o sistema tem um agente eicao para gerenciar os recursos. A computação necessária e caa agente é esempenhaa nos mesmos PEs as aplicações, mas a computação e too o gerenciamento global e recursos é istribuía em toos os PEs o PSoC. Caa agente visa aumentar a aceleração e suas aplicações procurano por outros PEs no sistema que possam ser usaos. Portanto, ele usa a capaciae e aplicações maleáveis (o número e PEs atribuíos a um agente poe ser alterao urante a sua execução [FEI97]) para poer aaptar PEs aicionais. Quano existir mais e uma aplicação executano no sistema, os PEs isponíveis evem ser compartilhaos entre as iferentes aplicações. Os recursos não são mais gerenciaos em uma região central, mas em muitas regiões espalhaas em too o chip. Aicionalmente, as comunicações necessárias para gerenciar os recursos ocorrem principalmente em áreas locais. Essas áreas são istribuías no chip ao invés e estarem concentraas em um único ponto. Toas essas vantagens ajuam a criar um sistema multi-agentes escalável e menos intrusivo para aplicações executano no sistema. Comparano com o gerenciamento centralizao, a solução proposta pelos autores apresenta um maior número e mensagens trafegano pela NoC, mas os autores avaliam

27 que essas mensagens são pacotes pequenos e na maioria as vezes requer poucos hops na NoC e são istribuíos em too o PSoC. 2.4 igração e Tarefas Nesta Seção apresentam-se pesquisas referentes à migração e tarefas em PSoCs. Essa técnica surgiu com foco em esempenho e tolerância a falhas em sistemas istribuíos. Barcelos [BAR08] comenta que a área e sistemas embarcaos está próxima a e sistemas istribuíos. Seguno [BAR08], especificamente em PSoCs, iversas conições poem requerer migração e tarefas: 1. Tarefas que se comunicam poem estar seno executaas em processaores istantes um o outro, fazeno com que o tráfego e aos na NoC aumente; 2. Processaores com muitas tarefas esperano para serem executaas; 3. Processaores com alto consumo e energia, evio à quantiae e tarefas simultaneamente seno executaas, enquanto outros processaores estão ociosos. 2.4.1 Acquaviva et al. Acquaviva et al. [ACQ07] propõem uma nova técnica para reuzir a temperatura e um PSoC, baseaa em migração e tarefas entre processaores. O algoritmo proposto explora as informações e temperatura em tempo e execução para balancear a temperatura o PSoC. PSoCs são caracterizaos por possuírem uma grane área e silício, e experimentos emonstram uma istribuição esigual e ensiae e calor. A técnica proposta é chamaa igra e é composta por três algoritmos. O primeiro algoritmo é enominao Total Swap. Esse algoritmo consiste na seleção e um conjunto e processaores entre o processaor fonte (one está a tarefa a ser migraa) e processaores caniatos a receber a tarefa. O algoritmo utiliza três conições para realizar a migração: 1. Caso o processaor fonte esteja com alta temperatura o processaor estino eve estar com baixa temperatura. 2. Caso a frequência o processaor fonte esteja acima a frequência méia os processaores o PSoC, a frequência o processaor estino eve estar abaixo a frequência méia. 3. O consumo total os ois processaores epois a migração tem que ser menor que o consumo total antes a migração.

28 Este algoritmo assume que toas as tarefas presentes no processaor fonte são migraas. Devio a este fato, foi esenvolvio um novo algoritmo que esempenha uma busca e tarefas mais eficiente para migrar entre ois processaores, buscano iminuir o número e migrações e a quantiae e aos trafegano na NoC. O seguno algoritmo o igra, enominao Full Search, não está sujeito às limitações a pesquisa exaustiva o Total Swap, pois permite que seja migraa apenas uma tarefa e caa vez. O problema é o número e comparações necessárias para calcular o custo a migração e toos os possíveis conjuntos e tarefas a migrar e um processaor fonte para toos os possíveis conjuntos e tarefas para um processaor estino. Buscano evitar este problema, a necessiae e um grane número e comparações, foi esenvolvio o algoritmo Boune Search que iminui as limitações o Full Search e mantém o custo computacional o Total Swap. Assim, o algoritmo foi moificao consierano que o efeito a migração a tarefa no balanceamento a temperatura iminui junto com a carga. Isto leva para o fato e que se poe limitar o número e tarefas para serem migraas, consierano apenas as tarefas com maior carga. Esses três algoritmos exploram a uniformização e temperatura e um PSoC em tempo e execução para eterminar o conjunto e tarefas que será migrao e um processaor com temperatura elevaa para um processaor com baixa temperatura. Porém, o problema este trabalho é que os autores comentam os algoritmos utilizaos, mas não etalham a forma e como a migração é efetuaa. Apenas são explicaos os motivos para fazer a migração, faltano informar como a mesma é realizaa. 2.4.2 Pittau et al. Pittau et al. [PIT07] apresentam uma camaa mileware que implementa a migração e tarefas em um PSoC. Os autores comentam que o mapeamento inâmico e tarefas baseao em migração tem sio muito explorao para melhorar o esempenho e iminuir o consumo e energia em PSoCs. Para aplicações multimíia, migração e tarefas eve ser cuiaosamente avaliaa para que não ocorram peras e ealine. Foi caracterizao o esempenho e uma aa aplicação multimíia e o seu gasto e energia. Os experimentos mostram que a migração em nível e mileware ou sistema operacional é possível e poe levar a melhorias na economia e energia. Os autores propõem ois tipos e mecanismos para migração e tarefas, os quais iferem na forma e gerenciar a memória. A primeira versão é a Task Recreation. Este mecanismo estrói o processo no processaor fonte e recria no processaor estino. Esta versão é baseaa na execução e chamaas e sistema que cuiam a alocação e

29 espaço e memória necessário para as tarefas. A outra estratégia para migração é a Task Replication, one existe uma réplica e caa tarefa em caa sistema operacional local. Somente um processaor por vez poe executar uma réplica a tarefa. Enquanto a tarefa é executaa em um processaor, a réplica ela está em uma fila e tarefas em outro processaor. Nesta pesquisa os autores consieram caa tarefa um processo com seu espaço e enereçamento privao. Assim facilita-se o mapeamento e aplicações em uma plataforma com memória istribuía. O framework suporta migração e tarefas e moo que a política e gerenciamento e tarefas possa cuiar o mapeamento em tempo e execução, melhorano o esempenho, gerenciamento térmico e segurança. 2.4.3 Layouni et al. Layouni et al. [LAY09] avaliam a técnica e migração e tarefas e software por replicação, em PSoC. A migração e tarefas e software é realizaa em tempo e execução e gerenciaa pelo sistema operacional. A necessiae e migração poe ser para fins e: balanceamento e cargas, tolerância a falhas, economia e energia e gerenciamento térmico o chip. Os autores comentam que a migração e tarefas envolve a habiliae e interromper a execução e uma tarefa em um processaor e ar sequência à mesma em outro. Os autores aotam uma estratégia e replicação e tarefas, tanto para PSoCs heterogêneos e homogêneos, juntamente com o uso e notificação e checkpoints (pontos e migração a tarefa). O usuário é responsável por configurar esses checkpoints no cóigo a aplicação, o esempenho a aplicação epene esses checkpoints. Isso é feito via sistema operacional e é facilmente extensível, seguno os autores. A estratégia e migração consiste em replicação os cóigos as tarefas em caa processaor one a migração será habilitaa. Na Figura 9 os autores apresentam a funcionaliae a migração e tarefas, com a tarefa migraa e a réplica a mesma. A CPU_1 e a CPU_2 contém as réplicas as tarefas, conteno ois possíveis estaos: Dormant e Waiting. Figura 9 Esquema geral e um sistema baseao em migração e tarefas por réplicas. Fonte: [LAY09].

30 A migração a tarefa só poerá ser executaa quano a tarefa encontrar seu checkpoint. Quano se ecie efetuar a migração e tarefas, primeiramente se salva o contexto esta tarefa em uma memória compartilhaa. Após, a tarefa migraa é retiraa o sistema ou suspensa. A réplica poe ser reiniciaa ou criaa em outro processaor, o contexto salvo na memória compartilhaa é restaurao. Por fim a tarefa poe ser reiniciaa o checkpoint salvo na migração. Os autores efinem que o processo e migração e tarefas envolve a habiliae e parar uma tarefa em um processaor e ar continuiae a ela em outro processaor, melhorano o esempenho o sistema. 2.4.4 Ozturk et al. O objetivo a pesquisa e Ozturk et al. [OZT06] é apresentar um métoo e migração. O algoritmo ecie se será migrao o cóigo ou os aos, buscano satisfazer os requisitos e comunicação. A escolha entre as uas opções e migração é realizaa em tempo e execução baseao em estatísticas coletaas na etapa e profiling. A migração é iviia em três etapas, como é apresentaa na Figura 10: profiling: etapa para fazer o experimento e caa aplicação, seno calculao o custo a energia e comunicação na ree e, também, calculao o custo a transferência os aos as tarefas; anotação e cóigo: etapa para especificar a migração e cóigo ou e aos. Para a ecisão a migração e cóigo ou aos os autores calculam o custo a energia e comunicação entre as tarefas a aplicação. Essas uas primeiras etapas são esempenhaas em tempo e compilação. A terceira etapa é a execução o algoritmo e migração o cóigo ou os aos. Figura 10 Etapas para a ecisão e migração e tarefas. Fonte: [OZT06] Neste trabalho os autores focam apenas na escrição os cálculos a ecisão e migrar o cóigo ou os aos as tarefas, não escreveno como realmente é efetuaa a migração. Outro importante etalhe não escrito pelos autores é apresentar e que forma segue a execução a aplicação e a comunicação entre as tarefas, levano em conta a migração e apenas o cóigo ou os aos. Os autores escrevem que em suas experiências, com várias aplicações em PSoCs, a migração e tarefas poe melhorar o esempenho e o poer computacional estes.

31 2.5 Consierações Finais A Tabela 1 apresenta um comparativo entre os trabalhos analisaos neste Capítulo. Como poemos notar, foram analisaos trabalhos com objetivos iferentes, mostrano que as pesquisas estão caa vez mais eicaas para PSoCs aaptativos. Visano a aaptabiliae os PSoCs, as pesquisas analisaas no estao a arte apresentam técnicas e monitoramento e tarefas, escalonamento, controle istribuío e migração e tarefas para gerenciar a uniformização e temperatura, minimização e energia, balanceamento e carga, melhorias no esempenho, etc. As pesquisas analisaas no estao a arte e monitoramento e tarefas apresentam iferentes objetivos e monitoramento. Em [STA11] temos a proposta e um métoo para controle e ealines capaz e melhorar a qualiae e serviços para aplicações multimíia. Em [CIO06] os autores apresentam alternativas e monitoramento utilizano interconexões físicas separaas para aos e aplicações e aos e monitoramento, avaliano o impacto essas técnicas nos projetos e NoCs. Em [AT10] é proposto um mecanismo baseao em monitoramento e tarefas para efetuar um controle e reimensionamento inâmico e buffer, em tempo e execução. No estao a arte e escalonamento e tarefas, foram apresentaas pesquisas que apresentam objetivos e gerenciamento térmico e economia e energia. [COS07] [TAF11] [ZHA09] mostram que as pesquisas para escalonamento em PSoCs focam na minimização a energia consumia. As pesquisas referentes a controles istribuíos e PSoCs tem por objetivo tornar os sistemas escaláveis, capazes e ter vários monitores gerenciano os recursos o sistema. Em [FAT11] temos uma proposta e controle istribuío capaz e efetuar o monitoramento o sistema em três níveis: local, cluster e global. Em [SHA11] os autores apresentam uas técnicas para efetuar melhorias no esempenho o sistema, com aplicações controlaas por um gerente e recursos. Em [KOB11] os autores apresentam uma proposta e controle istribuío, em PSoC, baseao em um algoritmo multi-agente, que gerencia os recursos o sistema. Para a migração e tarefas, temos no estao a arte como principal objetivo o balanceamento e carga. Em alguns casos, o ponto e migração é preefinio na coificação a tarefa. Apenas [ACQ07] efetua a migração e tarefas conforme real necessiae, consierano o processaor com alta temperatura ou até mesmo com alta frequência, sem a necessiae e forçar a migração (com pontos e migração configuraos pelo usuário em tempo e projeto), como feito em [PIT07] e [LAY09]. Nesta questão, mostra-se que nenhuma as pesquisas analisaas apresenta um controle istribuío para o gerenciamento e tarefas a ponto e controlar a necessiae e efetuar a migração e uma eterminaa tarefa baseao em aos coletaos por um monitoramento o sistema.

32 Outro ponto importante a se estacar, é que na pesquisa realizaa por Ozturk et al. [OZT06] é utilizao um processo iviio por etapas (profiling, configuração e execução), assim como o presente trabalho. Tabela 1 Comparativo entre as pesquisas analisaas. Referência onitoramento e Tarefas Escalonamento Controle Distribuío igração e Tarefas Função Custo Aplicação Foco [STA11] Sim Não Não Não Controle e ealine ultimíia [CIO06] Sim Não Não Não [AT10] Sim Não Não Não [COS07] Não Sim Não Não [TAF11] Não Sim Não Não [ZHA09] Não Sim Não Não Escalabiliae / Custo e área e projeto / Reusabiliae e recursos Reimensionamento inâmico e buffer Uso consciente e temperatura Aumentar esempenho Otimização no consumo e energia Não aboraa ultimíia Não aboraa Não aboraa Não aboraa [FAT11] Não Não Sim Não Gerenciar recursos Não aboraa [SHA11] Não Não Sim Não Escalabiliae ultimíia [KOB11] Não Não Sim Não Escalabiliae Aplicações reais [ACQ07] Não Não Não Sim [PIT07] Não Não Não Sim [LAY09] Não Não Não Sim [OZT06] Não Não Não Sim Dissertação Sim Sim Sim Sim Uniformizar a temperatura Otimização no consumo e energia Balanceamento e carga Consumo e energia Balanceamento e carga / Consumo e energia / Controle e ealine Não aboraa ultimíia Não aboraa Aplicações reais para manipulação e imagens Aplicações com vazão garantia A originaliae a pesquisa esenvolvia na presente Dissertação é a integração e avaliação e iversas técnicas, as quais são avaliaas iniviualmente na literatura. As técnicas que serão etalhaas posteriormente envolvem o controle istribuío e recursos o PSoC, monitoramento e vazão e latência, e as técnicas e escalonamento e migração e tarefas para prover aaptabiliae às aplicações.