Tenho acompanhado com certo afinco três tecnologias: PLINQ, CUDA e HADOOP. O meu interesse existe pois todas essas tecnologias são de alguma forma uma solução para o processamento paralelo. Afinal, como processar toda a montanha de dados que nos circula (tema mais do que recorrente neste blog)?
Essas tecnologias usam abordagens diferentes para distribuir o processamento: PLINQ: CPUs locais; CUDA: GPUs; e HADOOP: SERVERs (CPUs distribuídas).
O PLINQ (e sua infra-estrutura) tenta usar os processadores disponíveis em uma CPU (normalmente de 2 a 8) para realizar o processamento paralelo.
Outra forma de processar dados é utilizando a GPU do seu computador (e você pensou que ela servia só para games?). CUDA é a arquitetura criada pela NVidia que auxilia a distribuição do processamento entre esses pequenos processadores (norma lmente 128!).
Já o Hadoop auxilia distribuir o processamento entre muitos computadores. E eles podem ser muitos!
O interessante em estudar essas tecnologias é que os conceitos (particionamento, shared resources, locks, etc.) são válidos para os três cenários. E muito dos problemas também são os mesmos. Acho que o principal é a dificuldade em abstrair o fato de existir o processamento paralelo.
Bom, para os interessados em processamento distribuído, paralelo, cloud, grid e afins, fica ai a dica de estudo.
0 comentários:
Postar um comentário