[ --- The Bug! Magazine _____ _ ___ _ /__ \ |__ ___ / __\_ _ __ _ / \ / /\/ '_ \ / _ \ /__\// | | |/ _` |/ / / / | | | | __/ / \/ \ |_| | (_| /\_/ \/ |_| |_|\___| \_____/\__,_|\__, \/ |___/ [ M . A . G . A . Z . I . N . E ] [ Numero 0x04 <---> Revisao 0x01 <---> Artigo 0x08 ] .> 23 de Junho de 2009, .> The Bug! Magazine < staff [at] thebugmagazine [dot] org > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The Bug! Magazine entrevista: Tobias Becker +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ .> 3 de Abril de 2009, [ -- Introducao Um de nossos correspondentes esteve na V Southern Programmable Logic Confer- ence, e entrevistou Tobias Becker, que fez uma apresentacao durante a conferen- cia a respeito do trabalho "CUBE: A 512-FPGA CLUSTER" [1], desenvolvido no mes- mo grupo de pesquisa do qual ele faz parte. FPGAs sao dispositivos semicondutores que podem ser configurados pelo projetis- ta apos a fabricacao. Ou seja, um projetista que deseje implementar um circuito logico digital pode comprar uma FPGA e configura-la ao inves de mandar fabricar um circuito integrado "tradicional" (ASIC ou custom IC). Para permitir essa configurabilidade, as FPGAs possuem diversos blocos logicos e uma hierarquia de interconexoes que podem ser ativadas e desativadas externamente. A vantagem e' um custo extremamente reduzido para se construir circuitos logicos em baixo vo- lume, e a possibilidade de se modificar o circuito e reconfigura-lo diversas vezes. O preco que se paga e' uma certa perda de performance e aumento de con- sumo de energia e de area ocupada com relacao a se utilizar um ASIC ou custom IC equivalente. O CUBE e' um cluster composto por 512 FPGAs que podem ser todas reconfiguradas ao mesmo tempo para atuar como um mesmo circuito logico digital em um impressi- onante intervalo de 3 a 4 segundos. O circuito configurado pelo usuario nas FPGAs do CUBE pode operar a um clock de 200 MHz. Tal clock e' relativamente baixo se comparado com o clock dos processadores modernos, mas e' suficiente para massacra-los em diversas aplicacoes devido ao uso de implementacoes de al- goritmos em hardware e devido ao paralelismo massivo possibilitado pelo uso de circuitos digitais para resolver problemas ao inves do uso de software. A aplicacao que foi utilizada para testes do CUBE foi uma aplicacao de busca de chaves, ou seja, quebra de criptografia, que atraiu o nosso interesse. O alvo era a criptografia RC4, utilizando chaves de 40 bits. Em cada FPGA foi possivel colocar 96 circuitos de quebra de criptografia RC4 em paralelo. Dessa forma, havia um total de 49152 circuitos operando em paralelo no CUBE para esta apli- cacao. A tabela abaixo compara uma unica placa de 64 FPGAs (das 8 que compoem o CUBE) com o CUBE inteiro e com um cluster de 180 maquinas Xeon Quad-Core executando a mesma aplicacao de quebra de chaves RC4 de 40 bits. +-------------------+-------------------+-------------------------+ | Placa com | CUBE | Cluster Xeon Quad-Core | | 64 FPGAs | (512 FPGAs) | (180 maquinas) | +-----------+-------------------+-------------------+-------------------------+ | Tempo de | | | | | busca da | 1460 | 183 | 1460 | | chave (s) | | | | +-----------+-------------------+-------------------+-------------------------+ | Potencia | | | 71800 | | consumida | 104 | 832 | (sem contar a | | (W) | | | refrigeracao) | +-----------+-------------------+-------------------+-------------------------+ | Preco | | | | | (British | 8721 | 77346 | 205020 | | pounds) | | | | +-----------+-------------------+-------------------+-------------------------+ | Espaco | | | | | ocupado | 1 | 9 | 180 | | (u) | | | | +-----------+-------------------+-------------------+-------------------------+ [1] CUBE: A 512-FPGA CLUSTER. http://comparch.doc.ic.ac.uk/publications/files/osk09spl.pdf [ --- Note for English speakers The english version can be found after the end of the translated one. [ --- Versao traduzida (Portugues) TB!: Conte-me mais sobre o seu grupo de pesquisa no Imperial College London e sobre a equipe que desenvolveu o CUBE. Tobias: O grupo de pesquisa em geral consiste de membros que estao trabalhando em diversas areas usando computacao reconfiguravel. Nos fazemos coisas como otimizacao de bit-width, computacao financeira, entao ha' uma grande variedade de projetos nos quais trabalhamos em geral. O projeto CUBE em particular foi basicamente apenas uma nova platafor- ma. Nos queriamos ver o que poderiamos fazer se voce parasse para ra- ciocinar, e construisse algo barato para uma aplicacao em particular. O grupo que desenvolveu o CUBE consiste de sete membros. Alguns traba- lham em projeto de hardware, como as camadas da placa de circuito im- presso, outros trabalham em ferramentas de programacao, outros traba- lham em aplicacoes tambem. TB!: Na apresentacao sobre o CUBE voce citou o COPACOBANA, que e' projetado para quebrar DES, e e' composto por 128 FPGAs Virtex-4. O CUBE e' com- posto por 512 FPGAs. O CUBE e' o maior cluster de FPGA do qual voce tem noticia no mundo? Tobias: Bom, eu nao sei. Parece-me que e' certamente um dos maiores. Eu pesso- almente nao conheco nenhum projeto que tenha uma arquitetura maior. Entao eu diria que ele e' provavelmente um dos maiores, se nao o mai- or, especialmente onde as FPGAs estejam conectadas de maneira proxima em um unico sistema. [*] TB!: O artigo sobre o CUBE diz que uma das maiores razoes para criar canais rapidos de comunicacao entre as FPGAs e' que a maioria dos algoritmos distribuidos requer uma grande quantidade de comunicacao. Entretanto, a busca de chaves e' uma excecao. O cluster de FPGAs poderia ser feito mais barato caso alguem desejasse somente aplicacoes de busca de cha- ves? Tobias: Bom, o CUBE e' projetado para baixo custo em primeiro lugar, entao os canais de comunicacao sao de custo bastante baixo. Entao, quero dizer, nos basicamente apenas conectamos as FPGAs diretamente, e entao conec- tamos as placas com cabo flat barato. Entao ele nao e' muito caro da forma como e' no momento. Eu nao acredito que haveria potencial para uma maior reducao de custo se voce otimizasse ainda mais para esse ti- po de aplicacao. Eu acho que ele e' bastante barato da forma como e' no momento. TB!: Organizacoes maiores, como a NSA nos Estados Unidos, podem ter dinhei- ro para fazer ASIC ou custom ICs para busca de chaves. Qual aumento de velocidade voce acha que eles conseguiriam ao utilizar essa abordagem? Tobias: Busca de chaves e' uma aplicacao onde geralmente ha' aumento de velo- cidade por ter mais hardware. Entao basicamente quanto mais ASICs ou FPGAs voce tem, melhor. Entao basicamente isso depende apenas de quan- to dinheiro voce tem, e de quanto voce esta' disposto a fazer estes aceleradores personalizados para o problema. Entao eu nao acho que exista um limite particular para o que voce possa fazer. Voce pode apenas escalar acima, comprar mais FPGAs, comprar mais ASICs, e obter mais aceleracao. TB!: Hoje o CUDA da NVIDIA e' bastante popular para aplicacoes de computa- cao paralela. Voce poderia citar algumas vantagens e desvantagens de usar uma abordagem baseada em projeto de hardware, por exemplo FPGAs, ao inves de usar o CUDA? Tobias: Todo o problema de projeto esta' em um nivel completamente diferente de complexidade aqui, entao o que nos temos e' uma maquina massivamen- te paralela gigante, que e' realmente boa para diversas coisas. O que nos nao temos no momento e' um ambiente de programacao que permita que voce faca uma especificacao de alto nivel. Entao essa e' uma boa ques- tao, porque eu acho que as FPGAs em geral precisariam de alguma coisa como o CUDA, por exemplo, se os projetistas desejassem fazer codigo de alto nivel. Entao seria bom ter bibliotecas para a maquina paralela de FPGAs para desenvolver as aplicacoes, ao inves de usar VHDL. Para essa aplicacao em particular, usar VHDL esta' otimo, porque isso e' somente um acelerador otimizado, um acelerador para quebra de codi- gos, que voce so' tem que replicar na maioria das vezes. Mas para ou- tras aplicacoes nos provavelmente precisariamos de um bom ambiente de alto nivel para FPGAs, assim como o CUDA e' para as GPUs. [*] Tobias acrescentou, apos a entrevista, que o CERN utiliza muitas FPGAs no LHC, provavelmente bem mais que o CUBE, mas este e' outro tipo de aplica- cao. [ --- English version TB!: Tell me more about your research group at the Imperial College London and about the team who designed the CUBE. Tobias: The research group in general consists of members that are working in several areas using reconfigurable computing. We do things like bit- width optimisation, financial computation, so there are a range of projects that we work on the general. The CUBE project in particular was just basically a new platform. We wanted to see what we can do if you stop and scratch, and build some- thing affordable for a particular application. The group who designed CUBE consists of seven members. Some work more in hardware design, like the PCB layers, some work on programming tools, some work in applications as well. TB!: In the CUBE presentation you cited the COPACOBANA, that is designed for breaking DES, and is composed by 128 Virtex-4 FPGAs. The CUBE is composed by 512 FPGAs. Is the CUBE the biggest FPGA cluster you have notice in the world? Tobias: Well, I don't know. It seems to me it is certainly one of the biggest ones. I personally don't know of any project that has a bigger archi- tecture. So I would say that it is probably one of the biggest, if not the biggest, specially where FPGAs are closely connected together in one system. [*] TB!: The CUBE article says that one of the major reasons to make fast com- munication channels among the FPGAs is that most distributed algo- rithms require a big amount of communication. However, key searching is an exception. Could the FPGA cluster be made cheaper if one only wants key searching applications? Tobias: Well, the CUBE is designed for low cost in the first place, so the communication channels are very low cost. So I mean, we just basically connect FPGAs directly together, and then connect the boards with af- fordable ribbon cable. So it's not very expensive as it is at the mo- ment. I don't think there would be any potential for further cost re- duction if you just optimize it any further for that. I think it is very inexpensive as it is at the moment. TB!: Bigger organisations, like the NSA in the USA, may have money to do ASIC or custom ICs for key searching. Which speed up do you think they would get by using this approach? Tobias: Key searching is an application where there can be usually speed up by having more hardware. So basically the more ASICs or FPGAs you have, the better it is. So basically it just depends on how much money you have, and how much you are willing to do this custom accelerators for the problem. So I don't think there is a particular limit on what you can do. You can just scale up, buy more FPGAs, buy more ASICs, and get more acceleration. TB!: Today the NVIDIA CUDA is very widespread for parallel computing appli- cations. Could you cite some advantages and disadvantages in using a hardware design based approach, for example FPGAs, over using CUDA? Tobias: The entire design problem is at a whole different level of complexity here, so what we have is a big massive parallel machine, which is re- ally good for a number of things. What we don't have at the moment is a programming environment that lets you do high level specification. So this is a good question, because I think FPGAs in general would need something like CUDA for example if designers want to do high lev- el code. Then it would be good to have libraries for the parallel FPGA machine to design the applications, instead of using VHDL. For this particular application using VHDL is fine because it is just an optimized accelerator, a code breaking accelerator, that we can just replicate most of the times. But for other applications we would probably need a good high-level environment for FPGAs, just like CUDA is for GPUs. [*] Tobias added after the interview that the CERN uses a lot of FPGAs in the LHC, probably much more than the CUBE, but that is another kind of appli- cation.