300 likes | 473 Vues
GPU em Ambientes Paralelos e Distribuídos. Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio. Agenda. Motivação Introdução Embasamento Trabalho Conclusão.
E N D
GPU em Ambientes Paralelos e Distribuídos Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Agenda • Motivação • Introdução • Embasamento • Trabalho • Conclusão Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Motivação • Busca pela melhoria da capacidade computacional (performance) • Como? Através da paralelismo das GPU (paralelismo em geral) • Porque a maneira antiga não funciona mais? Estagnação do clockdos CPU (lei de Moore). Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Motivação Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Agenda • Motivação • Introdução • Embasamento • Trabalho • Conclusão Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Introdução GPU é utilizada na computação de alto desempenho, capacidade de paralelizar e alta largura de banda; GPU possui uma arquitetura SIMD de vários núcleos de processamento e utiliza-os para uma atividade massivamente paralela; GPU vs aumento do clockdos processadores para melhorar o desempenho; Foco: aumentar o número de cores (núcleos de processamento); Intel Xeon X7560 possui 8 cores, a GPU GeForce 8800 GTS possui 96 cores. Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Introdução Desempenho da GPU no processamento de imagens chamou a atenção de cientistas e pesquisadores. Gráfico GPGPU • Processamento de imagens • Jogos • Cálculos matemáticos • Banco de dados • Mineração de dados • Aplicação com características que torne vantajoso o uso da GPU, como a possibilidade de paralelizar o processamento; • Desafio está em conseguir desenvolver os aplicativos para a GPU. Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Introdução - 3 bilhões de transistores. - 512 cores, organizados em: - 16 Streaming Multiprocessors(SM). - Cada SM possuindo 32 cores. - 6 partições de memória de 64 bits, totalizando 364 bits de memória. - Suportando 6 GB de GDDR DRAM. - Um Host Interface conexão via PCI-Express com a CPU. - Uma GigaThreadque distribui os blocos de threads para o escalonador do SM. - Um L2 Cache compartilhado por todos os SMs. A arquitetura FERMI Arquitetura FERMI de uma GPU Tesla NVIDIA. Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Introdução Arquitetura de um SM Uma memória compartilhada de 64 KB/L1 Cache.; Configurável dependendo da necessidade; Memória interna de cada SM faz com que diminua o tráfico de dados entre o SM e a memória L2 Cache ou as memórias DRAM; Menor trafego melhora o desempenho do processamento. Arquiteturade um StreamMultiprocessor da GPU NVIDIA Tesla. Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Introdução Acesso à Memória 16 load/storeunitsutilizadas para carregar e armazenar dados nas memórias cache e DRAM. Com 16 unidades, 16 threads podem ser utilizadas para essa tarefa. O escalonador do SM agrupa as threads em grupos de 32 threads em paralelo chamadas warps. Cada SM possui 2 Warp Schedule e 2 Dispatchunits, o SM trabalha dois grupos ou warpsao mesmo tempo em paralelo Como cada warptrabalha de forma independente, é possível atingir assim o desempenho máximo do hardware. Hierarquia de acesso às memórias da GPU realizado por uma thread . Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Introdução Evolução • Inicialmente, o pipeline da GPU estágios com função específica e com pouca capacidade de programação. • VertexProcessing. • Rasterization. • FragmentProcessing. • Frame Buffer. • Realizavam tarefas gráficas. • O pipeline passou por algumas evoluções para ficar com uma maior capacidade de programação. • VertexProcessinge FragmentProcessing, mudaram e são susceptíveis a programação. Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Introdução • Linguagem que estende C: • C CUDA Language • Garante ao desenvolvedor acesso aos recursos da GPU para GPGPU. <<blocks, threads>> GoDevice() Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Introdução Comparação das arquiteturas da série G80, GT200 e FERMI. Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Agenda • Motivação • Introdução • Embasamento • Trabalho • Conclusão Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Embasamento http://www.gpucomputing.net/?q=node/213 Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Embasamento • Expressões regulares são bem eficazes na detecção de invasão em redes e verificação de vírus • Overhead de CPU • 48x speedup utilizando GPU¹ • 16 Gbit/s throughput ¹http://www.gpucomputing.net/?q=node/1761 Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Embasamento • Gregex¹ alcançou um throughput de 126.8 Gbps. • Speedup of 210× emrelação a implementação com CPU • Speedup of 7.9× sobre o estado da arte emnasimplementações com GPU http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5976233&tag=1 Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Embasamento • Nvidia CEO Jen-HsunHuang (2009): • “GPU performance will increase up to 570x in the next six years.” Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Embasamento • Tianhe-1A • NUDT TH MPP, X5670 2.93Ghz 6C, NVIDIA GPU, FT-1000 8C Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Agenda • Motivação • Introdução • Embasamento • Trabalho • Conclusão Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Trabalho TELEMEDICINA UTILIZANDO GPU E CLUSTERS • Neste trabalho iremos utilizar a GPU e PC Cluster para interpretar o limite de um volume de interesse em cima de fibras cerebrais a partir de imagens 3D.
Trabalho TELEMEDICINA UTILIZANDO GPU E CLUSTERS • Rastreamento de Fibra (Fiber tracking): -Técnica de determinação de feixes de fibra em um cérebro humano. - De acordo com o algoritmo de rastreamento de fibra, cumpre seu objetivo quando é analisado todas as informações da imagem. - Cada uma dessas fibras são independentes umas das outras.
Trabalho TELEMEDICINA UTILIZANDO GPU E CLUSTERS
Trabalho TELEMEDICINA UTILIZANDO GPU E CLUSTERS • Aplicação da GPU e PC Cluster: • O aplicativo de rastreamento da fibra GPU foi implementada utilizando a tecnologia CUDA por meio de API e um compilador C . • O Aplicativo CUDA de rastreamento de fibra é lançado para cada ponto da imagem; como o número de pontos e muito maior que o número de processadores a GPU raramente torna-se ocioso por insuficiência de dados a serem processados. • O PC Cluster será utilizado para o armazenamento das informações coletadas onde se faz necessário uma visualização das imagens em outro momento.
Agenda • Motivação • Introdução • Embasamento • Trabalho • Conclusão Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Conclusão • Capacidade de paralelismo massivo. • Preço • UPenn: Finding a Better Shampoo • Redução 18x no custo Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Conclusão • Velocidade Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Conclusão • Limitações por conta da atomicidade da GPU • CPU é mais rápida em operações com controle de fluxo de informações complexo. • Complexidade de programação • Atenção Centros de Ensino Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Referência Bibliográfica http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5976233&tag=1 http://www.gpucomputing.net/?q=node/1761 http://www.scherm.com.br/web/Tesla-briefOvrw-June09_v1_0.pdf http://www.nvidia.com/object/GPU_Computing.html http://www.gpucomputing.net http://www.nvidia.com/content/PDF/fermi_white_papers/NVIDIA_Fermi_Compute_Architecture_Whitepaper.pdf Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio
Obrigado • Dúvidas? Ambientes Computacionais Distribuídos para Engenharia do Conhecimento - EGC 9001-09 – 2011.3 Bruno Altieri – Leandro Dal Pizzol - Luís Fernando Custódio