distribuição e execução de wrappers em ambiente de grid para o codims orientado cristiano...

42
Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

Upload: internet

Post on 22-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS

Orientado

Cristiano Biancardi

OrientadorProf. Dr. Alvaro C. P. Barbosa

Page 2: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

2

Agenda

Introdução CoDIMS A proposta Trabalhos Relacionados Especificação e Modelagem Testes e Resultados Contribuições Conclusões Trabalhos Futuros

Page 3: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

3

Introdução

Aumento da quantidade de dados heterogêneos e distribuídos.

Demanda: necessidade de uma visão integrada dos dados.

Solução: Sistemas de Integração de Dados.

Page 4: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

4

Sistemas de Integração de Dados Fornecer a partir de fontes de dados

heterogêneas e distribuídas uma visão única, uniforme e homogênea.

Desenvolvimento de sistemas de integração de dados não é uma tarefa simples devido a complexidade de:

Suportar múltiplos modelos de dados.

Integração semântica dos dados.

Estratégias de processamento de consultas.

Técnicas de controle de transação.

Sistemas Middleware de Integração de Dados

Page 5: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

5

Sistema Middleware para Integração de Dados

Page 6: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

6

CoDIMS - Configurable Data Integration Middleware System Ambiente para geração de sistemas

configurados de integração de dados para uma aplicação específica.

Características:

Baseado na técnica de framework e em componentes.

Flexível e configurável.

Usa somente os componente necessários e adequados

“What you need is only what you get” (wynwyg).

Page 7: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

7

Exemplos de configuração

=> Somente leitura das fontes.

Page 8: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

8

=> Atualização da fontes.

Exemplos de configuração (cont.)

Page 9: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

9

=> Incorporando um novo componente para uma aplicação específica.

Exemplos de configuração (cont.)

Page 10: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

10

CoDIMS – versão atual Uso de RMI ->Web Services. Wrappers implementados internamente ao

componente Acesso aos Dados executando no mesmo servidor Acesso aos

Dados. Sobrecarga do servidor e overhead em sua

execução.

O que são Wrappers?

Page 11: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

11

Wrappers Tradução do modelo de dados nativo da

fonte para o modelo de dados Global/Canônico.

Executar mapeamentos e conversões: atributos, unidades.

Comunicação com as fontes de dados

Um wrapper para cada tipo de fonte.

Page 12: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

12

SELECT Nome, Sal_reais from tab_global WHERE Sal _reais > 1500

<?xml version=“1.0” encoding=“ISO-8859-1”?><local-plano>< coluna ordem = “0” Nome = “Nome” tabela=“func”/>< coluna ordem = “1” Nome = “Sobrenome” tabela=“func”/>< coluna ordem =“2” Sal_reais =“Salario_dolar” tabela = “func”/><condicao argumentoesquerdo=“Sal_reais” operacao=“maior” argumentodireito=“1500”/></local -plano>

SELECT Nome, Sobrenome, Salario_dolar from funcWHERE Salario_dolar > 625

Nome Sobrenome Salario_dolar

Leonardo Silvestre 950

Vinícius Figueiredo 1000

Rodrigo Bonfá 900

Nome Sal_reais

Leonardo Silvestre 2280

Vinícius Figueiredo 2400

Rodrigo Bonfá 2160

W: gera sub-consulta modelo da fonte

W: comunica com a fonte, encaminha sub-consulta

W: tradução para o modelo global

Page 13: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

13

Integração de dados vs. Problemas em aberto

Existem diversos problemas em aberto dentro do cenário de integração de dados.

Como melhorar o desempenho dos sistemas middleware de integração de dados?

Page 14: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

14

CoDIMS: Localização dos Wrappers

Alocá-los em um único servidor Alocá-los em um ambiente

distribuído

Page 15: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

15

Tecnologias de Computação Distribuída

Enterprise

Cluster

Web Web Services Grid

CORBA, EJB, RMI : problemas com firewalls, fortemente acopladas

Conjunto de hardwares conectados, localizados em um único local e administradas por um gerente local, que é o responsável pelo alocação dos recursos. Novas exigências não suportadas => + máquinas.

Resolvem estes problemas, contudo não são muito versáteis: gerenciamento de recursos, ciclo de vida, notificação etc

Implementam Serviços Grid: podem ser vistos como um evolução de Web Services

Page 16: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

16

Grid Aplicações podem utilizar múltiplos recursos

computacionais que podem estar distribuídos geograficamente consistente, transparente e segura

Levando em consideração que cada nó de um Grid irá executar tarefas distintas as aplicações mais adequadas ao Grid são

as que possuem tarefas independentes em qualquer ordem e, a princípio, em

qualquer nó do Grid.

Page 17: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

17

Sistemas de integração de dados

podem se beneficiar de um ambiente de Grid para obter um melhor desempenho

pela alocação de wrappers em nós de Grid

são executados de maneira independente

w1

w2

w3w4w5

Page 18: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

18

A proposta Reduzir a sobrecarga do servidor Acesso aos Dados.

Desacoplar os wrappers do componente Acesso aos Dados.

Dristibuição/Alocação dos wrappers em um ambiente distribuído.

Execução, em paralelo, dos wrappers.

Execução, em paralelo, das sub-consultas.

Armazenar os conjuntos-resultado proveniente de cada sub-consulta em um ambiente distribuído, permitindo o uso de transações distribuídos durante o processamento do Plano de Execução de Consultas (PEC).

Page 19: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

19

Trabalhos Relacionados

Buscam distribuir funcionalidades em ambiente distribuído:

CoDIMS-G OGSA-DAI OGSA-DPQ MOCHA SkyQuery

Page 20: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

20

