geinfo- educação continuada - instalaçãode clusters...bibliotecas matemáticas •...

54
Instalação de Clusters Ettore Enrico Delfino Ligorio – USP/STI/Internuvem – [email protected] Março - 2016

Upload: others

Post on 09-Sep-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Instalação de Clusters

Ettore Enrico Delfino Ligorio – USP/STI/Internuvem – [email protected]

Março - 2016

Page 2: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Agenda• Conceitos• Elementos do Stack HPC• O que e cada elemento

• Funcionalidades• Ferramentas

• Caso do HPC USP• Sugestões para instalação

• OpenHPC

Page 3: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

O que e cluster?

• Aglomerado de recursos computacionais funcionando de forma coordenada cooperando entre si para a resolução de um problema comum

• Não e GRID

• Não é nuvem

Page 4: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Classificação de Cluster• Finalidade

– Computação Cientifica

– Inteligência de Negocio• Mineração de Dados

• Big Data

– Oferta de Serviços de TIC

– Cloud Computing

– Engenharia

– Economia

• Tipo– Alto Desempenho

– Alta Disponibilidade

– Balanceamento de Carga

– Configuração Centralizada

Page 5: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Clusters de HPC – Science Computing

• Processamento Paralelo distribuído

– Beowulf

– Particionamento do problema

• Processamento Serial

Page 6: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Termos

• Node

• CPU

• Task

Page 7: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Beowulf

• Node Mestre

– Frontend acesso

– Transefrência de arquivos

– Serviços

• Nodes Slaves

– Processamento

– I/O

Page 8: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Tipos de ProcessamentoFlynn's taxonomy (multiprogramming context)

Single

instruction

stream

Multiple

instruction

streams

Single

program

Multiple

programs

Single data

streamSISD MISD

Multiple

data streamsSIMD MIMD SPMD MPMD

Page 9: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Tipos de Processamento

• SIMD

– GPUs (vetorização)

• MIMD

– Memoria Compartilhada

– Memoria Distribuída

• SISD

– Von Neumann

– CPU Superescalar

• MISD

– Pipelines

– Fault Tolerance Computers

Page 10: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Arquiteture MPP

• Massive Parallel Processing

– Executar coordenadamente grupos de cálculos computacionais em paralelo

– Cluster de HPC com interconexão veloz

– Grids oportunistas

– Massively Parallel Processor Arrays (MPPAs)• HPC e sistemas embarcados (Video, Signal process, etc)

Page 11: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

System Share

• Cluster e MPP

– Dominantes

Fonte: http://top500.org

Page 12: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Capacidade Computacional pelo mundo

Fonte: http://top500.org

Page 13: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

• MPI options

• MPICH2, MVAPICH2, Open MPI, Intel MPI• Provisioning software

• Cobbler, Warewulf, xCAT/ Platform HPC, Openstack, FAI• Configuration management

• Warewulf, Puppet, Chef, Ansible, cfEngine, SaltStack• Resource and job schedulers

• Torque/PBS, OpenLava/Platform LSF , Maui/Moab, HTCondor , SLURM, Grid Engine/Sonof Grid Engine, Univa, Oar

• Performance monitoring

• Ganglia, Nagios, Icinga• Shared filesystems

• NFS, pNFS, Lustre, GPFS, PVFS2, GlusterFS• Library/Enviroment Variables management

• Enviroment Modules, Lmod, EasyBuild• Cluster management toolkits

• Rocks, Oscar, Scyld, Bright

Page 14: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Fonte: http://www.penguincomputing.com/products/software/cluster-management-scyld-clusterware/

Page 15: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

http://www.hpcwire.com/2014/02/24/comprehensive-flexible-software-stack-hpc-clusters/

Page 16: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas
Page 17: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Sistema Operacional

• Kernel Otimizado

– Limpo

– Especializado

• Diskless ou Diskfull

• Comunidade HPC

• Orquestra acesso ao HW – Process– Threads

• Gestão de pacotes– Yum– Apt-get– Yast2

