UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M...

19
UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware MMMMMMMMMMM Tarcisio Coutinho [email protected]

Transcript of UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M...

Page 1: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

MultiMachine Middleware MMMMMMMMMMM

Tarcisio [email protected]

Page 2: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

ObjetivoFacilitar o desenvolvimento de sistemas de Computação Voluntária através da implementação de um middleware

Construir um middleware orientado a objetosFacilidade na “incorporação” de novos serviços

Page 3: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

Cenário

Page 4: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

Requisitos Requisitos Funcionais

[RF01] Serviço de nomes.[RF02] Serviço de criptografia.[RF03] Serviço de distribuição de carga

Page 5: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

Requisitos Requisitos Não Funcionais

[RNF01] Comunicação segura.[RNF02] Linguagem adotada na construção da aplicação: Java[RNF03] Transporte confiável TCP[RNF04] Comunicação Síncrona[RNF05] Comunicação 1-N

Page 6: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

Arquitetura

Page 7: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

ProjetoPadrões de Projeto Adotados

Transparência de acessoClient Proxy

Acesso a objetos remotosRequestor

Invocação de objeto remotoInvoker

SerializaçãoMarshaller

Page 8: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

ProjetoPadrões de Projeto Adotados

Gestor de conexões (Client Side)Client Request Handler

Gestor de conexões (Server Side)Server Request Handler

Gerenciamento de Ciclo de VidaPer-Request Instance

Page 9: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

ProjetoClient Side @deprecated

Page 10: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

ProjetoClient Side

Page 11: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

ProjetoServer Side @deprecated

Page 12: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

ProjetoServer Side

Page 13: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

Projeto

Page 14: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

ImplementaçãoNecessidade de Performance

Implementação não genérica de mensagensSerialização “na unha” de array 159ms para serializar enviar (localmente) e “deserializar” 1Mbyte de dados

Page 15: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

ImplementaçãoComo escolher os host’s

Implementação de uma expressão para calcular o “Machine Rank”

Escolha da carga de dados a serem enviados Cálculo leva em conta vários fatores importantes ao desempenho de processamento (cada qual com um peso associado)

Quantidade de processadores (multi-cores, single-cores)Quantidade total de memória RAMQuantidade de memória LivreNúmero de Processos “Rodando” na máquina

Page 16: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

AvaliaçãoOrdenação

Page 17: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

ConclusãoPontos Fortes

Adiciona novas propriedades ao middleware orientado a objetos

Distribuição de carga

Implementação seguindo padrões de projetoRegularidadeSimplicidade de entendimento do código

Page 18: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

ConclusãoPontos Fracos

Dificuldade de distribuir a cargaProblema característico do próprio paralelismo

Conflitos de dados, etc

Atualmente necessidade de carregar configuração manualmente

Futuramente uso de arquivo XMLMotivo: Tempo

Page 19: UNIVERSIDADE FEDERAL DE PERNAMBUCO cin.ufpe.br MultiMachine Middleware M M M M M M M M M M M Tarcisio Coutinho tcs5@cin.ufpe.br.

UNIVERSIDADE FEDERALDE PERNAMBUCO

cin.ufpe.br

MultiMachine Middleware

MMMMMMMMMMMMMMMMMMDúvidas