Tecnologia Tesla da nVidia
Por Gabriel Torres e Cássio Lima em 20 de novembro de 2007

Introdução

Com o poder de processamento dos chips gráficos aumentando a cada dia – ao ponto de serem mais rápidos do que processadores convencionais em operações matemáticas – tem-se discutido já há algum tempo se os chips gráficos não poderiam ser usados como processadores para a execução de programas. A idéia, conhecida como GPGPU (General-Purpose Graphics Processing Unit ou Unidade de Processamento Gráfico de Uso Geral), é direcionar para o chip gráfico cálculos que de outra maneira seriam feitos pelo processador, aumentando assim o desempenho.

O problema é como fazer isso, já que um programador teria que saber como programar um chip gráfico específico para que um programa pudesse ser executado nele, e este programa não funcionaria em um chip gráfico diferente.

Para resolver este problema a nVidia lançou um compilador C para sua série GeForce 8800, chamado CUDA. Com o CUDA qualquer programador pode facilmente compilar seus programas escritos em C para usarem o poder de processamento do chip gráfico do micro.

Dando um passo adiante, a nVidia lançou uma série de “placas de vídeo” chamada Tesla. Essas “placas de vídeo” são equipadas com chips gráficos GeForce 8800, mas elas não produzem vídeo: elas foram desenvolvidas para serem usadas como processadores, ou seja, para executarem programas.

Esses programas precisam ser compilados com o CUDA, obviamente. Dessa forma usuários comuns não se beneficiarão desta tecnologia, ou seja, não ache que instalando uma dessas placas no micro o desempenho de processamento aumentará automaticamente.

Qualquer tipo de programa de cálculo pesado que faz muitas coisas em paralelo podem se beneficiar de usar o GPGPU – se eles foram compilados para usar o chip gráfico, obviamente. Isto inclui principalmente simulações (física, financeira, médica, biológica e química, por exemplo).

Uma coisa muito interessante a respeito do CUDA é que você não precisa ter uma placa Tesla instalada para usá-lo. Dessa forma um programador pode comprar qualquer placa de vídeo da série GeForce 8800 e tentar ver se usando o chip  gráfico em vez do processador aumenta o desempenho da aplicação que ele está escrevendo. Se funcionar bem, o programador pode pensar em comprar um sistema mais potente, ou seja, uma solução Tesla.

Até agora a nVidia lançou três produtos Tesla: uma placa básica, chamada C870, que é uma placa de vídeo GeForce 8800 mas sem a saída de vídeo. O “C” em seu nome significa “placa” (do inglês “card”). Esta placa tem 1,5 GB de memória e o seu desempenho matemático é de 500 GFLOPS (bilhões de operações de ponto flutuante por segundo). Usando um conector PCI Express x16 convencional esta placa pode ser instalada em qualquer computador.

tesla
clique para ampliar
Figura 1: Placa Tesla C870.

Tesla
clique para ampliar
Figura 2: Note que esta placa não tem saída de vídeo.

Esta placa básica serve de base para outros dois produtos Tesla disponíveis: D870 e S870.

O D870 – onde “D” significa “Desktop” – é um pequeno gabinete externo contendo duas placas C870, portanto o poder de processamento desta solução é de 1 TFLOP (trilhão de operações de ponto flutuante por segundo). Este gabinete é conectado ao micro através de um cabo, que é basicamente uma extensão do barramento PCI Express.

Tesla
clique para ampliar
Figura 3: O gabinete pequeno é o Tesla D870, que contém duas placas C870.

Ainda temos o modelo mais topo de linha, o Tesla S870, que é composto internamente por quatro placas C870. Nós falaremos mais sobre este produto na próxima página.

Tesla S870

O Tesla S870 – onde a letra “S” significa “Servidor” – é montado em um gabinete para servidores em rack de 1 U contendo quatro placas C870. Portanto este produto foi desenvolvido para ser conectado a servidores. Nas Figuras 4 e 5 você pode ver um Tesla S870 aberto.

Tesla
clique para ampliar
Figura 4: Tesla S870, que contém quatro placas C870.

Tesla
clique para ampliar
Figura 5: Tesla S870 visto de outro ângulo.

O Tesla S870 é conectado a um servidor através de um cabo, que é basicamente uma extensão do PCI Express. Na Figura 6 você pode ver o conector disponível no S870 para sua conexão com um servidor e nas Figuras 7 e 8 você pode ver a placa PCI Express que é instalada no servidor.

Tesla
clique para ampliar
Figura 6: Conector Tesla S870.


clique para ampliar
Figura 7: Esta é a placa que vai dentro do servidor.

Tesla
clique para ampliar
Figura 8: Detalhe do conector.

Na Figura 9 você pode ver o cabo usado para conectar o Tesla S870 a um servidor.

Tesla
clique para ampliar
Figura 9: Este é o cabo usado para conectar o Tesla S870 a um servidor.

Tesla S870 em Ação

Durante a SC-07 (Supercomputing Show 2007, onde nós tiramos essas fotos) a nVidia mostrou um cluster contendo quatro sistemas Tesla S870 ligados em oito servidores para um total de 16 placas Tesla C870 ou cerca de 8 TFLOPS de desempenho disponível.

Tesla
clique para ampliar
Figura 10: Cluster com quatro sistemas Tesla S870 e oito servidores.

Tesla
clique para ampliar
Figura 11: Painel traseiro do cluster, a quantidade de cabos é realmente impressionante.

Este sistema estava rodando uma simulação biológica comparando o desempenho do cluster com e sem o sistema Tesla. Como você pode ver na Figura 12, o cluster obteve um ganho de desempenho de 9 vezes com o uso dos quatro sistemas S870.

Tesla
clique para ampliar
Figura 12: Ganho de desempenho oferecido por um sistema Tesla S870.

Originalmente em http://www.clubedohardware.com.br/artigos/1424

© 1996-2008, Clube do Hardware. Todos os direitos reservados.

É expressamente proibida a reprodução total ou parcial do conteúdo deste site e dos textos disponíveis, seja através de mídia eletrônica, impressa, ou qualquer outra forma de distribuição. Os infratores serão indiciados e punidos com base na lei nº 9.610 de 19/02/1998.

Não nos responsabilizamos por danos materiais e/ou morais de qualquer espécie promovidos pelo uso das informações contidas no Clube do Hardware.