• Alternativas: RedHat Like, Debian Like e Suse Like

Page 18: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Fonte: http://top500.org

Page 19: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Comunicação

• PasswordLess SSH

• RSH

• RDMA (Infiniband)

• Interconexão

– Infiniband

– Ethernet

– Myrinet

– Quadrics (Elan Asic)

Page 20: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Interconexões

Fonte: http://top500.org

Page 21: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Compiladores

• Gera os binários a partir do código fonte

• Flags de otimização e debug

• Static e Shared libraries

– Strip, ldd e nm

• Alternativas: GNU, Intel, Portland, etc

Page 22: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Bibliotecas Matemáticas

• Implementação confiável e performática de operações matemáticas frequentes

– Transformadas de Fourier, Sistemas Lineares, etc.

• Binário faz cálculos mais rápidos

• Base para compilação de outros softwares• Alternativas: BLAS, cuBLAS, ATLAS, FFTW, MKL, ACML, GSL,

LAPACK, LibSci /Trilinos(Cray), NAG, PETSc, PSPLine, ScaLAPACK, SLEPc, SPRNG, TPSL, ESSL (IBM)

Fonte: http://www.nersc.gov/users/software/programming-libraries/math-libraries/

Page 23: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Cuda

• Uso das GPU

Page 24: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Bibliotecas MPI• Baseada em processos

• Troca de mensagens entre nodes de um cluster de processamento/RAM distribuídos– Flexibilidade, Portablidade e escalabilidade

• Personalizar arquivo de configuração do MPI e espalhá-lo entre os nodes

• Standard MPI-3

• Alternativas: OpenMPI, MVAPHCH2 (internexõesrápida - infiniband) e MPICH2

Page 25: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

OpenMP

• Mais simples

• Shared Memory

• Threads

– Cada uma com um pedaço do problema

Page 26: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Filesystem Global Compartilhado

• Lustre predomina no top500

• Alto desempenho I/O

– Evitar gargalos

• Visão consistente dos arquivos para todos os nodes

– Evita Stage-in/Stage-out

– Home e scratch

• Alternativas: Lustre, NFS, GPFS, GlusterFS, etc.

Page 27: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

IO Paralelo

• Bibliotecas

– MPI-IO

– netCDF

– HDF5

• Processo leem/escrevem pedaços diferentes do arquivo simultaneamente

Page 28: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Requisitos comuns de Libs para softwares HPC

Math Libs MPI Libs I/O Libs

Softwares HPC complexos

Page 29: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Provisionamento dos Nodes

• Padronização

– Imagem de S.O.

– Parâmetros de rede

– Configuração

• Stateless

• Statefull

• Alternativas: Warewulf/PERCEUS, xCAT/ Platform HPC, FAI

Page 30: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Gerenciamento de Configuração

• Uniformização de atualizações

• Facilidade para administradores

• Observar detalhes de aplicação de configurações

• Alternativas: Warewulf, Puppet, Chef, Ansible, cfEngine, SaltStack

Page 31: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Gestão de Variáveis de Ambiente e Bibliotecas• Fundamental em

ambientes HPC

• $LD_LIBRARY_PATH

• $PATH

• Altera binários e bibliotecas disponíveis

– Para CLI e JOBS.

• Coexistência harmônica de versões diferentes

• Alternativas: Environment Modules e Lmod

Page 32: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Environment Modules

• Definição do $MODULEPATH

• IF no /etc/bashrc para carregar $MODULEPATH proveniente do SSH

• Enviar e receber variáveis

– /etc/ssh/sshd_config

– /etc/ssh/ssh_config

Page 33: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Escalonadores de Jobs e Recursos

• Visão Recursos

– Disponíveis

– Consumidos

– Reservado

– Solicitados

• Especificação de filas

– Controle Tempos limite

– Nodes alocados

• Distribuição de jobs

– Accouting

• Alternativas: Torque/PBS, OpenLava/Platform LSF , Maui/Moab, HTCondor , SLURM, Grid Engine/Son of Grid Engine, Univa, Oar

