Você está na página 1de 4

Sistemas Distribudos

Prof. Ricardo Mesquita

Fundamentos
Sistema Distribudo uma coleo de processadores que no compartilham memria nem relgio. Em vez disso, cada processador tem sua prpria memria local. Os processadores se comunicam entre si por meio de redes de comunicao. Do ponto de vista de um processador especfico em um sistema distribudo, os demais processadores e seus respectivos recursos so remotos, enquanto seus prprios recursos so locais. Vantagens a. Compartilhamento de recursos: se vrios sites (com diferentes competncias) estiverem conectados uns aos outros, um usurio em um site poder usar recursos disponveis em outro. b. Velocidade de computao: se determinada computao puder ser particionada em uma srie de subcomputaes que podem ser executadas concorrentemente, ento a disponibilidade de um sistema distribudo possibilitar a distribuio da computao entre os vrios sites, para executar os clculos de forma concorrente, obtendo assim maior velocidade de computao. c. Confiabilidade: se um site falhar em um sistema distribudo, os sites restantes podero continuar operando, garantindo o cumprimento das tarefas. d. Comunicao: vrios sites conectados por rede, permitindo comunicao. Sistemas Operacionais Distribudos Em um sistema operacional distribudo, os usurios acessam recursos remotos da mesma forma que fazem com recursos locais. A migrao de dados e processos de um site para outro esto sob o controle do sistema operacional distribudo. Migrao de dados Suponha que o site A queira acessar dados que residem no site B. Abordagens: Transferir o arquivo inteiro para o site A. A partir da, todo o acesso ao arquivo ser local. Quando o usurio no precisar mais acessar o arquivo, uma cpia do mesmo (se tiver sido modificado) ser enviada de volta ao site B. Transferir para o site A apenas as partes do arquivo que de fato so necessrias para uso imediato. Se outra parte for necessria mais tarde, outra transferncia ocorrer. Quando o usurio no desejar mais acessar o arquivo, toda parte dele que tenha sido modificada dever ser enviada de volta ao site B. Migrao de computao Em alguns casos, pode ser mais eficiente transferir a computao, em vez dos dados, pelo sistema. Pode ser feita por RPC / RMI. O processo P chama um procedimento predefinido no site A. O procedimento executa adequadamente e, em seguida, retorna os resultados para P. O processo P pode enviar uma mensagem para o site A. Da o S.O. em A cria um novo processo Q cuja funo executar a tarefa designada. Quando o processo Q conclui sua execuo, ele envia o resultado necessrio para P via sistema de mensagens.

Sistemas Distribudos

Prof. Ricardo Mesquita

Migrao de processos Trata-se de uma extenso lgica da migrao de computao. Quando um processo submetido para execuo, ele nem sempre executado no site em que foi iniciado. Pode ser vantajoso executar o processo inteiro, ou partes dele, em sites diferentes. Este esquema pode ser usado por vrios motivos: Balanceamento de carga: os processos (ou subprocessos) podem ser distribudos em toda a rede para equilibrar a carga de trabalho. Aumento na velocidade de computao: se um processo nico puder ser dividido em vrios subprocessos que possam ser executados concorrentemente em diferentes sites, o tempo total de retorno (tournaround time) do processo poder ser reduzido. Preferncia de hardware: o processo pode ter caractersticas que o tornem mais adequado para execuo em algum processador especializado (como inverso de matriz em um processador vetorial, em vez de em um microprocessador). Preferncia de software: o processo pode requerer software que esteja disponvel apenas em determinado site, e talvez o software no possa ser movido ou seja menos caro mover o processo. Acesso a dados: assim como na migrao da computao, se os dados sendo utilizados na computao forem numerosos, pode ser mais eficiente fazer com que um processo execute remotamente, em vez de transferir todos os dados localmente. Comunicao O projetista de uma rede de comunicao deve abordar cinco questes bsicas: Nomeao e resoluo de nomes: como dois processos localizam um ao outro para se comunicar? o Usa-se DNS (domain name service), no qual as informaes para resoluo de nomes ficam distribudas entre os ns da rede. Estratgias de roteamento: como as mensagens so enviadas pela rede? o Roteamento fixo: um caminho de A at B especificado com antecedncia e no muda a menos que uma falha de hardware desabilite esse caminho. Em geral, o caminho mais curto escolhido, de modo que os custos de comunicao sejam minimizados. o Roteamento virtual: um caminho de A at B fixado pela durao de uma sesso. Deferentes sesses envolvendo as mensagens de A para B podem ter caminhos diferentes. o Roteamento dinmico: o caminho usado para enviar uma mensagem de A para B escolhido apenas quando uma mensagem enviada. Mensagens separadas podem ser atribudas a caminhos diferentes. O roteamento dinmico mais complicado de configurar e manter, entretanto, a melhor forma de gerenciar o roteamento em ambientes complicados. H necessidade de um protocolo de roteamento entre os roteadores para inform-los sobre alteraes na rede e permitir que eles atualizem suas tabelas de roteamento automaticamente. Estratgias de pacotes: os pacotes so enviados individualmente ou como uma sequncia de mensagens? Para simplificar o projeto do sistema, implementada a comunicao com mensagens de tamanho fixo chamadas pacotes, quadros ou datagramas. Uma comunicao implementada em um pacote pode ser enviada para seu destino em uma mensagem sem conexo.

