T - Instituto de Informática - UFG

inf.ufg.br

T - Instituto de Informática - UFG

UNIVERSIDADE FEDERAL DE GOIÁSINSTITUTO DE INFORMÁTICASistemas DistribuídosMestrado em Ciência da Computação1o. Semestre / 2006Prof. Fábio M. Costafmc@inf.ufg.brwww.inf.ufg.br/~fmc/DS-MSc2006Aula 24: Transações Distribuídas


Transações DistribuídasInstituto de Informática - UFG


O Modelo de Transações (1)Atualização de um registro mestre com tolerância a falhas.Instituto de Informática - UFG


O Modelo de Transações (1)PrimitiveBEGIN_TRANSACTIONEND_TRANSACTIONABORT_TRANSACTIONREADWRITEDescriptionMake the start of a transactionTerminate the transaction and try to commitKill the transaction and restore the old valuesRead data from a file, a table, or otherwiseWrite data to a file, a table, or otherwiseExemplos de primitivas para transações.Instituto de Informática - UFG


O Modelo de Transações (2)BEGIN_TRANSACTIONreserve WP -> JFK;reserve JFK -> Nairobi;reserve Nairobi -> Malindi;END_TRANSACTION(a)BEGIN_TRANSACTIONreserve WP -> JFK;reserve JFK -> Nairobi;reserve Nairobi -> Malindi full =>ABORT_TRANSACTION(b)a) Transação para reservar três vôos concluída com sucesso,i.e., commitb) Transação é abortada quando a reserva do terceiro vôo falhaInstituto de Informática - UFG


Dois tipos de transações distribuídas(a) Flat transaction(b) Nested transactionsXMTTClientYClientTT 11XT 1T 12T21T 2YNZPT22Instituto de Informática - UFG


Transações DistribuídasInstituto de Informática - UFGa) Uma transação aninhadab) Uma transação distribuída


Exemplo de transação aninhadaXClientT 1Aa.withdraw(10)TT = openTransactionYopenSubTransactiona.withdraw(10);openSubTransactionb.withdraw(20);openSubTransactionc.deposit(10);openSubTransactiond.deposit(20);closeTransactionT 2T 3T 4ZBCDb.withdraw(20)c . deposit(10)d.deposit(20)Instituto de Informática - UFG


O coordenador de transações distribuídasopenTransactioncloseTransaction.joinjoinparticipantAa.withdraw(4);BranchXTparticipantClientb.withdraw(T, 3);Bb.withdraw(3);T = openTransactiona.withdraw(4);c.deposit(4);b.withdraw(3);d.deposit(3);closeTransactionNote: the coordinator is in one of the servers, e.g. BranchXjoinBranchYparticipantCDBranchZc.deposit(4);d.deposit(3);Instituto de Informática - UFG


Protocolo Two-Phase-CommitCoordinatorParticipantstep1statusprepared to commit(waiting for votes)canCommit?Yesstep2statusprepared to commit3committeddoCommit(uncertain)haveCommitted4committeddoneInstituto de Informática - UFG


Espaço de Trabalho Privativo de umaTransaçãoa) O índice de arquivos e blocos de disco para um arquivo de trêsblocosb) Situação após uma transação ter modificado o bloco 0 e concatenadoo bloco 3c) Após o commit da transaçãoInstituto de Informática - UFG


Rollback: Writeahead Logx = 0;y = 0;BEGIN_TRANSACTION;x = x + 1;y = y + 2x = y * y;END_TRANSACTION;(a)Log[x = 0 / 1](b)Log[x = 0 / 1][y = 0/2](c)Log[x = 0 / 1][y = 0/2][x = 1/4](d)a) Uma transaçãob) – d) O log antes/depois de cada sentença ser executadaInstituto de Informática - UFG


Controle de Concorrência (1)Organização geral de gerentes para tratar transações.Instituto de Informática - UFG


Controle de Concorrência (2)Organização geral dosgerentes para tratartransações distribuídas.Instituto de Informática - UFG


SerializabilidadeBEGIN_TRANSACTIONx = 0;x = x + 1;END_TRANSACTION(a)BEGIN_TRANSACTIONx = 0;x = x + 2;END_TRANSACTION(b)BEGIN_TRANSACTIONx = 0;x = x + 3;END_TRANSACTION(c)Schedule 1Schedule 2Schedule 3x = 0; x = x + 1; x = 0; x = x + 2; x = 0; x = x + 3x = 0; x = 0; x = x + 1; x = x + 2; x = 0; x = x + 3;x = 0; x = 0; x = x + 1; x = 0; x = x + 2; x = x + 3;LegalLegalIllegal(d)Instituto de Informática - UFGa) – c) Três transações: T 1, T 2, e T 3d) Possíveis escalonamentos


Two-Phase Locking (1)Aquisição e liberação de locks no algoritmo de two-phaselocking.Instituto de Informática - UFG


Two-Phase Locking (2)Two-phase locking estrito – todos os locks são liberados aomesmo tempo.Instituto de Informática - UFG


Ordenação com Marcas de TempoPessimistaControle de concorrência usando marcas de tempo.Instituto de Informática - UFG

More magazines by this user
Similar magazines