Léxico do HPC




Glossário



O que procura O que significa
"Job scheduler" Programa destinado a guardar as descrições das tarefas a serem completadas e a sua ordem para que possa alocar os recursos necessários para executar estas tarefas da forma mais eficiente possível e minimizar o tempo de espera para que uma tarefa comece realmente a ser executada. A eficácia dos "job schedulers" (sequenciadores) é um dos pilares sobre os quais assentam os clusters HPC.
Arquitetura de memória distribuída Sistema no qual uma unidade de cálculo não tem acesso direto senão apenas a uma parte do espaço de memória global. Num cluster HPC, cada nó de cálculo é independente e não pode aceder diretamente à memória dos outros nós para efetuar tratamentos paralelos. Estes acessos podem, contudo, fazer-se através de interfaces de programação como MPI, que necessitam de um código adaptado. A adaptação do código pode representar uma importante carga de trabalho.
Arquitetura de memória partilhada Sistema no qual cada unidade de tratamento, por exemplo um cœur de processador pode aceder a todo o espaço da memória. É o que é utilizado tipicamente no caso de um computador clássico onde dois processadores podem facilmente partilhar a memória para trocar as informações de forma mais rápida.
CUDA Compute Unified Device Architecture. Conjunto de "blocos de construção" tecnológicos que permitem utilizar os GPU NVIDIA para tratamentos do tipo GPGPU.
Cloud HPC Serviço de cálculo alojado, frequentemente baseado em máquinas virtuais.
Cluster HPC Cluster de servidores que servem para executar uma aplicação/código de forma distribuída por vários servidores em paralelo. Baseados, na sua maior parte, em material similar ao que é utilizado em informática pelo grande público, os clusters são menos dispendiosos que as super-calculadoras vectoriais utilizadas no passado para HPC e quase as suplantaram completamente durante o último decénio.
GPGPU General-Purpose (Computing on) Graphics Processing Units : cálculo que é migrado para um GPU a fim de beneficiar da sua capacidade de tratamento massivamente paralelo para tratar todo o tipo de informações (não apenas gráficos). Por acréscimo, o termo GPGPU pode designar o próprio GPU ou a utilização que dele é efetuada.
GPU Graphics Processing Unit : literalmente, unidade de tratamento de uma placa gráfica. Os GPU modernos são concebidos de acordo com arquiteturas massivamente paralelas cujas performances brutas excedem as dos processadores clássicos (CPU) para certas tarefas em específico.
HPC High Performance Computing. Em Português podemos dizer cálculo de alta performance ou cálculo intensivo.
HPCDrive Portal web desenvolvido pela OVH para facilitar a utilização e a administração de um cluster HPC.
HPCaaS HPC as a Service
Infiniband  Trata-se e um tipo de rede de muito alto débito e muito baixa latência, largamente utilizada no contexto de HPC devido às suas performances superiores às das tecnologias Ethernet clássicas.
MPI Message Parsing Interface. Trata-se de um standard de comunicação para nós que executam programas paralelos em sistemas de memória distribuída tais como os clusters HPC.
Node de cálculo É o componente de base de um cluster de cálculo. Dotado de processadores de última geração, ele pode tratar de forma rápida as tarefas que lhe são transmitidas por um servidor Master. Um cluster HPC pode ser constituído por várias dezenas ou centenas de nós de cálculo.
Open MP Interface de programação para cálculo paralelo em arquiteturas de memória partilhada. Esta interface permite paralelizar certas partes do código com um trabalho bem menor do que o que poderia ser levado a cabo por MPI, mas não fornece os meios de executar este código, ao reparti-lo por vários nós de um cluster.
OpenACC A API OpenACC oferece aos programadores a possibilidade de integrar nos seus programas diretivas simples que permitem acelerar algumas tarefas repetitivas ou certas funções, tirando partido de novas tecnologias CPU ou GPU.
OpenCL  Interface de programação concebida para explorar sistemas heterogéneos, ou seja, que integram CPU e GPGPU. Esquematicamente, OpenCL pode ser vista como uma alternativa standard a CUDA (tecnologia proprietária, mas mais antiga).
Paralelismo Conjunto de tecnologias de hardware e software que têm por objetivo o tratamento de várias informações ao mesmo tempo a fim de reduzir o tempo total de tratamento. O paralelismo constitui a chave da performance dos clusters HPC e dos processadores modernos: uma simulação digital é tipicamente dividida em várias sub-partes ou tarefas menos complexas que podem ser mais ou menos independentes. Cada uma destas sub-partes é tratada numa unidade de execução (um core de um processador) ao mesmo tempo que as restantes. O paralelismo permite ganhar bastante tempo em certos tipos de cálculo, mas impõe restrições: nem todos os algoritmos podem ser paralelizados e a troca de dados entre os cores de execução necessita frequentemente de bus de I/O bastante rápidos para limitar o tempo perdido durante estes intercâmbios.
SLURM Simple Linux Utility for Resource Management. SLURM é um "job scheduler" cada vez mais utilizado nos clusters HPC, incluindo atualmente os mais potentes.
SaaS Software as a service
Servidor Master Trata-se do servidor de administração de um cluster HPC. Ele gere diferentes recursos do cluster e centraliza o conjunto das informações. É ele o ponto central de uma infraestrutura de cálculo.
Simulação numérica Execução de um programa informático num computador ou rede com o objetivo de reproduzir um fenómeno real e complexo. A simulação digital visa realizar virtualmente experiências que são demasiado complexas, demasiado extensas, custos ou simplesmente impossíveis de efetuar normalmente.
Tesla Gama de placas aceleradores Nvidia dedicadas ao cálculo GPGPU.
Xeon Phi Arquitetura multi-processador da Intel para a realização de tratamento paralelo. As placas Xeon Phi posicionam-se como concorrentes das soluções GPGPU tais como Tesla, mas visam uma maior facilidade de programação graças ao emprego de unidades de tratamento mais próximas dos cores de processadores clássicos do que estão as unidades de tratamento dos GPU.