Vous êtes sur la page 1sur 7

Tcnicas de Tolerncia a Falhas em Sistemas Distribudos

A distribuio de partes de um sistema por diferentes meios de


armazenamento induz a um problema de sistemas distribudos que
a inconsistncia e a falta de integridade dos dados (WEBER, 2000a,
Item 7). Para resolver este problema so utilizadas vrias tcnicas
que garantem a integridade de todas as partes, ou seja, que eles
permaneam no mesmo estado no momento em que houver uma
falha e assim uma outra parte possa prosseguir com o processamento
a partir do ponto em que a falha foi ocorrida.

1.3.1 - Tcnica de Recuperao

Para que um sistema no sofra pane total, ao ser detectada uma


falha, o sistema deve ser automaticamente reconfigurado, feito a
realocao

para

um

caminho

alternativo

que

mantenha

comunicao do processo que estava sendo executado. Mas, para que


o sistema no tenha uma perda de performance com o processo de
recuperao e que ao mesmo tempo seja o mais transparente
possvel para o usurio, a tcnica de recuperao por avano
bastante utilizada e exige permanentemente um estado consistente
entre as partes de um sistema. Os mecanismos utilizados na tcnica
de recuperao so :
- Logging: O logging o mecanismo pelo qual as requisies feitas
pelos usurios a uma parte do sistema que est distribudo em algum
meio fsico so gravadas em um
arquivo log, para que no caso de uma falha, uma outra parte do
sistema que assumir o lugar do anterior possa obter o estado corrente
e da continuar o processo normalmente.

- Checkpoint: O checkpoint um determinado ponto no qual o estado


atual de uma parte do sistema que est no arquivo log verificado e
copiado no arquivo de log das demais partes. Isto faz com que todas
as partes distribudas do sistema estejam sempre atualizadas,

mantendo-se assim consistentes.


O checkpoint realizado a cada tempo t, que pode ser definido pelo
usurio ou fixado na implementao do sistema. Durante este
intervalo de tempo t, vrias requisies de usurios so realizadas e
gravadas no arquivo delog. E podemos citar como exemplo da
utilizao dessa tcnica de recuperao uma transao bancria
onde um cliente solicita a transferncia de um determinado valor de
uma conta A para uma conta B. Nesta transao ocorrem duas
operaes: uma de dbito da conta A, e uma de crdito na conta B.
Digamos que no intervalo de tempo entre uma transao e outra
ocorra uma falha e s tenha sido realizado o dbito da conta A, com
isso, levando a uma inconsistncia de dados, pois o valor debitado da
conta A estaria perdido. Mas, com o uso do checkpoint e logging isto
seresolveda seguinte maneira: Digamos que temos partes do sistema
que realiza esta operao de transferncia em vrios meios fsicos
confiveis, como por exemplo: em dois servidores de aplicao, um
ativo e um outro como backup. Quando o cliente solicita a operao

de transferncia, o servidor ativo assume a operao e o mecanismo


de logging grava a solicitao em um servidor de log. Se o intervalo
de checkpoint for insuficiente, esta solicitao ser repassada para
um arquivo de log no servidor backup. No momento em que ocorre
uma falha, o cliente logo redirecionado para o servidor backup e o
mecanismo de recuperao (recovery) consulta o log para verificar
qual foi altima operao realizada, e a partir deste ponto continuar a
operao, sem causar transtornos para o cliente.

1.3.2 - Tcnicas de Replicao


A tcnica de replicao consiste em facilitar a criao de rplicas ou
cpias de um
mesmo objeto em meios fsicos diferentes, assegurando que, no caso
de uma falha em um dos dispositivos, o cliente seja redirecionado de
forma transparente para outro que tenha uma rplica do objeto ativo.
Existem dois tipos de tcnicas de replicao, sendo elas:
- Replicao passiva: Que neste tipo de replicao, h apenas um
objeto que recebe as
requisies dos clientes, este objeto chamado primrio. Os outros
objetos so chamados secundrios ou backups, e constantemente so
informados pelo primrio sobre o estado atual do mesmo. Para isto,
esta replicao utiliza os mecanismos de checkpoint e logging.

Percebe-se que somente


o objeto primrio recebe as solicitaes, e atravs do mecanismo de
checkpoint assolicitaes so salvas nos arquivos de log dos objetos
backups ou nos secundrios. No caso de uma falha do objeto
primrio, um dos dois objetos secundrios assume o lugar do
primrio, assim, continuando o processamento.
- Replicao ativa: Neste tipo de replicao no so utilizadas as
tcnicas de
recuperao, pois todas as rplicas so primrias, ou seja, todas elas
recebem a requisio do cliente , processam e retornam os resultados
de forma simultnea. Neste caso, a replicao deve seguir s
propriedades

