MPSoC HeMPS Guilherme Castilhos

Slides:



Advertisements
Apresentações semelhantes
«Forte do Bom Sucesso (Lisboa) – Lápides 1, 2, 3» «nomes gravados, 21 de Agosto de 2008» «Ultramar.TerraWeb»
Advertisements

IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
INFORMAÇÕES COMPLEMENTARES
Arquitetura de Computadores
A busca das mulheres para alcançar seu espaço dentro das organizações
Material pedagógico Multiplicar x 5 Clica!
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Operadores e Funções do LINGO
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
MISSÕES ESTADUAIS.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
William Stallings Arquitetura e Organização de Computadores 8a Edição
Curso de ADMINISTRAÇÃO
Método de Acesso Dinâmico - B-Tree AULA 14 Profa. Sandra de Amo Programa de Pós-Graduação em CC - UFU Sistemas de Banco de Dados
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais Francis Berenger Machado
Arquitetura de Sistemas Operacionais
EXPRESSÕES ARITMÉTICAS
EXPRESSÕES ARITMÉTICAS
Problemas com Entrada e Saída
SSC541 - SISTEMAS OPERACIONAIS I Aula 13 – Gerenciamento de Memória
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios
Estudo de Caso 1: UNIX e LINUX
Sistemas Operacionais
Estruturas de Controle
Aula 4 Nomes, Vinculações, Tipos e Escopos
Aula 5 Tipos de Dados Universidade do Vale do Rio dos Sinos
EXEMPLOS DE ESTRUTURAS PROTENDIDAS
A Tabuada.
Classes e objetos P. O. O. Prof. Grace.
Provas de Concursos Anteriores
Sistemas Operacionais
Renda até 2 SM.
Introdução à Programação
Diagnósticos Educativos = Diagnósticos Preenchidos 100% = 1.539
PESQUISA SOBRE PRAZO MÉDIO DA ASSISTÊNCIA NA SAÚDE SUPLEMENTAR
(CESPE/ Técnico Judiciário do TRT 17ª Região/ES) O Superior Tribunal de Justiça entende que o candidato aprovado em concurso público dentro do limite.
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
Regulamento FMTKD adaptado para Categorias Não-Oficiais
1 CENTRO DE DESENVOLVIMENTO E PLANEJAMENTO REGIONAL – 2006 P Ó S-GRADUA Ç ÃO EM ECONOMIA Microeconomia I Prof.: Edson Domingues Cap í tulo II: Escolha.
CATÁLOGO GÉIA PÁG. 1 GÉIA PÁG. 2 HESTIA PÁG. 3.
PROCESSOS PRINCIPAIS Alunos - Grau de Satisfação 4971 avaliações * Questões que entraram em vigor em 2011 ** N.A. = Não Aplicável Versão: 07/02/2012 INDICADORES.
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conservação - Frota ANO IV – Nº 11.
Trabalho sobre Cor Thiago Marques Toledo.
FISCALIZAÇÃO DIRECIONADA CONDUTA - AUXILIAR ANO III – Nº 05.
FISCALIZAÇÃO DIRECIONADA NÍVEL DE SERVIÇO ANO I – Nº 4.
Coordenação Geral de Ensino da Faculdade
Plataforma Brasil – Submissão de pesquisa
SISTEMAS OPERACIONAIS
Funcionários - Grau de Satisfação 2096 avaliações
Sistemas Operacionais
Tributação da Exportação nas Empresas optantes pelo Simples Nacional
Arquitetura de computadores
Projeto Marcas que Eu Gosto 1 PROJETO MARCAS QUE EU GOSTO Estudos Quantitativo de Consumidores Janeiro / 2005.
Núcleo de Mídia – Comercial Ranking Nacional de Circulação - Domingos Evolução Mês* 3,38% 2,20% 1,39% 1,13% -4,84% 0,49% -6,16% -0,07% -0,71% 0,27% 0,43%
Projeto Medindo minha escola.
C ORROPIOS, C ARDINCHAS E C ÃES G RANDES O LIVRO de José Paixão em imagens – com pistas de leitura propostas por por www.joraga.net.
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
CONCEITOS FUNDAMENTAIS
Olhe fixamente para a Bruxa Nariguda
Máquina de Turing Universal
3ª PESQUISA DE REMUNERAÇÃO
Equipe Bárbara Régis Lissa Lourenço Lucas Hakim Ricardo Spada Coordenador: Gabriel Pascutti.
AM020C A interface entre Meio Ambiente, Sociedade e Economia Indicadores de produtividade e empregabilidade da agricultura do Brasil. Aluna Andressa Santos.
2.5 Processos no Minix 1. gerenciamento de processos:
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Pontifical Catholic University of Rio Grande do Sul Porto Alegre, Brazil.
Pontifical Catholic University of Rio Grande do Sul Porto Alegre, Brazil.
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Transcrição da apresentação:

