Convergência de arquiteturas paralelas

Máquinas paralelas foram desenvolvidas com várias arquiteturas distintas. Nesta seção, discutiremos diferentes arquiteturas paralelas de computadores e a natureza de sua convergência.

Arquitetura de Comunicação

A arquitetura paralela aprimora os conceitos convencionais de arquitetura de computador com arquitetura de comunicação. A arquitetura do computador define abstrações críticas (como limite do sistema do usuário e limite do hardware-software) e estrutura organizacional, enquanto a arquitetura de comunicação define as operações básicas de comunicação e sincronização. Também aborda a estrutura organizacional.

O modelo de programação é a camada superior. Os aplicativos são escritos em modelo de programação. Os modelos de programação paralela incluem -

  • Espaço de endereçamento compartilhado
  • Passagem de mensagem
  • Programação paralela de dados

Shared addressprogramar é como usar um quadro de avisos, onde alguém pode se comunicar com um ou mais indivíduos postando informações em um local específico, que é compartilhado por todos os outros indivíduos. A atividade individual é coordenada observando quem está fazendo cada tarefa.

Message passing é como um telefonema ou cartas em que um destinatário específico recebe informações de um remetente específico.

Data parallela programação é uma forma organizada de cooperação. Aqui, vários indivíduos executam uma ação em elementos separados de um conjunto de dados simultaneamente e compartilham informações globalmente.

Memoria compartilhada

Os multiprocessadores de memória compartilhada são uma das classes mais importantes de máquinas paralelas. Ele oferece melhor rendimento em cargas de trabalho de multiprogramação e oferece suporte a programas paralelos.

Nesse caso, todos os sistemas de computador permitem que um processador e um conjunto de controlador de E / S acessem uma coleção de módulos de memória por alguma interconexão de hardware. A capacidade de memória é aumentada adicionando módulos de memória e a capacidade de E / S é aumentada adicionando dispositivos ao controlador de E / S ou adicionando controlador de E / S adicional. A capacidade de processamento pode ser aumentada aguardando que um processador mais rápido esteja disponível ou adicionando mais processadores.

Todos os recursos são organizados em torno de um barramento de memória central. Por meio do mecanismo de acesso ao barramento, qualquer processador pode acessar qualquer endereço físico no sistema. Como todos os processadores são equidistantes de todos os locais de memória, o tempo de acesso ou latência de todos os processadores é o mesmo em um local de memória. Isso é chamadosymmetric multiprocessor.

Arquitetura de passagem de mensagens

A arquitetura de passagem de mensagens também é uma classe importante de máquinas paralelas. Ele fornece comunicação entre os processadores como operações de E / S explícitas. Nesse caso, a comunicação é combinada no nível de E / S, ao invés do sistema de memória.

Na arquitetura de passagem de mensagens, a comunicação do usuário é executada usando o sistema operacional ou chamadas de biblioteca que realizam muitas ações de nível inferior, que incluem a operação de comunicação real. Como resultado, há uma distância entre o modelo de programação e as operações de comunicação no nível do hardware físico.

Send e receivesão as operações de comunicação de nível de usuário mais comuns no sistema de passagem de mensagens. Send especifica um buffer de dados local (que deve ser transmitido) e um processador remoto receptor. Receber especifica um processo de envio e um buffer de dados local no qual os dados transmitidos serão colocados. Na operação de envio, umidentifier ou um tag é anexado à mensagem e a operação de recebimento especifica a regra correspondente, como uma tag específica de um processador específico ou qualquer tag de qualquer processador.

A combinação de um envio e um recebimento correspondente conclui uma cópia de memória para memória. Cada extremidade especifica seu endereço de dados local e um evento de sincronização de pares.

Convergência

O desenvolvimento de hardware e software eliminou a fronteira clara entre a memória compartilhada e os campos de transmissão de mensagens. A passagem de mensagens e um espaço de endereço compartilhado representam dois modelos de programação distintos; cada um oferece um paradigma transparente para compartilhamento, sincronização e comunicação. No entanto, as estruturas básicas da máquina convergiram para uma organização comum.

Processamento Paralelo de Dados

Outra classe importante de máquina paralela é denominada de várias maneiras - matrizes de processador, arquitetura paralela de dados e máquinas de instrução única com múltiplos dados. A principal característica do modelo de programação é que as operações podem ser executadas em paralelo em cada elemento de uma grande estrutura de dados regular (como array ou matriz).

Linguagens de programação paralela de dados são geralmente aplicadas pela visualização do espaço de endereço local de um grupo de processos, um por processador, formando um espaço global explícito. Como todos os processadores se comunicam juntos e há uma visão global de todas as operações, um espaço de endereço compartilhado ou a passagem de mensagens podem ser usados.

Questões Fundamentais de Design

O desenvolvimento do modelo de programação não pode apenas aumentar a eficiência do computador, nem o desenvolvimento do hardware sozinho. No entanto, o desenvolvimento da arquitetura do computador pode fazer a diferença no desempenho do computador. Podemos entender o problema de design nos concentrando em como os programas usam uma máquina e quais tecnologias básicas são fornecidas.

Nesta seção, discutiremos sobre a abstração de comunicação e os requisitos básicos do modelo de programação.

Abstração de comunicação

A abstração da comunicação é a principal interface entre o modelo de programação e a implementação do sistema. É como o conjunto de instruções que fornece uma plataforma para que o mesmo programa possa ser executado corretamente em muitas implementações. As operações neste nível devem ser simples.

A abstração da comunicação é como um contrato entre o hardware e o software, que permite um ao outro a flexibilidade de melhorar sem afetar o trabalho.

Requisitos do modelo de programação

Um programa paralelo possui um ou mais threads operando em dados. Um modelo de programação paralela define quais dados os threads podemname, qual operations pode ser executado nos dados nomeados e cuja ordem é seguida pelas operações.

Para confirmar que as dependências entre os programas são aplicadas, um programa paralelo deve coordenar a atividade de seus threads.