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.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Sistemas Operacionais
IC - UFF Sistemas Operacionais Threads. IC - UFF Processos e threads Vimos o conceito de processo englobando duas características básicas: propriedade.
Capitulo 6: Entrada e Saída
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Operacionais
Técnicas para operações E/S
Sistemas de Informação Redes de Computadores
Processos no Unix e Linux
Comunicação Distribuída
Padrão MPI – Message Passing Interface
Chapter 4: Threads.
Sistemas Operacionais II
Interação Cliente Servidor
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Sistemas Operacionais
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
1 Arquitetura CORBA Repositório de Implementação Repositório de Interface cliente programa cliente proxy ORB Core ou invocação dinâmica servidor ORB Core.
Comunicação Inter-Processos
ESTRUTURA DE COMUNICAÇÃO DE DADOS
Threads.
Mobilidade Cláudia Ribeiro.
JAVA: Conceitos Iniciais
Concorrência em Java Threads em Java.
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tópicos de Sistemas de Informação A
Web Services Uninorte Semana de Tecnologia da Informação
Sistemas Operacionais
Chamada Remota de Procedimentos
Conteúdo 1. Introdução Threads 2. Ambiente Monothread 3. Ambiente Multithread 4. Arquitetura e Implementação 5. Modelos de Programação.
Concorrência e Java RMI
Conteúdo Processos e threads Partes do processo
Professor: Márcio Amador
Algoritmos e Estruturas de Dados I – Ponteiros
Sistemas Operacionais
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
Computação L1: Infra-Estrutura Básica
RMI x C# Remote Emilena Specht – 1113/01/9 2004/01
SISTEMAS OPERACIONAIS I
CORBA Apresentação do Padrão CORBA Maurício Maron Mendes Ramiro Pereira de Magalhães
PROGRAMAÇÃO DISTRIBUÍDA Aula 01 Prof. Henrique Mongelli
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Processos.
ASDK API Aglet API Aglet Event. API Aglet É um pacote Java ( com.ibm.aglet ) que contém classes e interfaces necessárias à programação da interface entre.
Entrada e Saída (E/S).
Troca de Mensagens Programação concorrente
Subsistema de Entrada e Saída do Kernel
Integração de Ferramentas CASE
RMI Objetos Distribuídos Luiz C. D´oleron SCJP
Capítulo 4: Processos.
DI-UFPE1 Sistemas CASE Modelos de Referência. DI-UFPE2DI-UFPEDI-UFPE Definição n Estruturas de um Ambiente CASE do ponto de vista conceitual; n Permitem.
Tecgraf PUC-Rio maio de 2011 O Serviço OpenDreams.
SISTEMAS OPERACIONAIS
Tecnologias de Localização de Serviços Exame de Qualificação IME/USP Fev/2003.
JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano.
Conceitos do Cliente Funcionamento Básico do Cliente Como Clientes acessam e usam Objetos Distribúidos.
InteGrade: Arquitetura e estado atual do código II Workshop do InteGrade (São Paulo, de Janeiro de 2004) Andrei Goldchleger
Camada de Aplicação Prof. Horácio. Objetivo Apresentar os detalhes específicos dos tipos de aplicação; Apresentar o modelo cliente-servidor; Apresentar.
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Linguagem de Programação I Parte IV
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads
Sistemas Operacionais IV – Gerenciamento de E/S
Jorge Zavaleta PVM vs MPI. Introdução Objetivos do MPI Implementações e definições processos dinâmicos Contextos Operações não bloqueantes Portabilidade,heterogeneidade.
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Transcrição da apresentação:

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 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 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 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 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 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 Componentes da implementação BSP no InteGrade BSPProxy StubPool Process Zero

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 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 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 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 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 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 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 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 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 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 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 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 Exemplo de código