680 likes | 811 Views
CUDA EM AMBIENTES DE CLUSTER E CLOUD. Prof. Dr. Luciano Silva luciano.silva@mackenzie.br Laboratório de Processamento Gráfico e Mídias Digitais Laboratório de Sistemas Distribuídos. ERAD-SP , Campinas (SP), Julho de 2012. MOTIVAÇÃO. ERAD-SP 2012. MOTIVAÇÃO. ERAD-SP 2012. MOTIVAÇÃO.
E N D
CUDA EM AMBIENTES DE CLUSTER E CLOUD Prof. Dr. Luciano Silva luciano.silva@mackenzie.br Laboratório de Processamento Gráfico e Mídias Digitais Laboratório de Sistemas Distribuídos ERAD-SP, Campinas (SP), Julho de 2012
MOTIVAÇÃO ERAD-SP 2012
MOTIVAÇÃO ERAD-SP 2012
MOTIVAÇÃO ERAD-SP 2012
MOTIVAÇÃO ERAD-SP 2012
OBJETIVOS • Conhecer o conceito de cluster (aglomerado) de GPUs e exemplos • Apresentar os princípios de funcionamento do ambiente MPI-CUDA para clusters de GPUs e sua programação • Conhecer o conceito de virtualização de GPU como suporte a gpu cloud computing • Apresentar os princípios de funcionamento de CUDA em sistemas virtualizados de GPUs • Discutir possibilidades de pesquisa em cluster e cloud com GPUs ERAD-SP 2012
TÓPICOS • PARTE I – CUDA EM CLUSTERS DE GPU • Revisão da arquitetura CUDA • Clusters de GPU • CUDA em clusters de GPU • PARTE II – CUDA EM CLOUD • Virtualização de GPUs • Virtualização de GPUs NVidia • Virtualização por software – GVirtuS • Virtualização por hardware – Nvidia VGX ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Computação Heterogênea MPI-CUDA CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD CPU GPU ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura CUDACompute Unified Device Architecture MPI-CUDA CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD CPU GPU ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura CUDA MPI-CUDA CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura CUDA MPI-CUDA CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura CUDA MPI-CUDA CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura CUDA MPI-CUDA CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Níveis de Invocação em CUDA MPI-CUDA CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Compilação MPI-CUDA CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Referências Sugeridas MPI-CUDA CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Ambientes Iniciais Típicos MPI-CUDA CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Evolução (I) CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Evolução (II) CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Evolução (III) CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Evolução (IV) CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Evolução (V) CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD www.amax.com ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Evolução (VI) CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (I) – Duas Placas – Mesmo Nó CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (I) – Duas Placas - Mesmo Nó CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (I) – Duas Placas - Mesmo NóIdentificação dos Dispositivos CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (I) – Duas Placas - Mesmo NóMúltiplas Threads no Host – Múltiplos Devices CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (I) – Duas Placas - Mesmo NóMúltiplas Threads no Host – Múltiplos Devices CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (I) – Duas Placas - Mesmo NóUVA – UNIFIED VIRTUAL ADDRESSING (TESLA SÉRIE-20, FERMI,…) – CUDA 4.0 CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD SEM UVA MÚLTIPLOS ESPAÇOS DE MEMÓRIA COM UVA ESPAÇO DE MEMÓRIA ÚNICO ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (I) – Duas Placas - Mesmo NóSEM UVA CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (I) – Duas Placas - Mesmo NóCOM UVA – Tecnologia GPUDirect CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (I) – Duas Placas - Mesmo NóCópia Direta de Dados entre GPUs CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (I) – Duas Placas - Mesmo NóAcesso Direto de Dados entre GPUs CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (II) – Duas Placas – Nós DiferentesInfiniBand CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (II) – Duas Placas – Nós DiferentesInfiniBand CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (II) – Duas Placas – Nós DiferentesMovimentação de Dados CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD No caso convencional, os dispositivos GPU e IB Adapter requerem buffers diferentes na memória principal. ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (II) – Duas Placas – Nós DiferentesMovimentação de Dados – Sem GPUDirect CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (II) – Duas Placas – Nós DiferentesMovimentação de Dados – Com GPUDirect CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (II) – Duas Placas – Nós DiferentesMovimentação de Dados – USO DE MPI CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD • [PROCESSO REMETENTE]: [CUDA] Memória Device Memória Host • [MPI]: [PROCESSO REMETENTE] [PROCESSO DESTINATÁRIO] • [PROCESSO DESTINATÁRIO]: [CUDA] Memória Host Memória Device ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (II) – Duas Placas – Nós DiferentesMPI e CUDA – Implementação Naïve CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (II) – Duas Placas – Nós DiferentesMPI e CUDA – Otimização CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (II) – Duas Placas – Nós DiferentesMPI e CUDA – MVAPICH2-GPUhttp://nowlab.cse.ohio-state.edu/projects/mpi-gpu/index.html CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (II) – Duas Placas – Nós DiferentesMPI e CUDA – MVAPICH2-GPU CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Arquitetura (II) – Duas Placas – Nós DiferentesComparação de Desempenho CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Referência Sugerida CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Carma Development Kithttp://www.secoqseven.com CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Virtualização de GPUs CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD Virtualização de GPUs NVidia CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD GVirtuS – Arquitetura Baseada em SoftwareUniversidade de Napoli CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012
CUDA EM AMBIENTES DE CLUSTER E CLOUD GVirtuS – Arquitetura Baseada em Software CUDA MPI-CUDA CLUSTER DE GPU VIRTUALIZAÇÃO DE GPU CUDA CLOUD ERAD-SP 2012