MPSoC HeMPS Guilherme Castilhos guilherme.castilhos@acad.pucrs.br Fernando Moraes fernando.moares@pucrs.br

Outline Visão Geral do Sistema Camadas Envolvidas na Comunicação Serviços do Microkernel Integração Processador à NoC Gerência Distribuída de Recursos

Visão Geral do Sistema MPSoC HeMPS MPSoC Homegêneo baseado em NoC HERMES NoC Plasma-IP (Plasma, Interface de Rede, DMA e RAM) So, HeMPS is a homogeneous NoC-based MPSoC Its main hardware components are the HERMES NoC and the Plasma-IP, which wraps a mostly-MIPS processor called Plasma, a NI, a DMA module and a private RAM memory This is a 2x3 HeMPS instance Here are the Hermes NoC and the Plasma-IPs connected to the NoC routers. This is an internal view of the Plasma-IP exposing its components The task repository is a memory which stores the object code of the tasks that will be loaded in the system

Visão Geral do Sistema HERMES NoC Topologia 2D mesh Router North Local West South East ControlLogic F HERMES NoC Topologia 2D mesh Router Controle Lógico Centralizado Até cinco portas bi-direcionais Buffers de entrada The Hermes NoC employs a 2D mesh topology. Its main component is the Hermes router which has a centralized logic control, responsible for the arbitration of incoming packets (RR) and routing (XY) Supports up to five bi-directional ports, with input buffer for temporary flit storage The local port is used to connect the Plasma-Ips and The remainig ports are used to connect the router to its neighbours

Visão Geral do Sistema (controle centralizado) Plasma-IP Separação entre comunicação e computação NI/DMA: envia e recebe pacotes PLASMA: executa a tarefa RAM: true dual port memory arquitetura MIPS código aberto pipeline 3 estágios compilador gcc interrupções To achieve high performance in the processing elements, the Plasma-IP architecture targets the separation between communication and computation. The network interface and DMA modules send and receive packets while the Plasma processor performs task computation and wrapper management. The local RAM is a true dual port memory supporting simultaneous processor and DMA accesses

Visão Geral do Sistema (controle distribuído) O MPSoC contém três tipos de PEs: Mestre Global (GMP) : contém todas as funções do LMP, e as funções relacionadas com a gerência global do sistema Acesso ao Repositório de Aplicações Mestres Locais (LMP) : responsáveis pelo controle dos clusters Escravos (SP) : responsáveis pela execução das tarefas The system contains a master processor (Plasma-IP MP), which is the system resources manager. It is the only processor having access to the task repository. During the system execution, tasks are dynamically loaded from the task repository to slave processors on demand. And when a given task finishes its execution the a system resource becomes available again. Such/This dynamic behavior enables smaller systems, since only required tasks are loaded into the system at any given moment. - The remainig processors are slave processors - Each one runs a microkernel supporting multitasking and task communication - The slave processors main function is to execute the application tasks

Visão Geral do Sistema Memória de cada processador Organizada em páginas A primeira página contém o microkernel multitarefa microkernel task

Visão Geral do Sistema Aplicações modeladas através de grafo de tarefas Cada aplicação possue seu próprio grafo de tarefas Tarefas iniciais não possuem dependências

MPSoC HeMPS Características relevantes do MPSoC HeMPS: Processamento homogêneo Utilização de rede intrachip (NoC) Memória distribuída Comunicação por troca de mensagens Organização de memória paginada

Outline Visão Geral do Sistema Camadas Envolvidas na Comunicação Serviços do Microkernel Integração Processador à NoC Gerência Distribuída de Recursos

