PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIANA.pptx
1. 1
PROJETO DE UM HARDWARE
ACELERADOR DO ALGORITMO
DE DISTÂNCIA EUCLIDIANA
Giovanni M. Guimarães
Graduado
Sílvio R. Fernandes de Araújo
Orientador
2. Contextualização do estudo
Gigantescos volumes
de dados são gerados
diariamente tornando
cada vez mais custoso
para os computadores
processá-los em
tempo hábil, razão
pela qual há uma
demanda por soluções
que possam acelerar
os processos
envolvidos.
2
(image by Offshore)
3. Objetivo do plano de trabalho
Melhorar o tempo de resposta do algoritmo
K-means.
Propor o desenho da arquitetura de um
acelerador do cálculo da distância euclidiana
em hardware;
Avaliar oportunidades de paralelismo e
pipeline;
Realizar uma análise da aceleração com base
nos resultados de testes simulados e cálculos
matemáticos;
3
4. Metodologia utilizada
4
Requisitos
Identificar os requisitos
que o acelerador deve
atender (exemplo:
Quant. e tamanho dos
dados, Quant. de
características, Quant.
de grupos e operações
que precisam e podem
ser aceleradas).
Pesquisa
Logisim
Revisão de literatura
sobre os principais
temas envolvidos (K-
means, distância
euclidiana, circuitos
digitais de aceleração,
máquina de estado,
datasets de testes)
Uso do software
Logisim para confecção
do desenho da
arquitetura e para
simulações de testes e
comparativos com
versões em software
(estudo de caso).
8. Principais achados da pesquisa
1 A importância da etapa de design
o Valida a arquitetura de modo a direcionar as próximas etapas de
implementação.
o Durante a investigação das escolhas de projeto foi
o Possibilita fazer diversos refinamentos até chegar ao modelo mais
adequado.
o Como forma de avaliação é possível obter resultados de simulação
(testbench).
8
9. Principais achados da pesquisa
2 Corretude
Para avaliação da confiabilidade da
arquitetura foram utilizados dois
conjuntos de dados (datasets) diferentes.
O primeiro é um dataset sintético com
distribuição uniforme 128 indivíduos de 2
características nos quatro quadrantes de
um plano cartesiano. No testbench com
esse dataset, como os dados eram bem
separados não houve diferença do
resultado esperado.
9
10. Principais achados da pesquisa
2 Corretude
No segundo foi utilizado o conhecido
dataset Iris, com 150 indivíduos de 4
características. Aqui 26 divergências
surgiram, sendo que as distâncias
calculadas pelo circuito estavam corretas.
Desses 26 indivíduos, 16 estão muito
próximos, podendo a diferença estar na
questão de arredondamento. As demais
se devem ao fato do K-means em software ter
apresentadoresultadosinconsistentes.
10
11. Principais achados da pesquisa
3 Análise do paralelismo
O ganho de desempenho do está
no uso de paralelismo e pipeline.
O aumento da quantidade de
indivíduos e iterações tornará a
eficácia do acelerador ainda mais
evidente, (chegando até 90%), em
comparação a soluções puramente
em sequenciais.
11
12. Principais achados da pesquisa
12
0
5
10
15
20
25
30
35
2 4 8 16 32
Qtd.
Clocks
Centroides/Características
Qtd. Clocks/Características
Qtd. Clocks/Centroides
1024 Indivíduos
Centroides
Características
Comparativos das variações de Centroides e Características (Autoria própria)
3 Análise do paralelismo
13. Conclusão
Desenvolver um hardware acelerador para funcionar como um coprocessador
de uma aplicação específica é um processo complexo que envolve várias etapas.
A primeira delas é o desenho da arquitetura, como vimos aqui.
Trabalhos Futuros
◦ Incluir dados de até 32 bits,
◦ Implementar módulo de atualização dos centroides,
◦ Implementar uma máquina de estados para controle das ações.
◦ Conversão em linguagem de descrição de hardware e síntese em FPGA.
13
14. Principais referências utilizadas
O trabalho de AQUINO NETO e FERNANDES apresenta uma solução heterogênea de hardware e software
para aceleração do cálculo de distância euclidiana ao quadrado para o algoritmo K-means. O acelerador em
hardware foi validado por meio de simulações em situações distintas utilizados dados sintéticos, podendo
constatar o atendimento de requisito funcional, em relação a corretude, mas também sugerindo um ganho de
desempenho em relação a uma versão sequencial. Pelas características de semelhança esse trabalho serviu de
semente para o nosso trabalho.
A. F. AQUINO NETO, S. R. FERNANDES. Acelerador do cálculo distância euclidiana em Hardware.
Trabalho de Conclusão de Curso, 2020. p. 1-11.
14
Notas do Editor
O tempo de resposta de alguns algoritmos pode ser proibitivo se o volume de dados for muito grande.
Explicar (rapidamente) como o algoritmo de K-means funciona.
O tempo de resposta para esse tipo de algoritmo pode ser proibitivo se o volume de dados for muito grande.
É possível desenvolver um hardware específico para um dado problema/algoritmo usando FPGAs (arquitetura reconfiguráveis)
Para seu desenvolvimento é necessário começar pelo seu design (e este foi o foco da sua pesquisa)
Existem outras soluções em hardware (usando FPGA), mas em nenhuma das encontradas existe a possibilidade de configuração dos parâmetros em tempo de execução, o que torna mais flexível para diversos problemas diferentes.
Nós partimos de uma ideia de arquitetura desenvolvida pelo mesmo grupo em outro trabalho de IC, aprimorando o paralelismo e parâmetros de configuração.
Destacar onde o paralelismo funciona (real e pipeline)
Destacar onde o paralelismo funciona (real e pipeline)
Destacar onde o paralelismo funciona (real e pipeline)
Teste 15
Indivíduos: 65536 - Características: 4 - Centroides: 4
Ciclos: 262177 - Linear: 2424832 - Eficiência: redução de 89,2%