de

atomicidade

(todas

as

rplicas

recebem

as

requisies num mesmo instante) e de ordenao (todas as rplicas


recebem as requisies na mesma ordem). podemos perceber melhor
o funcionamento da replicao ativa.

Podemos

perceber

que

este

tipo

de

replicao

pode

gerar

inconsistncia dos dados no momento em que todas as rplicas


enviam os resultados dos seus processamentos para o cliente, pois
pode ocorrer de uma resposta chegar antes da outra, causando assim
mltiplos resultados para o cliente. comum utilizar como soluo
para este problema, uma variao deste mtodo chamada replicao
ativa com votao, no qual ocorre uma votao e somente uma das
respostas retorna para o cliente. Podemos perceber tambm que
neste tipo de replicao h uma melhora de performance no
funcionamento dos sistema, pois no teramos mecanismos de
recuperao que causaria um certo atraso no processamento,
principalmente quando se trata de sistemas de tempo real como
sistema clnicos, onde uma demora de milissegundos pode ser fatal.
Mas, como podemos perceber, este tipo de replicao apesar de ser
mais confivel, causa um trfego de informaes razovel na rede,
pois haveria uma difuso da requisies para todas as mquinas da
rede (broadcast) e as mesmas repassando as respostas ao mesmo
tempo. Para resolver, foi criada a tcnica de gerenciamento de grupos
para que esse problema seja solucionado.
1.3.3 - Tcnica de gerenciamento de grupos
Uma das dificuldades encontradas nas tcnicas de replicao o
trfego na rede. Mas quando precisamos tornar transparente para o
cliente a localizao das rplicas no caso de uma falha,surge outro
problema, pois teramos que criar uma referncia para cada rplica

criada. foi criada uma definio de grupos de objetos, para que possa
solucionar esses problemas, onde os objetos so integrados em subgrupos diferentes, contendo cada grupo uma referncia nica. Com
isto resolveramos tanto o problema da localizao das rplicas pelos
clientes, como tambm o trfego excessivo na rede, pois nesta
tcnica

estaria

implementado

primitiva

de

comunicao

multicast, em que apenas um determinado grupo de objetos


receberiam as requisies, ao contrrio da primitiva de comunicao
broadcast, onde todas os objetos replicados recebem requisies.
Tambm chamada de GroupMembership ou associao de grupos,
esta tcnica visa tambm facilitar a manipulao de rplicas, em que
podemos cadastrar e excluir rplicas de um grupo, alm de aumentar
a confiabilidade no tratamento de tolerncia a falhas, principalmente
quando

temos

redes

particionadas,

ou

seja,

sub-redes

interconectadas por um roteador, gateway, etc.

Cada conjunto de rplicas associadas na figura acimaformam um


grupo. Estes grupos podem ser comparados a domnios de tolerncia
a falhas, ou seja, uma grande rede particionada por sub-redes e
interconectadas por hubs, switches ou roteadores.
Cada grupo possui uma referncia nica, ou seja, quando um cliente
solicitar uma operao a um dos objetos, a aplicao no ir mais
procurar por referncias individuais de cada objeto, mas pela
referncia do grupo como um todo.

1.4 - Validao de Tcnicas de Tolerncia a Falhas


Se tratando de sistemas muito complexos e altamente crticos, h
uma necessidade de se testar as tcnicas de tolerncia a falhas,
tentando simular situaes de falhas mais prximas possveis da
realidade em que sero submetidas. A esses testes damos o nome de
injeo de falhas.
Existem trs categorias de injeo de falhas,sendo elas:
- Injeo de falhas por hardware: Neste tipo de injeo o hardware
forado a erros atravs de mudanas de valores lgicos no prprio
circuito. Exemplo: um determinado pino de um CI (circuito integrado)
deve receber o nvel lgico 1, e para forarmos a uma falha,
injetamos um nvel lgico 0.
- Injeo de falhas por software: Neste tipo de injeo so utilizados
softwares que tentam corromper o cdigo do sistema, modificar
caractersticas de comunicao, etc.
- Injeo de falhas por simulao: Neste tipo de injeo, h uma
simulao de possveis falhas que possam ocorrer no sistema ainda
mesmo em tempo de projeto.
Pela descrio dos tipos de injeo de falhas mais utilizados, podemos
perceber que a injeo de falhas por software a mais adequada,
pois possui custos mais baixos que a injeo por hardware e o que
mais se aproxima das condies de falhas diversas que o sistema em
teste ir tratar.

Vous aimerez peut-être aussi