Trabalho Transações Distribuídas 2017
Por: Bruno Bomfim • 24/11/2018 • Resenha • 2.000 Palavras (8 Páginas) • 194 Visualizações
[pic 1]
Curso: Redes de Computadores
Disciplina Sistema Distribuído
Aluno: Bruno Bomfim Batista
Matricula: 613121039
Professor: Ernesto Massa
Atividade Complementar de Carga horária
Transação Distribuída-Resumo
As transações distribuídas podem ser planas ou aninhadas
Um protocolo de efetivação atômica é um procedimento cooperativo usado por um conjunto de servidores envolvidos em uma transação distribuída. Ele permite que os servidores cheguem a uma decisão conjunta quanto ao fato de uma transação pode ser efetivada ou cancelada.
A seção sobre o controle de concorrência em transações distribuídas discute como o bloqueio, a ordenação por indicação de tempo e o controle de concorrência otimista podem ser estendidos para uso com transações distribuídas. O uso de esquemas de bloqueio pode levar aos impasses distribuídos.
Os servidores que fornecem transações incluem um gerenciador de recuperação cuja função é garantir que os feitos das transações sobre os objetos gerenciados por um servidor possam ser recuperados, quando ele é substituído após uma falha. O gerenciador de recuperação salva os objetos no meio de armazenamento permanente, junto com listas de intenções e informações sobre o status de cada transação.
Transações distribuídas planas e aninhadas
Uma transação cliente se torna distribuídas se ativa operações em vários servidores diferentes. Existem duas maneiras distintas pelas quais as transações distribuídas podem ser estruturadas: como transações planas e como transações aninhadas
Em uma transação plana, um cliente faz pedidos para mais de um servidor. Uma transação cliente plana conclui cada um de seus pedidos antes de passar para o próximo. Portanto, cada transação acessa objetos dos servidores em sequencia. Quando os servidores usam bloqueio, uma transação só pode estar esperando um objeto por vez.
Em uma transação aninhada, a transação de nível superior pode abrir sub-transações, e cada sub-transação pode abrir mais subtransações em qualquer profundidade de aninhamento. No caso aninhado,as subtransações no mesmo nível podem ser executadas concomitantemente,de modo que T1 e T2 são concorrentes e,como invocam objetos em servidores diferentes,elas podem ser executadas em paralelo.
O coordenador de uma transação distribuída
Os servidores que executam pedidos como parte de uma transação distribuída precisam se comunicar uns com s outros para coordenar suas ações quando a transação é efetivada. Um cliente inicia uma transação enviando um pedido openTransaction para um coordenador em qualquer servidor.O coordenador contatado executa o pedido de openTransaction e retorna para o cliente o identificador de transação resultante.Os identificadores das transações distribuídas devem ser exclusivos dentro de um sistema distribuído.Uma maneira simples de obter isso é fazer com que um TID contenha duas partes:o identificador(por exemplo,um endereço IP)do servidor que o criou e um numero exclusivo para o servidor.
O coordenador que abriu a transação torna-se o coordenador da transação distribuída e,no final,é responsável por efetiva-la,ou cancela-la.Cada um dos servidores que gerencia um objeto acessado por uma transação é um participante da transação.Cada participante é responsável por rastrear todos os objetos recuperáveis envolvidos na transação nesse servidor.Os participantes responsáveis por cooperar com o coordenador na execução do protocolo de efetivação.
Durante o andamento da transação o coordenador registra uma lista de referencias nos participantes, e cada registra uma referência no coordenador.
O coordenador registra o novo participante em sua lista de participantes. O fato de o coordenador conhecer todos os participantes, e cada participante conhecer o coordenador, permitira que eles reúnam as informações que serão acessadas no momento da efetivação.
Protocolos de efetivação atômica
Os protocolos de efetivação (commit) de transação foram inventados no incio dos anos 70 e o protocolo de efetivação de duas fases apareceu em Gray [1978].A atomicidade das transações exige que,quando uma transação distribuída chegar ao fim,todas as operações sejam executadas ou que nenhuma delas sejam executadas.No caso de uma transação distribuída,o cliente solicita as operações em mais de um servidor.Uma transação chega ao fim quando co cliente solicita que ela seja efetuada ou cancelada.Uma maneira simples de concluir a transação de maneira atômica é fazer com que o coordenador comunique o pedido de efetivação,ou cancelamento,para todos os participantes da transação e fique repetindo o pedido ate que todos tenham reconhecido que foram levados adiante.Esse é um exemplo de protocolo de efetivação atômica de uma fase.
Esse protocolo de efetivação atômica de uma fase é inadequado, pois,quando o cliente solicita uma efetivação,ele não permite que um servidor tome a decisão unilateral de cancelar uma transação. Os motivos impedem um servidor de efetivar sua parte de uma transação geralmente estão relacionados a problemas de controle de concorrência. Por exemplo, se estiver sendo usado bloqueio, a solução de um impasse poderá levar ao cancelamento de uma transação sem que o cliente saiba, a não ser que faça outro pedido para o servidor. Se estiver em uso o controle de concorrência otimista, a falha da validação em um servidor o faria decidir cancelar a transação. O coordenador pode não saber quando um servidor falhou e foi substituído durante o andamento de uma transação distribuída (o servidor precisara cancela a transação).
O protocolo de efetivação de duas fases é projetado de forma a permitir que qualquer participante cancele sua parte de uma transação. Devido ao requisito da atomicidade, se uma parte de uma transação for cancelada, a transação inteira também devera ser cancelada. Na primeira fase do protocolo, cada participante vota na transação. Quando um participante tiver votado na efetivação de uma transação, ele não poderá cancelar.
Protocolo de efetivação de duas fases
Durante o andamento de uma transação, não há nenhuma comunicação entre coordenador e os participantes, a não ser os participantes informando o coordenador quando entram na transação.
...