application programming interface de programação de rede de portais - Portals network programming application programming interface
| Desenvolvedor (s) | Sandia National Laboratories , Universidade do Novo México |
|---|---|
| Versão estável | 4.0.2 |
| Tipo | rede API |
| Local na rede Internet | www |
Portals é uma rede de baixo nível API para redes de alto desempenho em computação de alto desempenho sistemas desenvolvidos pela Sandia National Laboratories e da Universidade do Novo México . Portais é atualmente a interface de programação de rede de nível mais baixo no bem sucedido comercialmente linha XT de supercomputadores de Cray .
visão global
Portals baseia-se no conceito de blocos de construção elementares que podem ser combinados para suportar uma ampla variedade de semântica de transporte de rede de nível superior. Portais fornece unilaterais operações de movimentação de dados, mas ao contrário de outras interfaces de programação de um lado, o alvo de uma operação remota não é um endereço virtual . Em vez disso, o destino final na memória de uma mensagem de entrada é determinado no receptor comparando conteúdo do cabeçalho da mensagem com o conteúdo de estruturas no destino. Esta flexibilidade permite implementações eficientes de ambas as comunicações unilaterais e dois lados. Em particular, Portais visa proporcionar as operações fundamentais necessários para suportar um alto desempenho e implementação escalável da Message Passing Interface padrão (MPI). Também foi usado como a camada de transporte de rede inicial para o Luster sistema de arquivos.
Primeiros anos
Portais começou no início de 1990 como uma extensão para o nX sistema de troca de mensagens usado na SUNMOS e Puma sistema operacional. Ele foi implementado pela primeira vez para o Intel Paragon em Sandia, e depois portado para o TeraFLOPS Intel máquina chamada ASCI Red . Havia quatro blocos de construção da primeira versão de Portais: o bloco único, o bloco dinâmico, o bloco independente e o bloco combinado. Todas as mensagens recebidas em primeiro lugar passar por um jogo-lista que permitiu portais individuais para responder a grupos específicos, fileiras, e um conjunto de usuário especificado match-bits.
portais 3
O conceito Portals continuou a evoluir ao longo de gerações sucessivas de grãos leves e sistemas massivamente paralelos. Em 1999, uma interface de programação operacional foi dado a Portais para que pudesse ser implementado para interfaces de rede inteligentes ou programáveis fora de um ambiente de núcleo leve. Este padrão foi projetado para sistemas onde o trabalho necessários para preparar, transmitir e entregar mensagens é maior que o de ida e volta para as estruturas de dados Portals. Por exemplo, em sistemas modernos, este trabalho é dominado pela ida e volta através do barramento IO à interface de rede. O padrão foi revisto desde a versão inicial para torná-lo mais adequado para os modernos de alto desempenho, computadores maciçamente paralelos. A biblioteca MPI foi portado dos retronymed Portals 2 para os novos Portals 3.0.
A especificação Portals 3 foi implementado várias vezes, primeiro em ASCI Red , então CPlant sobre Myrinet , Linux ea Cray XT família.
portais 4
À luz da Emerging particionado espaço de endereço global (PGAs) línguas, vários novos recursos foram adicionados à API Portais como parte de portais 4. Portals 4 também fez várias mudanças para melhorar a interação entre o processador e interface de rede (NIC) para implementações que fornecem offload. Finalmente, uma opção para suportar uma forma de fluxo-controlo foi adicionado aos portais 4.
Portais 4 é a API de rede de baixo nível para o Bull-Atos BXI NIC.