Camadas envolvidas na comunicação Aplicação (software) Composta por tarefas Comunica-se com o microkernel através de chamadas de sistema (envio e recebimento de mensagens) Ex: Envio de mensagem para outro processador Aplicação Aplicação Microkernel Microkernel Wrapper Processador  NoC Wrapper Processador  NoC Meio de Interconexão - NoC

Camadas envolvidas na comunicação Microkernel (software) Gerenciamento das tarefas Trata interrupções, chamadas de sistema e escalona tarefas Monta pacotes com mensagens e envia ao wrapper Aplicação Aplicação Microkernel Microkernel Wrapper Processador  NoC Wrapper Processador  NoC Meio de Interconexão - NoC

Camadas envolvidas na comunicação Wrapper (hardware) Interface de comunicação entre o processador e a NoC Recebe o pacote do MicroKernel armazenando-o em um buffer Envia o pacote através da NoC dividindo-o em flits Wrapper realiza segmentação/remontagem Aplicação Aplicação Microkernel Microkernel Wrapper Processador  NoC Wrapper Processador  NoC Meio de Interconexão - NoC

Camadas envolvidas na comunicação NoC (hardware) Realiza a interconexão dos processadores Encaminha os flits dos pacotes ao processador destino Aplicação Aplicação Microkernel Microkernel Wrapper Processador  NoC Wrapper Processador  NoC Meio de Interconexão - NoC

Camadas envolvidas na comunicação Wrapper Recebe da NoC flits referentes ao pacote Armazena-os no buffer de recebimento Interrompe o processador para passar o pacote ao microkernel Aplicação Aplicação Microkernel Microkernel Wrapper Processador  NoC Wrapper Processador  NoC Meio de Interconexão - NoC

Camadas envolvidas na comunicação Microkernel Lê o pacote do wrapper Identifica a tarefa Escreve na memória da aplicação Aplicação Aplicação Microkernel Microkernel Wrapper Processador  NoC Wrapper Processador  NoC Meio de Interconexão - NoC

Camadas envolvidas na comunicação Aplicação Recebe a mensagem através do pedido de leitura da mensagem Aplicação Aplicação Microkernel Microkernel Wrapper Processador  NoC Wrapper Processador  NoC Meio de Interconexão - NoC

Outline Visão Geral do Sistema Camadas Envolvidas na Comunicação Serviços do Microkernel Integração Processador à NoC Gerência Distribuída de Recursos

Serviços do Microkernel Carregamento de códigos-objeto A microkernel e as tarefas são implementados em linguagem C e Assembly Cada código objeto é carregado em uma página

Serviços do Microkernel Múltiplas tarefas: organizadas em páginas Instrução no mkernel executada após interrupção ou escalonamento: mtc0 offset,$10

Serviços do Microkernel Task Control Blocks (TCBs) Informações da tarefa necessárias para seu controle typedef struct{ unsigned int reg[30]; unsigned int pc; unsigned int offset; unsigned int id; unsigned int status; }TCB; Registradores da tarefa Argumentos Retorno Temporários Salvos

Serviços do Microkernel Task Control Blocks (TCBs) Informações da tarefa necessárias para seu controle typedef struct{ unsigned int reg[30]; unsigned int pc; unsigned int offset; unsigned int id; unsigned int status; }TCB; Program Counter Última instrução executada

Serviços do Microkernel Task Control Blocks (TCBs) Informações da tarefa necessárias para seu controle typedef struct{ unsigned int reg[30]; unsigned int pc; unsigned int offset; unsigned int id; unsigned int status; }TCB; Endereço da memória onde inicia a tarefa Indica a página

Serviços do Microkernel Task Control Blocks (TCBs) Informações da tarefa necessárias para seu controle typedef struct{ unsigned int reg[30]; unsigned int pc; unsigned int offset; unsigned int id; unsigned int status; }TCB; Identificador da tarefa Numérico Global

Serviços do Microkernel Task Control Blocks (TCBs) Informações da tarefa necessárias para seu controle typedef struct{ unsigned int reg[30]; unsigned int pc; unsigned int offset; unsigned int id; unsigned int status; }TCB; Estado da Tarefa ready running waiting terminated

