You are on page 1of 43

Replication technology/ Update propagation technology, such as publish-subscribe message bus

Marcelo Fernandes (mfs4@cin.ufpe.br) Luis Felipe Formiga Leite(lffl@cin.ufpe.br) Rafael Dantas(rtd@cin.ufpe.br) Gustavo Henrique Lima Pinto (ghlp@cin.ufpe.br)

Sumrio
Introduction The scheduling model The scheduling algorithm Experiments and Results Conclusions

Motivao
A sequential formulation of a problem can lead to a solution
It is not enough for applications with serious performance requirements;

Scheduling is an used technique


The objective is to minimize the completion time of a parallel application;

We propose a Genetic Algorithm to calculate a schedule for parallel jobs.

Replication Technology

O que replicao?
Consiste na manuteno de mltiplas cpias da mesma informao em dispositivos distintos. Tem ampla utilizao em sistemas reais
Web/Internet Sistemas de arquivos distribudos Banco de dados distribudas

O que replicao?

Replicao no backup!

Vantagens da Replicao
Novas formas de acesso surgem! Desempenho
Acesso a dados locais ao invs de dados remotos Reduo do trfego na rede beneficia outras aplicaes

Disponibilidade
Se um site estiver inacessvel (tenho a rplica!)

Replicao
Principais modelos de replicao:
Replicao Mestre-Escravo (Master/Slave) Replicao em Grupo

Principais estratgias de Propagao


Replicao Sncrona (Eager) Replicao Assncrona (Lazy)

Modelos de Replicao
Replicao Mestre/Escravo (Master/Slave)
Cada objeto/site possui somente um dono Cpia primria aquela dona do objeto/site nela podem ser realizadas leituras e atualizaes. Outras cpias so secundrias - nelas somente podero ser realizadas leituras (usualmente podemos ter mais de uma cpia secundria)

Modelos de Replicao
Replicao Mestre/Escravo (Master/Slave)
Ns mestres - aqueles onde s existem cpias primrias, Ns escravos - aqueles onde s existem cpias secundrias Ns mestreescravo possuem cpias primrias e secundrias Um problema desta abordagem que qualquer falha em um n mestre impede que sejam realizadas atualizaes

Modelos de Replicao
Replicao em Grupo
Todas as cpias so donas dos objetos, de forma que leituras e gravaes podem ser realizadas em qualquer uma delas Uma falha em qualquer n no impede o correto funcionamento dos demais.

Estratgias de Propagao
Replicao Sncrona (Eager)
Propaga qualquer alterao imediatamente para todas as cpias existentes, no escopo da transao A transao s termina quando todas as cpias do objeto/site tiverem sido atualizadas Sincronismo: todas as rplicas so atualizadas dentro da mesma transao considerando a propriedade da atomicidade

Estratgias de Propagao
Replicao Sncrona (Eager)

Estratgias de Propagao
Replicao Sncrona (Eager)
Dados esto consistentes e atualizados permanentemente. Perda de performance em atualizaes est sendo realizada a atualizao em vrias cpias da relao antes da confirmao final da execuo da transao Implementaes simples: a paralisao de um site que contenha rplicas paralisa operaes em todas as rplicas

Estratgias de Propagao
Replicao Assncrona (Lazy)
A atualizao solicitada pelo cliente realizada apenas em um n Somente aps que a transao em que esta atualizao est inserida termina, so disparadas transaes de atualizao nos vrios ns que contm rplicas disparada uma transao para cada uma das rplicas no atualizadas.

Estratgias de Propagao
Replicao Assncrona (Lazy)

Estratgias de Propagao
Replicao Assncrona (Lazy)
Atualizao ocorre inicialmente em um nico n como se no houvesse rplicas - uma rpida resposta ao usurio sobre a transao. Dados temporariamente desatualizados em algumas cpias, podendo levar a aparentes inconsistncias Rplicas de determinado objeto em N sites, teremos N-1 transaes disparadas para cada transao de atualizao realizada

Combinando Modelos e Estratgias


