Programação Paralela OO. projeto ProActive www-sop.inria.fr/oasis/proactive/home.html

Documentos relacionados
Chamada Remota de Procedimento (RPC)

Chamada Remota de Procedimento (RPC)

Sistemas Distribuídos

Sistemas Distribuídos

Comunicação orientada a mensagens

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior

Sistemas Distribuídos

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação

Num sistema de objectos distribuídos, dois conceitos são fundamentais.

RMI e RPC. RPC significou um passo muito grande em direcção à

Sistemas Operacionais II

Sistemas Distribuídos

Sistemas Distribuídos

Aspectos para Construção de Aplicações Distribuídas

Exemplo de Aplicação Distribuída Serviço de Nomes Gerente de Segurança. Callbacks. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Java RMI Remote Method Invocation

Java RMI - Remote Method Invocation. Programação com Objetos Distribuídos (C. Geyer) Java-RMI 1

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Java RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

JavaTM RMI - Remote Method Invocation

Comunicação orientada a mensagens

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Tecnologias de Distribuição e Integração. Quais as preocupações a ter com um sistema distribuído?

SISTEMAS DISTRIBUÍDOS

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Principais conceitos de CORBA

Implementação de um Sistema de Objetos Remoto baseado em Java RMI. Ricardo Couto Antunes da Rocha INF/UFG

Infra-Estrutura de Software

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado

Comunicação Objetos Distribuídos e RMI

Sistemas Distribuídos Aula 10

Invocação Remota. Prof. Leonardo Barreto Campos. 1/29

PUC-SP Depto. de Ciência da Computação

Comunicação. Carlos A. G. Ferraz 25/6/2003. Sistemas Distribuídos 1. Tópicos. Camadas. Transmissão de dados. Marshalling/Unmarshalling.

INTRODUÇÃO. RPC x RMI

SPEEDMiddleware - MOM

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Paradigmas de Computação Paralela

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto

RMI: Uma Visão Conceitual

Sistemas Distribuídos

HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP

Sistemas Distribuídos

Características de Sistemas Distribuídos

COMPUTAÇÃO DISTRIBUÍDA

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Programação Concorrente e Paralela

Comunicação orientada a mensagens

Sistemas Distribuídos: Conceitos e Projeto Java RMI

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA

Enterprise Java Beans (I)

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Características de Sistemas Distribuídos

Invocação Remota MC704

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha

Prof. Me. Sérgio Carlos Portari Júnior

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Uma introdução ao Apache Hama

histórico migração de processos em sistemas operacionais distribuídos balanceamento de carga de CPU otimização do uso da rede

STD29006 Sistemas Distribuídos

Sistemas de Objetos DistribuídosPrimeira Aplicação Java ORB p.1/21

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017. ALUNO Prof. Bosco

Exceções AULA 13. Ricardo Massa F. Lima Sérgio C. B. Soares

Um Repositório Chave-Valor com Garantia de Localidade de Dados. Patrick A. Bungama Wendel M. de Oliveira Flávio R. C. Sousa Carmem S.

Protocolo Request-Reply

Sistemas Distribuídos

Invocação de Métodos Remotos

Bibliografia em processamento paralelo

Vamos fazer um pequeno experimento

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Middleware de Aplicações Paralelas/Distribuídas

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Remote Method Invocation (RMI)

Sistemas Paralelos e Distribuídos /2004 Curso: Matemática /Informática Sistemas Distribuídos /2004 Curso: Ensino da Informática

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO

Sistemas Distribuídos e Redes de Sensores

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Linguagem de Programação III

Sistemas Distribuídos

UFG - Instituto de Informática

UNIVERSIDADE. Sistemas Distribuídos

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Num sistema de objectos distribuídos, dois conceitos são fundamentais.

Programação Orientada a Objetos Relacionamentos entre classes

The Excitement in Parallel Computing

Sistemas Distribuídos

Common Object Request Broker Architecture

Computação II Orientação a Objetos

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais

