O documento discute a sincronização em sistemas distribuídos, explicando que vários processadores independentes precisam trabalhar de forma coordenada para que o sistema seja visto como único. Aborda algoritmos para sincronizar relógios e ordenar processos para acessar recursos compartilhados, destacando os algoritmos centralizado e de eleição como o do anel e bully.
O documento discute a sincronização em sistemas distribuídos, explicando que vários processadores independentes precisam trabalhar de forma coordenada para que o sistema seja visto como único. Aborda algoritmos para sincronizar relógios e ordenar processos para acessar recursos compartilhados, destacando os algoritmos centralizado e de eleição como o do anel e bully.
O documento discute a sincronização em sistemas distribuídos, explicando que vários processadores independentes precisam trabalhar de forma coordenada para que o sistema seja visto como único. Aborda algoritmos para sincronizar relógios e ordenar processos para acessar recursos compartilhados, destacando os algoritmos centralizado e de eleição como o do anel e bully.
A coordenao dos processos para o uso dos recursos em sistemas
distribudos difere consideravelmente de sistemas de uma nica CPU. Em sistemas distribudos, vrias unidades de processamento independentes devem trabalhar de forma sincronizada, de forma que os processos identifiquem o sistema como nico. Isso no implica em dizer que os processos se reportaro a uma entidade centralizada, embora haja arquiteturas de sistemas distribudos que se utilizam desta estrutura, conforme veremos adiante. Para sincronizao de diversos computadores numa rede distribuda, deve-se levar em conta questes como a sincronizao das unidades de processamento para estabelecimento da ordenao dos processos e hierarquia destes para acesso aos recursos. Para soluo destas questes, muitos algoritmos foram elaborados sob diferentes paradigmas, propondo solues que enfatizam determinados aspectos, denegrindo outros, mas sempre compondo valiosas ferramentas para implementao de sistemas distribudos em contextos diversos. A sincronizao dos relgios das unidades de processamento pode ser feita de forma fsica, tornando o sistema distribudo como um nico computador. H implementaes que prescindem desta arquitetura, mas so as menos usuais. Normalmente, para o compartilhamento de recursos numa rede distribuda, emprega-se a ideia do tempo relativizado ao ordenamento dos processos. Assim, no importa se o clock de determinada CPU est atrasado ou adiantado em relao a outra, contudo, se um determinado processo concorrente de outro para acesso a um recurso, imprescindvel o ordenamento para perfeito funcionamento do sistema. neste tpico que se torna necessrio o estabelecimento de hierarquia entre os processos e para isto foram propostos diversos algoritmos, tais como o algoritmo centralizado e os de eleio, entre eles se destacando o do anel e o de bully, cada qual com suas particularidades. No algoritmo centralizado h maior simplicidade e eficincia. No entanto, a dependncia de toda a rede distribuda a um n o torna intolerante a falhas. Se o n central for comprometido, todo o sistema tambm o ser. Assim, surge a idia de atribuir a cada processo um identificador nico que permita a hierarquizao,
descentralizando a coordenao e submetendo-a ao momento de acesso a um
determinado recurso, ou seja, toda vez que um processo for executado, antes ser definida a ordem deste para com os outros espera do recurso de processamento. Perde-se eficincia e ganha-se eficcia na maleabilidade para superar falhas como inanio, livelock e deadlock. As falhas supracitadas so os principais problemas de sistemas processados, seja qual for a quantidade de unidades de processamento e sua arquitetura. Em sistemas onde h um nico processador, semforos resolvem o problema com cdigos binrios que regulam o acesso a determinado recurso, informando se o mesmo est ocupado ou disponvel. J nestes sistemas centralizados, as falhas supracitadas devem ser tratadas de forma preventiva, repressiva detecta e corrige, alocando recursos cuidadosamente (espera circular) ou ignorando o problema (algoritmo do avestruz). Em sistemas distribudos, contudo, as ocorrncias comprometedoras da preempo so muito mais recorrentes: razo pela qual os algoritmos de eleio se destacam, tornando o sistema tolerante a falhas. Aliado s tcnicas supracitadas, o conceito de atomicidade transacional, onde uma tarefa executada completamente em caso de sucesso e abortada completamente em caso de erro, incrementa a garantia de integridade do sistema.