Sistemas Distribudos

Prof. Ricardo Mesquita

Estratgias de conexo: como os pares de processos se conectaro na rede? o Comutao de circuitos: se dois processos desejam se comunicar, um link fsico permanente estabelecido entre eles. Esse link alocado durante toda a sesso de comunicao, e nenhum outro processo pode usar esse link durante o perodo (mesmo se os dois processos no estiverem se comunicando ativamente durante algum tempo). o Comutao de mensagens: se dois processos desejam se comunicar, um link temporrio estabelecido pela durao da transferncia de uma mensagem. Os links fsicos so alocados dinamicamente entre os correspondentes conforme necessrio e so alocados apenas por curtos perodos. o Comutao de pacotes: uma mensagem lgica talvez tenha de ser dividida em vrios pacotes. Cada pacote pode ser enviado para seu destino separadamente e, portanto, deve incluir um endereo de origem e de destino com seus dados. Cada pacote pode utilizar um caminho diferente na rede. Os pacotes devem ser montados novamente em mensagens assim que chegam. Disputa: como resolver demandas conflitantes para uso na rede, considerando que ela um recurso compartilhado? o CSMA/CD (Carrier Sense with Multiple Access / Collision Detection): antes de transmitir uma mensagem em um link, um site deve ouvir para determinar se outra mensagem est sendo transmitida naquele link. Se o link estiver livre, o site pode iniciar a transmisso. Caso contrrio, dever esperar (e continuar a ouvir) at que o link esteja livre. Se dois ou mais sites comearem a transmitir exatamente ao mesmo tempo, ento eles registraro uma deteco de coliso e interrompero a transmisso. Cada site tentar novamente depois de um intervalo de tempo aleatrio. o Passagem de fichas: um tipo exclusivo de mensagem, chamado token (ficha) circula continuamente no sistema (disposto em anel lgico). Um site que deseja transmitir deve esperar que a ficha chegue, da ele remove a ficha do anel e comea a transmisso. Quando completa sua troca de mensagens, ele retransmite a ficha. Obs.: se a ficha se perder, os sistemas devero detectar a perda e gerar uma nova ficha (procedimento de eleio). o Slots de mensagens: uma srie de slots de mensagens de tamanho fixo circula continuamente no sistema (em anel). Cada slot pode armazenar uma mensagem de tamanho fixo e informaes de controle (tais como origem e destino, ou se o slot est cheio ou vazio). Um site que quer transmitir deve esperar at a chegada de um slot vazio. Em seguida, ele insere sua mensagem no slot, ajustando as informaes de controle apropriadas. O slot com a mensagem prossegue seu curso pela rede. Quando ele chega em um site, este inspeciona as informaes de controle para determinar se o slot contm uma mensagem para ele. Se no contiver, o site recircula o slot e a mensagem. Caso contrrio, ele remove a mensagem, ajustando as informaes de controle para indicar que o slot est vazio.

Sistemas Distribudos Robustez

Prof. Ricardo Mesquita

Deteco de Falhas Para detectar falhas de link, usa-se o procedimento de handshaking, no qual os sites entre os quais existe um link fsico direto enviam mensagens do tipo I am up, em intervalos fixos, um para o outro. Reconfigurao Suponha que A tenha detectado uma falha. Ele ento dever iniciar um procedimento que permitir as sistema reconfigurar e continuar seu modo de operao normal. Se um link direto de A para B falhou, todos os sites no sistema devero ser informados para que possam atualizar suas tabelas de roteamento Se o sistema concluir que um site falhou, ento todos os sites do sistema devero ser notificados para que no tentem mais usar os servios do site em falha. Recuperao aps falhas Quando um link ou site em falha recuperado, ele deve ser reintegrado ao sistema de forma suave e harmoniosa.