Invocação de Métodos Remotos RMI (Remote Method Invocation)

Capítulo 9. Subprogramas

Sistemas Operacionais II

Projeto de Linguagem. Linguagens de Programação

Desenvolvimento de Aplicações Distribuídas

COMPUTAÇÃO DISTRIBUÍDA

Sistemas Distribuídos

Computação II Orientação a Objetos

Transcrição:

Programação Paralela OO projeto ProActive www-sop.inria.fr/oasis/proactive/home.html

motivação integracão de programacão paralela e distribuida com POO programacão mpi-like trabalha em baixo nivel de abstracão chamadas de métodos podem criar uma camada de abstração chamada de método operações coletivas» barreira

Java RMI RMI Client Stub call skeleton RMI Server return stub implementa falsa chamada a método remoto empacota argumentos, realiza chamada, e retorna resultados

arquitetura RMI Remote Machine servidor se registra em registry cliente contacta registry com lookup cliente pode baixar código de stub dinamicamente! RMI Server skeleton return call stub bind Registry lookup RMI Client Local Machine

servidor RMI /* SampleServer.java */ import java.rmi.*; public interface SampleServer extends Remote { public int sum(int a,int b) throws RemoteException; } /* SampleServerImpl.java */... public class SampleServerImpl extends UnicastRemoteObject implements SampleServer { SampleServerImpl() throws RemoteException { super(); }

problemas p/ paralelismo sincronismo inerente a chamadas remotas bloqueio ausência de operações coletivas outras críticas: obrigações com extensão de classe Remota e com sinalização de exceções

ProActive exploração de modelo de programação assíncrono transparência de localização de objetos futuros e wait on necesssity comunicação coletiva extensão de chamada de método alocação de objetos em nós remotos integração com bibliotecas para grades

Java// biblioteca para programação multithread e distribuída uso de reflexão computacional para interceptar chamadas

Java// - atendimento a reqs suporte a programação do skeleton com métodos da biblioteca programação de políticas de atendimento a requisições

sincronização intra objetos

sinc. inter objetos objetos ativos modelam concorrência e distribuição chamadas a objetos ativos são sempre assíncronas chamada retorna imediatamente um valor futuro instância de subclasse do retorno declarado tem todos os métodos do retorno esperado quando algum método é chamado sobre esse valor retornado é que ocorre a sincronização wait-by-necessity

futuros

futuros como obj de 1a classe objetos retornados por operações assíncronas podem ser passados como argumentos em novas operações otimização da transferência de dados v1 = a.foo (...); // chamada assíncrona v2 = a.bar(...); // chamada assíncrona... v1.f(v2); // espera apenas v1

programação SPMD suporte a operações coletivas grupos tipados: coleções de objetos de determinada classe (ou subclasses) A ag = (A) ProActiveGroup.newGroup ( A, params, {node1, node2, node3}); ag.foo() // operação coletiva... V vg = ag.bar() // vg é um grupo de classe V vg.f(); // outra operação coletiva // chamadas sobre f s disparadas a medida // em que resultados se tornam disponíveis

interface Group

OO-SPMD

OO-SPMD modelo de execução assíncrono depois de inicialização, cada processo entra em loop de eventos

exemplo: Jacobi cálculo de valor de ponto a cada interação depende de valores vizinhos na iteração anterior

paralelizaçao ditribuição de matriz em blocos comunicação com dois, três ou quatro vizinhos

MPI Jacobi

OO-SPMD Jacobi barreiras forçam sincronização antes da execução de nova chamada assíncrona chamadas assíncronas

Barreiras totais prospmd.barrier ("minhabarreira"); parciais prospmd.barrier ("barreiraviz", grupo); locais prospmd.barrier({"foo", "bar", "gee"):

operações de scatter parâmetros que são grupos podem ser usados para compor envio por scatter

modelo de programação modelo reativo: computação ocorre em resposta à chegada de eventos programa está sempre pronto para receber chamadas no exemplo, entre chamadas a me.jacobiiteration adequação a distribuição geográfica e grades