Page 34: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Interfaces de Trabalho

• Edição e submissão Jobs

– SSH/Shell

– Interface WEB

• Transferência de Arquivos

– SFTP

– Interface WEB

– GlobusOnline*

Page 35: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

cGroups

• Nativo do Kernel Linux

• Limitação de recursos disponíveis para o job

– Cpu

– RAM

• O espaço em disco controlado por quotas tradicionais quando necessário

Page 36: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Monitoramento

• Performance

• Disponibilidade

• Agregado para cluster

• Alternativas: Ganglia, Nagios, Icinga, Zabbix, Cacti

Page 37: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Clusters HPC-USP

• Lince

• Águia

Page 38: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Setup de node

• Sysctl.conf– Liberar alocação e uso

de muita RAM

• /etc/profile– Ulimit e umask

– HISTSIZE

– Variáveis de ambiente

• /etc/bashrc

• /etc/secutity/limits.conf

• /etc/ssh/ssh_config– Disable strict host key check

• Desativar firewall dos nodes

Page 39: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Warewulf

• VNFS e bootstrap

– Stateless e Statefull

• Criação de nodes

• Provisionamento

• Gestão de arquivos de configuração

Page 40: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Nodes

• Wwsh node servidor01 set --netdev=eth0 --hwaddr=XX:XX:XX:XX:XX:XX

• Wwsh node servidor[01-20] set –I 10.0.0.1

Page 41: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

VNFS

• Mount –t proc /proc /CHROOT/proc

• Mount –t sys /sys /CHROOT/sys

• Mount –t bind –o loop /dev /CHROOT/dev

• Chroot /CHROOT

• Wwvnfs NOME_IMAGEM –chroot=/CHROOT

Page 42: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

BootStrap e Provisionamento

• Wwbootstrap –chroot=/CHROOT NOME_BOOTSTRAP

• Wwsh provision set node0[1-6] –vnfs=NOME –bootstrap=NOME

• Wwsh provision set node0[2-5] –fileadd=sshd_config

Page 43: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas
Page 44: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Torque Maui

• Qmgr

– Print server (qmgr –c ‘p s‘)

• Maui.cnf

– Showconfig -v

Page 45: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Soluções da Intel

• Compiladores

• MKL

• Portal educativo

Page 46: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Ganglia

Page 47: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Operacao de Filas

• Analisando Jobs

– Operações com Jobs

• Analisando Nodes de Processamento

– Operações com nodes

• Visão de desempenho do Storage

Page 48: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Análise de Jobs

• qstat –f JOB_ID

• Arquivos de saída job

– Erro

– Saída

– qpeek

• Aruivos de saída aplicativo

Page 49: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Análise de Nodes

• Qstat –f

• Qstat –na

• Ssh e top

• Free

• Gráficos no Ganglia

Page 50: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Visão de Desempenho

• Linpack

• HPCC

• HPCC_fermi (CUDA)

Page 51: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Propriedades de Filas

• Cputime

• Walltime

• Limites de jobs

• Limites de recursos

Page 52: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

Configurações de Escalonamento

• Fairshare– Uso justo.

– Escolhe N intervalos de medição num período de tempo

– Atribui maior prioridade para quem usou menos no período

• Backfilling– Verifica os tempos e os

recursos solicitados por cada job.

– Analisa o tempo restante reservado pelo que já esta em execução.

– Encaixa jobs nesse tempo.

Page 53: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

EKM - Ansys

• https://ekm.uspdigital.usp.br/ekm

Page 54: GeInfo- Educação Continuada - Instalaçãode Clusters...Bibliotecas Matemáticas • Implementação confiável e performática de operações matemáticas frequentes – Transformadas

• http://www.beowulf.org/• http://warewulf.lbl.gov• http://www.openhpc.community• http://insidehpc.com/2012/09/free-download-hpc-for-dummies/• http://www.adaptivecomputing.com/products/open-source/torque/