O documento descreve o projeto de um acelerador de hardware para o algoritmo de distância euclidiana. O objetivo é melhorar o tempo de resposta do algoritmo K-means através do desenho de uma arquitetura para cálculo de distância euclidiana em hardware. A metodologia inclui requisitos, pesquisa, simulações usando o software Logisim e análise do ganho de desempenho com paralelismo.
Apresentação resumida sobre o Projeto Urucu/Manaus com a participaçao de Leonardo Feitosa, Jefferson Guimarães e Peter Mello feita durante a Mostra Tic 2007 sobre o gasoduto da Petrobras
Carlos Alexandre Calácio da Silva
"São poucos os que te ajudam no dia a dia, raros, e muitos os que te atrapalham, em excesso, por isso, de valor e agradeça quem te ofereça ajuda no mundo de hoje." (Carlos Calácio)
Apresentação resumida sobre o Projeto Urucu/Manaus com a participaçao de Leonardo Feitosa, Jefferson Guimarães e Peter Mello feita durante a Mostra Tic 2007 sobre o gasoduto da Petrobras
Carlos Alexandre Calácio da Silva
"São poucos os que te ajudam no dia a dia, raros, e muitos os que te atrapalham, em excesso, por isso, de valor e agradeça quem te ofereça ajuda no mundo de hoje." (Carlos Calácio)
Servidor com processamento paralelo utilizando CUDA aplicado em uma urna elet...DouglasAmmirantedaCu
O projeto consistiu no desenvolvimento de um servidor capaz de realizar a validação do CPF, contabilização dos votos, validação dos estados que enviaram os dados, dentre outras funcionalidades. O servidor foi desenvolvido com o uso das linguagens C, Python e CUDA.
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério NizzolaDextra Sistemas / Etec Itu
Dicas práticas de abordagem adotada em case de migração de legado e como melhorar aplicações legadas deixando sistemas mais estáveis para suportar o tempo de desenvolvimento de novas aplicações
Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...André Curvello
Slides da apresentação da minha defesa de mestrado na Pós-Graduação em Engenharia Elétrica da Escola de Engenharia de São Carlos, da USP.
O tema do meu mestrado é aceleração de desempenho de algoritmos de visão computacional em sistemas embarcados usando aceleração via OpenGL em GPUs embarcadas.
Material apresentado em webinário para alunos dos cursos de Engenharia da Universidade Federal do ABC e Universidade Federal de São Carlos, abordando conceitos de Inteligência Artificial aplicação de Machine Learning na Logística da ArcelorMittal Brasil.
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, BrazilHeron Carvalho
Palestra ministrada no SEMPET sobre o grupo de pesquisa em computação de alto desempenho pelo Prof. Francisco Heron de Carvalho Junior. Inclui estado-da-arte em arquiteturas e software para CAD.
Trabalho apresentado na 11ª Mostra da Produção Universitária, da FURG. Esse trabalho apresenta o começo da pesquisa, na qual foi pesquisado um benchmark que gerasse carga realista, para testes em um servidor.
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...André Leon S. Gradvohl
This is the second of a two part presentation about on line distributed systems for data stream processing. It was presented at VI Escola Regional de Alto Desempenho, UNESP, São José do Rio Preto-SP. File in Portuguese.
Servidor com processamento paralelo utilizando CUDA aplicado em uma urna elet...DouglasAmmirantedaCu
O projeto consistiu no desenvolvimento de um servidor capaz de realizar a validação do CPF, contabilização dos votos, validação dos estados que enviaram os dados, dentre outras funcionalidades. O servidor foi desenvolvido com o uso das linguagens C, Python e CUDA.
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério NizzolaDextra Sistemas / Etec Itu
Dicas práticas de abordagem adotada em case de migração de legado e como melhorar aplicações legadas deixando sistemas mais estáveis para suportar o tempo de desenvolvimento de novas aplicações
Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...André Curvello
Slides da apresentação da minha defesa de mestrado na Pós-Graduação em Engenharia Elétrica da Escola de Engenharia de São Carlos, da USP.
O tema do meu mestrado é aceleração de desempenho de algoritmos de visão computacional em sistemas embarcados usando aceleração via OpenGL em GPUs embarcadas.
Material apresentado em webinário para alunos dos cursos de Engenharia da Universidade Federal do ABC e Universidade Federal de São Carlos, abordando conceitos de Inteligência Artificial aplicação de Machine Learning na Logística da ArcelorMittal Brasil.
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, BrazilHeron Carvalho
Palestra ministrada no SEMPET sobre o grupo de pesquisa em computação de alto desempenho pelo Prof. Francisco Heron de Carvalho Junior. Inclui estado-da-arte em arquiteturas e software para CAD.
Trabalho apresentado na 11ª Mostra da Produção Universitária, da FURG. Esse trabalho apresenta o começo da pesquisa, na qual foi pesquisado um benchmark que gerasse carga realista, para testes em um servidor.
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...André Leon S. Gradvohl
This is the second of a two part presentation about on line distributed systems for data stream processing. It was presented at VI Escola Regional de Alto Desempenho, UNESP, São José do Rio Preto-SP. File in Portuguese.
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%