Escolar Documentos
Profissional Documentos
Cultura Documentos
CaractersticasPrincipais O3PCassimchamadoporpossuir3estgios,quevisamgarantiraatomicidadedatransaosendorealizada.Esteprotocolobaseado emquorum,ouseja,precisoquehajaumnmeromnimoderplicasdisponveis(nofalhas)equeelasconcordemnummesmo resultado,paraqueatransaopossaserefetivada.Suacaractersticanobloqueantevlidaemcasodeumafalhaseafalhasedifundir eoquorumforperdido,osparticipantesficambloqueados. Funcionamento Basicamente,existeumcoordenadorqueoresponsvelporiniciaroprotocoloecoordenartodooprocessodecommit.Eleenvia mensagensparatodososparticipantesdatransao,comunicandoqueumatransaoestsendoiniciadaeficaemumestadodeespera. Cadaparticipanterecebeamensageminicialerespondeseestaptoounoarealizaratransao.Ocoordenadorcoletatodasas respostasedcontinuidadeaoprocesso,analisandoasrepostasrecebidasechegandoaumveredito(realizaouabortaatransao).Se qualquerumdosvotosfornegativo,adecisoseraborto.Casocontrrio,ocoordenadorfazumcommitecomunicaadecisoatodosos participantes. Ossitesenvolvidosnatransaopodemestarnosseguintesestados: q:estadoinicial w:espera.Ocoordenadoraguardaosvotosdosparticipantes.Osparticipantesaguardamadecisodocoordenador. pa:preaborto.Houvealgumafalhaenosepdechegardecisodecommit.Esteestadosaparecesehouveralgumafalha. a:aborto.Umadecisodeabortofoitomada. pc:precommit.Osparticipantesvotaramsimeesperamumaconfirmaodocoordenador.Estadonecessrioparaquesepossahaver recuperaonocasodefalhas. c:commit.Umadecisodecommitfoitomada.
FIGURA1:3PCbaseadoemquorum
Nocasodeocorrerfalhasporexemplo,ocorreumapartionaredeouumobjetofalhaouarecuperaodealgumafalhaumobjetoou partioderederessurgem,umprocedimentoderecuperaoinvocado.Este,consistede2fases:primeiramente,umnovocoordenador eleitoento,tentaseformarumnovoquorumpararesolveratransao.Oprocedimentoderecuperaodescritonafigura2. Problemas Osparticipantesdatransaopodemficarbloqueadosquandoacontecemfalhasnosistemaeoprocedimentoderecuperaodeparase comaseguintesituao:umobjetoencontrasenoestadopreabortoeoutro,noestadoprecommit.Mesmoquehouverumquorum,os participantesficarobloqueados,deacordocomasregrasdedecisodoprocedimento. Oprotocolo3PC,emsuaversooriginal,noerabaseadoemquorum.Todososparticipantesdeviamvotarsim.Sealgumdelesvotasse no,atransaoeraabortada.Istochamadodeabortounilateral,vistoquesemprequeumdosparticipantesaborta,todosabortam. Naversobaseadaemquorum,havia,ainda,oproblemadeoportunidadesperdidas.Tomemoscomoexemplo,5objetosparticipandode umatransao.Umquorumsimplesformadopor3elementos.Supondoseque4destesobjetosestejamfuncionandoperfeitamente, quandoocoordenadorreceberos3primeirosvotos,dcontinuidadeaoprotocolo.Assim,seumdestes3falharem,atransaoser abortada,mesmoquehajaoquartoobjetoso,masquenofoilevadoemconsiderao. Comointuitoderesolveralgunsdestesproblemas,novosprotocolosforampropostos,comooE3PC,quevisaresolveroproblemade
bloqueiodo3PC,eoRMC,queotimizaoproblemadeabortounilateraleoportunidadesperdidas.
OEnhancedThreePhaseCommitumprotocolobaseadono3PC.Seuobjetivoprincipalpermitirqueumquorumnosistemasemprefaa progresso.Tantoseusestadoscomoseufuncionamentobsicosimilarao3PC.Anicadiferenaestnoprocedimentoderecuperao, quemantmdoiscontadoresadicionais.Estescontadoresvisamresolveroproblemadebloqueiodoprotocolo3PC,permitindo,assim, maiorresistnciaafalhas. Oproblemadebloqueiodoprotocolo3PCpoderiaserresolvidosehouvessealgumainformaosobreaordemdoseventos,ouseja,qual dosdoisestados(preaborteprecommit)foiestabelecidoporltimo.Esteestadoseria,ento,omaisseguro. EstainformaosobreaseqnciadoseventosjustamenteafunodosdoiscontadoresadicionaismantidosnoprotocoloE3PC. Atravsdestescontadores,possveldecidirqualoestadomaisseguronasituaodescrita,evitandoobloqueiodosparticipantesda transao. OscontadoressonomeadosLast_ElectedeLast_Attempt.Oprimeiroindicaonmerodaltimaeleiodaqualoobjetoparticipoue atualizadasemprequeumnovocoordenadoreleito.Last_Attemptonmerodaltimatentativadecommitouabortoqueoobjeto participou.Seocoordenadorchegaraumadeciso,elemudaseuvalordeLast_AttemptparaLast_Elected.Osparticipantessfazemo mesmo,ouseja,alteramLast_AttemptparaLast_Elected,seelespassaremparaoestadoprecommitoupreaborto. OcontadorLast_Attemptgaranteumaordemlinearnasdecisesdeprecommitoupreaborto.Entopossvelsaberaordemcronolgica dosacontecimentos.OLast_ElectedgarantequeduastentativascontraditriasnoserofeitascomomesmovalordeLast_Attempt.Isto querdizerquesejfoitomadaumadecisocomumvalordeLast_Attempt,outradecisonopodersertomadacomomesmovalorde Last_Attempt.Oprocedimentoderecuperaomostradonafigura3.
Eleiodeumnovocoordenador.Aeleionobloqueante,reinicializadaemcasodefalhas.No decorrerdaeleio,ocoordenadorcoletaosvaloresdeLast_Electeddetodososparticipantese determinaoMax_Elected.OcoordenadormudaovalordeLast_ElectedparaMax_Elected+1enotifica todososparticipantesdesuaeleioeovalordeMax_Elected AorecebimentodoMax_Elected,osparticipantesmudamLast_ElectedparaMax_Elected+1eenviam seuestadolocaleovalordeLast_Attemptparaocoordenador Ocoordenadortentaalcanarumadeciso.Adecisotomadausandoosestadoscoletados.Sea decisonoforbloquear,ocoordenadormudaovalordeLast_AttemptparaLast_Electedefazum multicastdadeciso Aorecebimentodeumprecommitoupreaborto,cadaparticipantemudaseuLast_Attemptpara Last_ElectedeenviaumACKparaocoordenador RecebendoACKsparaprecommitdeumquorumdecommitouACKsparapreabortodeumquorumde aborto,ocoordenadorfazummulticastdadecisocorrespondente(commitouaborto) Recebendoumamensagemdecommitouaborto,osparticipantesprocessamatransaodeacordo
FIGURA3:ProcedimentoderecuperaonoE3PC
CaractersticasPrincipais ORMCbaseadonaversodistribudado3PC(D3PC).Nestaverso,ocoordenadortemafunodedarincioaoprocesso.Daem diante,noexistemaisocoordenador.Todososparticipantesagemdemaneiraigual,mandandomensagensparatodososoutros participantes,tentandochegaraumacordo.Destamaneira,noexisteoproblemadefalhadocoordenador,poisoprocessono centralizado.Sealgumdosparticipantesfalhar,atransaopodecontinuar,desdequehajaumquorum.Adecisodecommitpodeser alcanadasehouverumamaioriadevotosafavor(aocontrriodoD3PC)enosuspeitamunsdosoutros.Outracaractersticainteressante desteprotocoloqueeleintegraogerenciamentodeversoutilizadonasestratgiasdereplicao.Damesmamaneira,integratransaes aninhadasdentrodoprotocolodecommit. Funcionamento Oprotocolotemcomobaseumsistemaassncrono,somadoadetectoresdefalhasnoconfiveis.Almdisso,assumeseuma
FIGURA4:RMC
Oprotocolo3PC,apesardebastantedifundido,possuialgunsproblemas.Dependendodesuaaplicao,estesproblemaspodemser relevantesedevemserresolvidosdealgumamaneira.Osprincipaisdelessooabortounilateral,asoportunidadesperdidaseasituaode bloqueiodoprotocolo.Algunsprotocolosbaseadosno3PCresolvemseusproblemasdemaneirasimples,semmuitasalteraes.Esteo casodoE3PCedoRMC.OE3PCresolveosproblemasdeabortounilateralebloqueio,permitindoqueumquorumnosistemasemprefaa progresso.JoRMCresolveosproblemasdeabortounilateraleoportunidadesperdidasebaseadonaversodistribudado3PC. Aomeuver,mesmoresolvendoosproblemasdoprotocolo3PC,osprotocolosdescritostmalgumasdesvantagens.OE3PCbaseadona versocentralizada.Conseqentemente,semprequeocoordenadorfalharouhouverumapartioderede,haverumatrasoporcausada eleiodeumnovocoordenador.ORMC,porserdistribudo,requerbastantecomunicaoentreosparticipantesdatransao,podendo causarumcongestionamentonomeiodecomunicao.Porm,estascaractersticaspodemnosertograves,considerandoseograude tolernciaafalhasprovido.
[GUE96]GUERRAOUI,RachidOLIVEIRA,RuySCHIPER,Andr.AtomicUpdatesofReplicatedData.CommunicationsofACM,Vol.39, N.4,April1996,p.8487.