Serviços do Microkernel Escalonamento preemptivo sem prioridades algoritmo Round Robin somente tarefas no estado ready são escalonadas Controlado por interrupção um timer define o momento do escalonamento o tempo por tarefa é denominado timeslice (parametrizável) tx ty tz

Serviços do Microkernel Tratamento de interrupções interrupções advindas do contador de timeslice da NoC (chegada de pacotes) do software (chamadas de sistema) Exemplo: operações de escrita/leitura nos pipes de mensagens rotina de tratamento: endereço fixo 0x3C para contador de timeslice e chegada de pacotes 0x4C para chamadas de sistema

Serviços do Microkernel Para fim de timeslice e interrupções da NoC 1º passo: salvamento dos registradores e pc no TCB da tarefa suspensa 2º passo: Identificar a interrupção ocorrida e tratá-la Fim de timeslice: escalonamento Interrupção da NoC (chegada de pacotes): driver de comunicação 3º passo: Carregamento do TCB da tarefa escalonada (escalonamento) ou suspensa (chegada de pacotes)

Serviços do Microkernel Comunicação entre tarefas ocorre através de pipes Espaço de memória reservada para armazenamento de mensagens primitivas que geram chamadas de sistema WritePipe(&mensagem, id_destino) ReadPipe(&mensagem, id_fonte)

Serviços do Microkernel typedef struct { unsigned int remote_addr; /* Remote processor address */ unsigned int pkt_size; /* NoC packet size (flits) */ unsigned int service; /* Service identifier */ unsigned int local_addr; /* Local processor address */ unsigned int target; /* Target task */ unsigned int source; /* Source task */ unsigned int length; /* Message lenght (32 bits words)*/ unsigned int message[MSG_SIZE]; enum PipeSlotStatus status; } PipeSlot; PipeSlotStatus {EMPTY, LOCKED, USED};

Serviços do Microkernel Comunicação Local Tarefas da mesma CPU t3 tenta enviar msg para t2

Serviços do Microkernel Comunicação Local Tarefas da mesma CPU t3 tenta enviar msg para t2 Microkernel tem espaço no pipe? Copia msg para o pipe

Serviços do Microkernel Comunicação Local Tarefas da mesma CPU t2 tenta receber a msg de t3

Serviços do Microkernel Comunicação Local Tarefas da mesma CPU t2 tenta receber a msg de t3 Microkernel t3 é local?

Serviços do Microkernel Comunicação Local Tarefas da mesma CPU t2 tenta receber a msg de t3 Microkernel t3 é local? tem msg de t3 para t2? Copia msg do pipe para página da tarefa

Serviços do Microkernel Comunicação Remota t2 tenta enviar msg para t5

Serviços do Microkernel Comunicação Remota t2 tenta enviar msg para t5 Microkernel tem espaço no pipe? Copia msg para o pipe

Serviços do Microkernel Comunicação Remota t5 tenta receber msg de t2 Microkernel t2 é local?

Serviços do Microkernel Comunicação Remota t5 tenta receber msg de t2 Microkernel t2 é local? Requisita mensagem

Serviços do Microkernel Comunicação Remota t5 tenta receber msg de t2 Microkernel t2 é local? Requisita mensagem Destino recebe requisição Tem msg para t5?

Serviços do Microkernel Comunicação Remota t5 tenta receber msg de t2 Microkernel t2 é local? Requisita mensagem Destino recebe requisição Tem msg para t5? Envia msg para t5 Driver recebe msg

Serviços do Microkernel Comunicação Remota t5 tenta receber msg de t2 Microkernel t2 é local? Requisita mensagem Destino recebe requisição Tem msg para t5? Envia msg para t5 Driver recebe msg Copia para a página de t5

Serviços do Microkernel Estrutura dos pacotes de Aplicações e Tarefas typedef struct { int id; int code_size; int initial_address; int proc; int dependences_number; DependencePackage dependences[10]; } TaskPackage; int size; TaskPackage tasks[MAX_APP_SIZE]; } ApplicationPackage;