Replicao Sncrona Mestre-Escravo
Aps a solicitao do cliente, realizada a atualizao na cpia primria. Quando a atualizao for realizada, mas antes da confirmao final (commit), a atualizao propagada para as rplicas secundrias. Cada rplica era necessariamente igual quela onde foi solicitada a atualizao - nessas rplicas esto sendo realizadas somente leituras Caso a cpia primria no esteja disponvel, no podero ser realizadas atualizaes, embora existam cpias da primeira em um ou mais sites.

Combinando Modelos e Estratgias


Replicao Sncrona Mestre-Escravo

Combinando Modelos e Estratgias


Replicao Sncrona em Grupo
O cliente faz uma requisio a uma cpia. Esta repassa a requisio para todas as outras. A requisio atendida em todos os sites em paralelo. Em seguida, o protocolo Two-Phase Commit (2PC) utilizado para confirmar o final de todas as atualizaes

Combinando Modelos e Estratgias


Replicao Sncrona em Grupo

Combinando Modelos e Estratgias


Replicao Sncrona em Grupo
Como todas as cpias so atualizveis, clientes podem estar realizando solicitaes de atualizao em todas elas - possibilidade de deadlocks Sendo N o nmero de ns na rede e T o tamanho de uma transao, a taxa de ocorrncia de deadlocks 5 3 cresce com N e T

Combinando Modelos e Estratgias


Replicao Assncrona Mestre-Escravo
O usurio recebe rapidamente a confirmao de sua atualizao Aps essa confirmao, as cpias secundrias que ficam, temporariamente, com dados distintos daqueles da cpia primria, tm seus dados atualizados

Combinando Modelos e Estratgias


Replicao Assncrona Mestre-Escravo

Combinando Modelos e Estratgias


Replicao Assncrona Mestre-Escravo
Falhas no n mestre impedem qualquer tipo de atualizao. J falhas em cpias secundrias so, usualmente, contornveis: quando um n escravo que se encontrava inacessvel se torna novamente disponvel, so realizadas neles todas as atualizaes realizadas no n mestre durante sua ausncia

Combinando Modelos e Estratgias


Replicao Assncrona em Grupo
Todas as cpias so atualizveis Alteraes somente so repassadas para outras cpias aps a confirmao de execuo para o cliente Clientes diferentes podem estar atualizando de maneiras diferentes a mesma tupla em cpias distintas de uma determinada relao necessidade de reconciliao

Combinando Modelos e Estratgias


Replicao Assncrona em Grupo

Discutir paper Lazy Update


Replicao Assncrona em Grupo
Todas as cpias so atualizveis

Publish-Subscribe Message Bus

O que Publish-Subscribe Message Bus?


Paradigma caracterizado pelo desacoplamento das partes e pela comunicao assncrona. Trs componentes participam do paradigma, com produtores e consumidores de informaes se comunicando com o intermdio de servios de notificao.
Os produtores das informaes as tornam disponveis publicando notificaes de forma assncrona Os consumidores especificam o interesse em receber certas classes de mensagens atravs de inscries, definindo sua poltica.

O que Publish-Subscribe Message Bus?


Os produtores das informaes as tornam disponveis publicando notificaes de forma assncrona Os consumidores especificam o interesse em receber certas classes de mensagens atravs de inscries, definindo sua poltica. O servio de notificao tem a funo de desassociar o consumidor do produtor.

O que Publish-Subscribe Message Bus?


Sistemas publish-subscribe podem ser classificados de acordo com o tipo de filtro utilizado sobre as notificaes.

Artigos

Experimento
Infra-Estrutura
LAN com quatro mquinas

Mtrica
Throughput (mdia do nmero de requisies por segundo) Tempo de Resposta do Servidor (tempo necessrio para resolver uma requisio)

Configurao do Experimento
Acesso aos dados
Web service

jdbc connection pool no lado do servidor

Descrio do Experimento
Solicitaes simultneas so simuladas por execuo de mltiplas threads em outros trs sites que agem como data seeds que geram dados periodicamente para o servidor. Ns variamos o nmero de solicitaes simultneas com 50, 100, 200, 300, 400, 500 e 600. Para cada nmero solicitaes simultneas, os programas de gerao de dados so configurados para executar em vrios intervalos de tempo, que so 1s, 5s, 10s, 30s e 60s.

Resultados

Resultados do Experimento

You might also like