A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 BSP no InteGrade II WorkShop do InteGrade c. 2 Objetivo O principal objetivo é permitir que aplicações BSP sejam executadas no InteGrade sem ou com.

Apresentações semelhantes


Apresentação em tema: "1 BSP no InteGrade II WorkShop do InteGrade c. 2 Objetivo O principal objetivo é permitir que aplicações BSP sejam executadas no InteGrade sem ou com."— Transcrição da apresentação:

1 1 BSP no InteGrade II WorkShop do InteGrade c

2 2 Objetivo O principal objetivo é permitir que aplicações BSP sejam executadas no InteGrade sem ou com poucas modificações. As interfaces do core do InteGrade não foram sobrecarregadas, no sentido que criarmos interfaces separadas para o suporte ao BSP Usamos CORBA para a troca de mensagens entre as tarefas

3 3 Comunicação entre Tarefas BSP O BSP define duas formas de comunicação entre tarefas: DRMA - permite que uma tarefa leia e escreva no espaço de endereço remoto de outra tarefa BSMP - implementa a passagem de mensagens para comunicação entre tarefas

4 4 Implementação no InteGrade para comunicação entre Tarefas BSP Atualmente implementamos a maioria dos métodos definidos pelo DRMA. Permitindo a execução de simples aplicações BSP. Além desses métodos foram implementados rotinas gerais que servem para inicialização do BSP, sincronização de super passos, etc.

5 5 Lista de métodos implementados bsp_begin - inicializa uma aplicação BSP bsp_pushregister - declara que um endereço de mémoria pode ser acessado por outras tarefas BSP bsp_popregister - declara que determinado endereço não pode ser acessado remotamente bsp_put - escreve na área de mémoria de uma outra tarefa bsp_get - lê de uma área de mémoria de uma outra tarefa

6 6 Lista de métodos implementados bsp_sync - a barreira de sincronização bsp_pid - retorna o ID da tarefa BSP bsp_nprocs - retorna o número de tarefas da aplicação paralela

7 7 Componentes da implementação BSP no InteGrade BSPProxy StubPool Process Zero

8 8 O BspProxy É um servente CORBA responsável por receber qualquer comunicação relacionada ao BSP para uma determinada tarefa Em nossa implementação cada tarefa de uma aplicação paralela tem um bspproxy associado O proxy contém métodos da API BSP, além de possuir métodos internos a nossa implementação Criação e manipulação transparente ao usuário da API

9 9 O StubPool É responsável pela instanciação dos stubs dos clientes que acessam os proxies das outras tarefas Organizam os stubs de uma forma que só uma instancia da biblioteca do O 2 é utilizada O proxy contém métodos da API BSP, além de possuir métodos internos a nossa implementação Criação e manipulação transparente ao usuário da API

10 10 Process Zero É o primeiro processo que compôe uma aplicação BSP É responsável por distribuir as tarefas no sentido de colocá-las em contato com o GRM para negociação de execução. É responsável por dar um ID para cada tarefa restante da aplicação BSP E por fim, também é responsável por gerenciar as barreiras de sincronização

11 11 A execução de uma aplicação BSP no InteGrade Aplicações BSP precisam iniciar a execução, dividir as tarefas e gerenciar as barreiras de sincronização

12 12 Passo a passo na execução de uma aplicação BSP no InteGrade 1) Usuário registra a aplicação no repositório de aplicações usando o ASCT(Application Submittion and Control Tool) 2) o usuário usa o ASCT para solicitar ao GRM(Global Resource Manager) a execução de uma aplicação paralela 3) Quando a solicitação chega a um LRM(Local Resource Manager) ele baixa o arquivo de configuração do ASCT 4) O método bsp_begin é executado, o arquivo de configuração é lido

13 13 Passo a passo na execução de uma aplicação BSP no InteGrade 5) Se o processo é o process zero  O ASCT é instanciado, a partir do ASCT pode-se solicitar ao GRM o agendamento das tarefas restantes  Antes da requisição ser enviada uma nova versão do arquivo de configuração é gerado, adaptado para o restante das tarefas que irão ser agendadas. Esta versão do arquivo contém uma indicação dizendo que estas tarefas não são o process zero e contém a IOR do process zero

14 14 Passo a passo na execução de uma aplicação BSP no InteGrade  É o process zero que fornece o ID para as tarefas  Após coletar todas as IOR’s das tarefas o process zero se comunica com todas as tarefas fornecendo a IOR das outras tarefas, dessa forma as tarefas podem conversar entre si

15 15 Passo a passo na execução de uma aplicação BSP no InteGrade 6) Se o processo não é o process zero  Tudo o que a tarefa tem a fazer é:  Instanciar seu servente  Enviar uma mensagem de registro para o process zero  Esperar receber seu ID e as IOR’s das outras tarefas

16 16 Passo a passo na execução de uma aplicação BSP no InteGrade _ No fim do bsp_begin cada tarefa tem seu próprio ID o conjunto de todas as IOR’s das demais tarefas e a do process zero _ A comunicação entre as tarefas será feita através do bspproxy e do stubpool utilizando o CORBA para as chamadas remotas de métodos

17 17 Passo a passo na execução de uma aplicação BSP no InteGrade _ Como visto anteriormente a computação no BSP é feita através de super passos (supersteps) _ Cada superstep é finalizado por uma sincronização de barreira _ Operações como bsp_put, bsp_pushregister só são efetivadas no fim do superstep. _ O bsp_synch é o método responsável pela sincronização

18 18 Passo a passo na execução do bsp_synch 1) Quando um processo chama bsp_synch, ele envia uma mensagem de synch para o process zero e para de executar. 2) Quando todas as tarefas enviam synch para o process zero este por sua vez envia um sync_done para todas as tarefas que agora podem processar as operações pendentes.

19 19 Trabalhos futuros _ Realização de mais testes para depuração, correção e otimização da implementação atual _ Implementação do tipo de troca de mensagens BSMP _ Checkpointing e migração

20 20 Exemplo de código


Carregar ppt "1 BSP no InteGrade II WorkShop do InteGrade c. 2 Objetivo O principal objetivo é permitir que aplicações BSP sejam executadas no InteGrade sem ou com."

Apresentações semelhantes


Anúncios Google