SISTEMAS DISTRIBUÍDOS BASEADOS EM COORDENAÇÃO
Por: Raquel Mendes • 8/12/2016 • Trabalho acadêmico • 1.325 Palavras (6 Páginas) • 1.405 Visualizações
SISTEMAS DISTRIBUÍDOS BASEADOS EM COORDENAÇÃO
MONTES CLAROS/MG
2016
SISTEMAS DISTRIBUÍDOS BASEADOS EM COORDENAÇÃO
MONTES CLAROS/MG
2016
INTRODUÇÃO
Sistemas distribuídos baseados em coordenação assumem que vários componentes de um sistema são herdados de maneira distribuída e que os principais problemas em tais sistemas decorrem em se coordenar as atividades dos diferentes componentes. Em outras palavras, ao invés de se concentrar em uma distribuição transparente dos componentes, a ênfase está em coordenar as atividades entre estes componentes. A abordagem chave seguida em sistemas distribuídos baseados em coordenação é a clara separação entre computação e coordenação. Se um sistema distribuído for visto como uma coleção de processos, então a parte relativa à computação é formada pelos processos, cada um com uma atividade específica, que em princípio é executada de forma independente das atividades de outros processos.
Em sistemas distribuídos baseados em coordenação a parte relativa à coordenação de um sistema distribuído trata da comunicação e cooperação entre processos. Neste modelo, o foco é em como essa coordenação entre os processos ocorre.
Uma terminologia de como é feita a coordenação diz respeito ao tempo e ao espaço (como um referencial) em um sentido, e ao desacoplamento ou acoplamento em outro, resultando em quatro formas distintas. Se processos necessitam saber um nome ou identificador de outros processos (precisam “saber” quem são os outros processos) para poderem se comunicar dizemos que são acoplados espacialmente. Se processos que estão se comunicando precisam estar ativos e executando ao mesmo tempo dizemos que são acoplados de forma temporal. Quando processos estão acoplados em espaço e em tempo dizemos que a coordenação ocorre de maneira direta. Quando existe desacoplamento tanto de tempo quanto de espaço os processos se comportam de forma oposta. Em outras palavras, quando um processo deseja coordenar suas atividades com outros processos, e eles não se conhecem explicitamente, existe o conceito de processos temporariamente se agruparem para coordenarem suas atividades.
MODELOS DE COORDENAÇÃO
ACOPLAMENTO
Referencial:
Comunicação explícita entre os processos.
Por exemplo, um processo só pode se comunicar se souber os nomes ou identificadores dos outros processos com os quais quer trocar informações.
Temporal:
Significa que ambos os processos em comunicação tem de estar ligados e em funcionamento.
[pic 1]
Coordenação direta:
Quando o acoplamento de processos é temporal e referencial.
Caixa postal:
Quando os processos são desacoplados temporalmente. Nesse caso, não é necessário que os dois processos comunicantes estejam executando ao mesmo tempo para que a comunicação ocorra.
Em vez disso, a comunicação é efetuada por meio da colocação de mensagens em uma caixa postal.
Como o acoplamento deste tipo de comunicação é referencial, é necessário endereçar explicitamente a caixa postal que conterá as mensagens que deverão ser trocadas.
Coordenação orientada a Reunião:
Combinação de sistemas de desacoplamento referencial e sistemas de acoplamento temporal.
Em sistemas de desacoplamento referencial, os processos não conhecem uns aos outros explicitamente. Em outras palavras, quando um processo quer coordenar suas atividades com outros processos, ele não pode referenciar explicitamente outro processo. Em vez disso, há o conceito de uma reunião na qual os processos se agrupam temporariamente para coordenar suas atividades.
O modelo prescreve que os processos que se reúnem sejam executados simultaneamente.
Sistemas baseados em reunião costumam ser implementados por meio de eventos, como os suportados por sistemas distribuídos baseados em objetos. Uma abordagem utiliza um mecanismo denominado sistemas publicar/subscrever.
Nesses sistemas, os processos podem subscrever mensagens, isto é, concordar em receber mensagens que contém informações sobre os objetos específicos. Enquanto outros processos produzem, isto é, publicam tais mensagens.
A maioria dos sistemas publicar/subscrever exige que os processos comunicantes estejam ativos ao mesmo tempo (temporal).
Comunicação Geradora:
Modelo de coordenação mais conhecido que combina processos desacoplados tanto referencial quanto temporalmente.
A idéia fundamental é que um conjunto de processos independentes utilize um espaço independente e persistente de dados de tuplas. Tuplas são dados rotulados que consistem em uma quantidade de campos tipados.
Os processos podem colocar qualquer tipo de registro no espaço de dados compartilhado, isto é, eles geram registros de comunicação. O interessante é que os espaços de dados compartilhados implementam um mecanismo de busca para as tuplas. Assim, quando um processo quer extrair um tupla do espaço de dados, ele especifica os valores dos campos em que está interessado. Então, qualquer tupla que combinar com essa especificação é removida do espaço de dados e passada para o processo.
ARQUITETURA
Um aspecto importante de sistemas baseados em coordenação é que a comunicação ocorre pela descrição das características de itens de dados que devem ser trocados.
Abordagem Global
Vamos considerar que itens de dados são descritos por uma série de atributos. Um tipo de dados é publicado quando é oferecido para outros processos para leitura. Para isso, é preciso passar para o middleware uma subscrição que contenha uma descrição dos itens de dados nos quais o subscritor está interessado.
O próximo desafio é associar subscrições com itens de dados. Quando a associação for bem sucedida há dois cenários possíveis.
...