Serviços do Microkernel Lista de Serviços MESSAGE_REQUEST 0x00000010 MESSAGE_DELIVERY 0x00000020 TASK_ALLOCATION 0x00000040 TASK_ALLOCATED 0x00000050 TASK_REQUEST 0x00000060 TASK_TERMINATED 0x00000070 TASK_DEALLOCATED 0x00000080 LOAN_PROCESSOR_RELEASE 0x00000090 DEBUG_MESSAGE 0x00000100 LOCATION_REQUEST 0x00000120 NEW_TASK 0x00000130 APP_TERMINATED 0x00000140 NEW_APP 0x00000150 INITIALIZE_CLUSTER 0x00000160 INITIALIZE_SLAVE 0x00000170 TASK_TERMINATED_OTHER_CLUSTER 0x00000180 LOAN_PROCESSOR_REQUEST 0x00000190 LOAN_PROCESSOR_DELIVERY 0x00000200

Outline Visão Geral do Sistema Camadas Envolvidas na Comunicação Serviços do Microkernel Integração Processador à NoC Gerência Distribuída de Recursos

Integração do Processor à NoC Envolve: Wrapper – hardware de interface Drivers – software de comunicação

Integração do Processor à NoC Wrapper Interface entre o processador e a NoC Receber dados do processador e enviar para a NoC Dividindo os dados em flits Receber dados da NoC e entregar ao processador

Integração do Processor à NoC Wrapper Interface com a NoC – envio de dados tx: informa à NoC que tem dados a enviar data_out: dado a ser enviado credit_i: informa se a NoC pode receber dados

Integração do Processor à NoC Wrapper Interface com a NoC – recebimento de dados rx: é informado pela NoC que tem dados para receber data_in: dado recebido credit_o: informa à NoC se pode receber dados

Integração do Processor à NoC Wrapper Como o processador “conversa” com o wrapper Instruções de leitura/escrita em memória Enviando dados ao wrapper: la $9, ADDR_WRITE sw $4, 0($9)

Integração do Processor à NoC Wrapper Como o processador “conversa” com o wrapper Instruções de leitura/escrita em memória Lendo dados ao wrapper: la $9, ADDR_READ lw $13, 0($9)

Integração do Processor à NoC Wrapper Os dados recebidos da NoC são armazenados em um buffer circular LAST LAST: Escreve no buffer um dado (flit) proveniente da NoC 16 bits 16 bits

Integração do Processor à NoC Wrapper Os dados recebidos da NoC são armazenados em um buffer circular LAST LAST: Escreve no buffer um dado (flit) proveniente da NoC 16 bits 16 bits

Integração do Processor à NoC Wrapper Os dados recebidos da NoC são armazenados em um buffer circular LAST LAST: Escreve no buffer um dado (flit) proveniente da NoC 16 bits 16 bits

Integração do Processor à NoC Wrapper Os dados recebidos da NoC são armazenados em um buffer circular LAST LAST: Escreve no buffer um dado (flit) proveniente da NoC 16 bits 16 bits

Integração do Processor à NoC Wrapper Os dados recebidos da NoC são armazenados em um buffer circular LAST LAST: Escreve no buffer um dado (flit) proveniente da NoC 16 bits 16 bits

Integração do Processor à NoC Wrapper Os dados recebidos da NoC são armazenados em um buffer circular LAST LAST: Escreve no buffer um dado (flit) proveniente da NoC 16 bits 16 bits

Integração do Processor à NoC Wrapper Os dados recebidos da NoC são armazenados em um buffer circular LAST LAST: Escreve no buffer um dado (flit) proveniente da NoC 16 bits 16 bits

Integração do Processor à NoC Wrapper Os dados recebidos da NoC são armazenados em um buffer circular LAST LAST: Escreve no buffer um dado (flit) proveniente da NoC 16 bits 16 bits

Integração do Processor à NoC Wrapper Os dados recebidos da NoC são armazenados em um buffer circular LAST LAST: Escreve no buffer um dado (flit) proveniente da NoC 16 bits 16 bits

Integração do Processor à NoC Wrapper Quando houver um pacote completo ou o buffer estiver cheio o wrapper interrompe a CPU FIRST: Lê do buffer um dado e o transfere para o processador FIRST 16 bits 16 bits

Integração do Processor à NoC Wrapper CPU lê 32-bits FIRST: Lê do buffer um dado e o transfere para o processador FIRST 16 bits 16 bits

Integração do Processor à NoC Wrapper CPU lê 32-bits FIRST: Lê do buffer um dado e o transfere para o processador FIRST 16 bits 16 bits

