Proposta de Implementação Paralela de Algoritmos de Clusterização com Computação Reconfigurável
Sistema paralelos, FPGA, clusterização de dados, computação reconfigurável.
Este trabalho apresenta um estudo sob algoritmos de clusterização de dados implementados em hardware reconfigurável para aplicações em geral, objetivando aumentar a velocidade de processamento de dados. Algoritmos de clusterização têm sido amplamente aplicados para encontrar a correlação entre dados em diferentes áreas. No entanto, estes algoritmos normalmente implicam em uma alta complexidade de processamento e, além disso, a quantidade de dados que são armazenados atualmente é muito grande. Sendo assim, a necessidade de processamento de dados em alta velocidade para realizar sua análise tornou-se ainda mais importante, especialmente para aplicações em tempo real. Uma solução que foi adotada para aumentar a velocidade de processamento é o uso de técnicas paralelas implementadas em Field-Programmable Gate Arrays (FPGAs), que provou ser mais eficiente em comparação com sistemas sequenciais. Logo, este trabalho propõe a implementação totalmente paralela de algoritmos de clusterização de dados em FPGA para otimizar o tempo de processamento dos sistemas em diversas áreas, possibilitando aplicações para sistemas com quantidade massiva de dados. Uma nova proposta de implementação do algoritmo de clusterização K-means é apresentada, juntamente a análises dos resultados relacionados ao tempo de processamento (ou throughput) e à ocupação de área da FPGA (ou recurso de hardware) para diferentes parâmetros, atingindo taxas de processamento superiores a 53 milhões de dados por segundo. Comparações em relação ao estado da arte também são apresentadas, mostrando speedups superiores a 15573x. A implementação apresentada aqui aponta para uma nova direção associada a implementação de algoritmos de clusterização e poderá ser utilizada em outros algoritmos.