UNIVERSIDADE FEDERALDE PERNAMBUCO
cin.ufpe.br
MultiMachine Middleware MMMMMMMMMMM
Tarcisio [email protected]
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
UNIVERSIDADE FEDERALDE PERNAMBUCO
cin.ufpe.br
Cenário
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
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
UNIVERSIDADE FEDERALDE PERNAMBUCO
cin.ufpe.br
Arquitetura
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
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
UNIVERSIDADE FEDERALDE PERNAMBUCO
cin.ufpe.br
ProjetoClient Side @deprecated
UNIVERSIDADE FEDERALDE PERNAMBUCO
cin.ufpe.br
ProjetoClient Side
UNIVERSIDADE FEDERALDE PERNAMBUCO
cin.ufpe.br
ProjetoServer Side @deprecated
UNIVERSIDADE FEDERALDE PERNAMBUCO
cin.ufpe.br
ProjetoServer Side
UNIVERSIDADE FEDERALDE PERNAMBUCO
cin.ufpe.br
Projeto
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
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
UNIVERSIDADE FEDERALDE PERNAMBUCO
cin.ufpe.br
AvaliaçãoOrdenação
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
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
UNIVERSIDADE FEDERALDE PERNAMBUCO
cin.ufpe.br
MultiMachine Middleware
MMMMMMMMMMMMMMMMMMDúvidas
Top Related