Integração do Processor à NoC Wrapper CPU lê 32-bits FIRST: Lê do buffer um dado e o transfere para o processador FIRST 16 bits 16 bits

Integração do Processor à NoC Driver de comunicação localizado no microkernel envio e recebimento de pacotes monta pacotes Serviços: Message_Request Message_Deliver

Integração do Processor à NoC Wrapper segmenta o pacote em flits Exemplo: O código C ReadPipe(&msg,5) da tarefa 1 gera um pacote de requisição de dados: Processador destino: 0010 Tamanho do pacote: 8 Serviço: Message_Request (00000010) Processador fonte: 0011 Tarefa destino: 1 Tarefa fonte: 5 NoC com flit de 16 bits

Outline Visão Geral do Sistema Camadas Envolvidas na Comunicação Serviços do Microkernel Integração Processador à NoC Gerência Distribuída de Recursos

Gerência Distribuída de Recursos Divide o MPSoC em n clusters com tamanhos iguais, definidos em tempo de projeto.

Gerência Distribuída de Recursos Vantagens dessa abordagem: O número de PEs dedicados à função de gerência é limitado ao número de clusters. A abordagem clusterizada reduz o número de hops entre tarefas pertencentes a uma mesma aplicação Não é necessário criar/destruir agentes toda a vez que uma nova aplicação entra/deixa o sistema MORAES: aqui dizer que é em relação ao estado da arte

Inicialização dos Clusters CADA LMP INFORMA PARA SEUS SPS, QUE ELE IRA SER SEU GERENTE GMP INFORMA TODOS OS LMPs QUAL REGIÃO ELE IRA GERENCIAR

Inserção de uma Nova Aplicação LMP procura um SP para Mapear as Tarefas Inicias da Aplicação GMP obtém o código objeto da Tarefa no Repositório de Aplicações GMP programa o módulo de DMA para alocar a Tarefa no SP selecionado LMP encontra um SP disponível LMP envia uma mensagem para o GMP mapear a Tarefa GMP obtem a Descrição da Aplicação no Repositório de Aplicações GMP programa o módulo de DMA para enviar para o LMP do Cluster escolhido GMP encontra uma Cluster para a Aplicação Requisição de uma nova Aplicação GMP executa a heurística de “Seleção de Cluster” app

Processo de Mapeamento de Tarefas LMP executa a heurística de Mapeamento de Tarefas LMP escolhe um PE para mapear a Tarefa SP requesita uma Tarefa para o seu LMP O LMP informa para os PES as posições das Tarefas O GMP aloca a Tarefa no PE selecionado O GMP obtém o código-objeto da Tarefa LMP requisite a alocação da Tarefa para o GMP

Gerência com Regiões Dinamicamente Adaptadas às Aplicações Processo de Reclusterização: Ajuste em tempo de execução do tamanho de um determinado cluster. aumento do tamanho do cluster, por indisponibilidade de recursos migrar tarefas que foram mapeadas em clusters vizinhos, com o objetivo de melhorar o desempenho das aplicações MORAES: aqui dizer que é em relação ao estado da arte

Aumento Dinâmico do Tamanho do Cluster O LMP recebe todas as mensagens e escolhe qual recurso irá usar O LMP libera os recursos que não utilizará O LMP requisite para o GMP a alocação da Tarefa O GMP aloca a Tarefa no SP selecionado Os LMPs vizinhos respondem a “Requisição de Empréstimo” Os LMPs vizinhos buscam recursos em seus clusters SP requesita uma Tarefa para o seu LMP LMP executa a heurística de Mapeamento de Tarefas LMP não encontrou recursos disponíveis em seu Cluster LMP envia uma “Requisição de Empréstimo” para seus Clusters vizinhos Os LMPs reservam seus recursos

Migração de Tarefas É condicionado não apenas à existência de recursos livres, mas também ao ganho de desempenho pela redução do número de hops entre as tarefas comunicantes Características da Migração de tarefas: As tarefas podem ser migradas a qualquer momento Migração de tarefa completa, incluindo contexto, código e dados Mensagens são entregues em ordem, conforme foram criadas

Migração de Tarefas

Migração de Tarefas

Migração de Tarefas

Migração de Tarefas

Perguntas?