Guia de Clusters Beowulf, Relógios de Lamport e MPI
Classificado em Computação
Escrito em em
português com um tamanho de 3,66 KB
Arquitetura e Funcionamento de um Cluster Beowulf
No cluster Beowulf, cada cluster consiste em um conjunto de nós escravos controlados e acessados por um único nó mestre. As tarefas típicas do mestre são manipular a alocação de nós a um determinado programa paralelo, manter uma fila de jobs e proporcionar uma interface para os usuários do sistema. O mestre executa o middleware (formado por bibliotecas) necessário para a execução de programas e o gerenciamento do cluster, enquanto para os nós escravos, basta um sistema operacional padrão.
Relógios Lógicos de Lamport
Para sincronizar relógios lógicos, Lamport definiu uma relação denominada “acontece antes”. A expressão a → b é lida como 'a acontece antes de b' e significa que todos os processos concordam que primeiro ocorre um evento a e, depois, um evento b. Por exemplo, se a e b são eventos do mesmo processo, e a ocorre antes de b, então a → b é verdadeira; agora, se a é o evento de uma mensagem sendo enviada por um processo, e b é o evento da mensagem sendo recebida por outro processo, então a → b também é verdadeira. Uma mensagem não pode ser recebida antes de ser enviada, ou até ao mesmo tempo que é enviada, visto que ela leva uma quantidade de tempo finita, diferente de zero, para chegar.
Vantagens dos Relógios Lógicos vs. Relógios Físicos
Relógios físicos podem derivar um dos outros. O efeito disso é que um simples cálculo do deslocamento médio não funcionará em sincronia; os últimos valores enviados serão menos exatos do que os primeiros e, à medida que o tempo passa, o deslocamento aumenta. Também imagine sincronizar todos os relógios físicos com os relógios do mundo real, e ainda como sincronizá-los. Já os relógios lógicos em sistemas distribuídos têm a vantagem de as máquinas entrarem em contato umas com as outras e manter o sincronismo através de algoritmos, o que permite uma disseminação de informações relativamente simples.
Vantagem de Configurar um Servidor NIS no Mestre
A vantagem em se utilizar NIS (Network Information Service) é a possibilidade da criação de um usuário único e compartilhado, que pode ser acessado por todos os nós escravos de maneira simples e eficaz, facilitando a transferência de arquivos na rede. É possível configurar a faixa de IPs de clientes que poderá ter acesso ao servidor NIS.
Funções do MPI (Message Passing Interface)
- MPI_INIT: Inicializa o ambiente de execução de MPI. Deve ser chamada apenas uma vez em todos os programas de MPI e antes de qualquer outra função.
- MPI_Comm_size: Determina o número de processos em um grupo associado a um comunicador. Geralmente usado com o comunicador MPI_COMM_WORLD para determinar o número de processos que estão sendo usados por uma aplicação.
- MPI_Comm_rank: Utilizado para associar um rank do processo requisitante ao comunicador. Inicialmente, cada processo será associado a um único rank inteiro entre 0 e o número de processos -1 com o comunicador MPI_COMM_WORLD. Se um processo se tornar associado a outros comunicadores, ele terá um único rank com cada um desses comunicadores.
- MPI_Finalize: Termina a execução do ambiente MPI. Esta função deve ser a última rotina MPI chamada em todo programa MPI; nenhuma outra rotina MPI deve ser chamada após ela.