CoDIMS-G É uma instância do CoDIMS. Suporte para aplicações de visualização científica em Grid. Desenvolvido no LNCC (Laboratório Nacional de Computação

Científica). Usa Grid para a execução em paralelo de instância de um

mesmo programa sobre uma grande base de dados. Executa, em paralelo, sub-consultas sobre partes de uma

mesma fonte de dados. De uma maneira mais geral, não efetuar integração de dados

heterogêneos e distribuídos.

Page 21: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

21

OGSA-DAI - Open Grid Service Architecture Data Access and Integration É um projeto que visa a construção de um middleware para

ajudar no acesso e integração de dados. Permite a representação dos banco de dados como serviços Grid. Pode ser visto como um wrapper com funções limitadas:

comunicação com as fontes e operações básicas de banco de dados.

Não possui as funcionalidades de tradução entre modelos, conversões, mapeamentos etc.

Page 22: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

22

OGSA-DQP - Open Grid Service Architecture - Distributed Query Processor É um middleware de integração de dados. Monolítico e integração de esquema e resolução de conflitos

não são suportadas. Plano de execução de consulta gerado pelo OGSA-DPQ é

estático os operadores do plano são alocados estaticamente em nós do

Grid. Não é possível gerar um novo plano e efetuar a re-alocação

dos seus operadores.

Page 23: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

23

MOCHA - Middleware based On a Code sHipping Architecture Middleware para integração de dados. Monolítico e integração de esquema e resolução de conflitos não são

suportadas. Utiliza a idéia de implantação automática de código em sites

remotos através dos DAPs (Data Access Provider). DAP para cada tipo de fonte. Não traduz modelos, mapeamentos e

não faz conversões.

Page 24: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

24

SkyQuery Middleware para integração de dados da astronomia. Cada SkyNode encapsula um banco de dados distinto. SkyNode não faz acesso a outro banco de dados. Não traduz modelos, mapeamentos e não faz conversões.

Page 25: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

25

No que este trabalho se difere?

Características do CoDIMS: flexibilidade, configuração.

Integração de dados fontes de dados heterogêneos e distribuídos.

Alocação de serviços a partir de cada nó é possível criar instância de

diferentes serviços. Funcionalidades de wrapper: tradução entre

modelos, conversões, mapeamentos etc.

Page 26: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

26

Especificação Funcional

Page 27: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

27

Arquitetura - (WGC)

Page 28: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

28

Funcionalidades de um WGC (Componente Wrapper-Grid)

publicar os serviços do componente; encapsular as funcionalidades básicas de um

wrapper em um Grid Wrapper Service - WS; gerenciar o ciclo de vida de instâncias de Grid

Wrapper Service; notificar o componente Acesso aos Dados quando

uma sub-consulta for finalizada; armazenar o conjunto-resultado gerado por uma

sub-consulta; processar sub-consulta, executar funções; outros serviços podem ser adicionados para

aplicações específicas.

Page 29: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

29

WGC no Grid

Cada WGC possui todos os WSs implantados

Page 30: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

30

Exemplo de Execução de Consulta

Page 31: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

31

Page 32: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

32

Implementação

Java

Apache Soap-RPC

UML

Page 33: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

33

Testes e Resultados

Infra-estrutura

Page 34: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

34

Centralizado

Wrappers compartilhando recursos computacionais em uma mesma máquina.

CAMBURI

Page 35: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

35

Distribuído - Grid Wrappers executando

em máquinas distribuídas.

Page 36: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

36

Gráfico de comparação entre as duas abordagens: Centralizada concorrente; Distribuída. Fontes de dados Bancos relacionais.

Page 37: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

37

Gráfico de comparação entre as duas abordagens: Centralizada concorrente; Distribuída. Conjuntos resultados de tamanho fixos.

Page 38: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

38

Contribuições

Em geral, as contribuições deste presente trabalho para a integração de dados são:

execução em paralelo das sub-consultas a serem encaminhadas a cada fonte de dados;

execução em paralelo dos wrappers, através da alocação destes em um ambiente distribuído, mais precisamente alocação de instâncias Wrapper-Services em nós de um Grid;

disponibilização dos conjuntos-resultado, oriundos das fontes de dados, em um ambiente distribuído, proporcionando a execução distribuída das operações internas do PEC (união, junção etc.).

Page 39: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

39

Contribuições (cont.)

Com relação ao projeto CoDIMS, as principais contribuições estão relacionadas a:

redução da carga do servidor Acesso aos Dados;

especificação e incorporação da camada de Wrapper-Grid e criação de uma infra-estrutura de Grid;

implementação de um protótipo com relação ao estudo de caso;

implementação de uma fila para troca de mensagens entre os componentes Processamento de Consultas (MEC) e o componente Acesso aos Dados, permitindo a execução assíncrona e distribuída dos wrappers e do PEC.

Page 40: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

40

Conclusões

Aplicações onde os conjuntos-resultado provenientes das fontes de dados são pequenos

versão do CoDIMS com wrappers centralizados se mostra satisfatória.

Aplicações onde os conjuntos-resultado são razoavelmente grandes, e tendem a crescer mais

a nova abordagem do CoDIMS apresentada neste trabalho é mais interessante, pois o tempo de resposta é consideravelmente menor.

Page 41: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

41

Trabalhos Futuros

Realocação de instâncias. Envio de código específico da aplicação. MEC distribuída. Efetuar testes mais elaborados. Novos wrappers. Implementação do CoDIMS multi-

usuário. Envio de código de wrapper. Globus Toolkit 4.

Page 42: Distribuição e Execução de Wrappers em Ambiente de Grid para o CoDIMS Orientado Cristiano Biancardi Orientador Prof. Dr. Alvaro C. P. Barbosa

Perguntas

e-mail:

[email protected]ágina:

http://codims.lprm.inf.ufes.br/