SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
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
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)
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
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).
Metodologia utilizada
5
A arquitetura desenhada no Logisim
Metodologia utilizada
6
A arquitetura desenhada no Logisim
Paralelismo real
Metodologia utilizada
7
A arquitetura desenhada no Logisim
Pipeline
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
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
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
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
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
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
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

Mais conteúdo relacionado

Semelhante a Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIANA.pptx

Curso de Inverno 2014 - Simuladores de Satélite
Curso de Inverno 2014 - Simuladores de SatéliteCurso de Inverno 2014 - Simuladores de Satélite
Curso de Inverno 2014 - Simuladores de SatéliteChristopher Cerqueira
 
Servidor com processamento paralelo utilizando CUDA aplicado em uma urna elet...
Servidor com processamento paralelo utilizando CUDA aplicado em uma urna elet...Servidor com processamento paralelo utilizando CUDA aplicado em uma urna elet...
Servidor com processamento paralelo utilizando CUDA aplicado em uma urna elet...DouglasAmmirantedaCu
 
Utilização de traços de execução para migração de aplicações para a nuvem
Utilização de traços de execução para migração de aplicações para a nuvemUtilização de traços de execução para migração de aplicações para a nuvem
Utilização de traços de execução para migração de aplicações para a nuvemOtávio Carvalho
 
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério NizzolaTdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério NizzolaDextra Sistemas / Etec Itu
 
Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...
Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...
Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...André Curvello
 
IA e Aplicação em Logística na ArcelorMittal Brasil - UFABC e UFSCar
IA e Aplicação em Logística na ArcelorMittal Brasil - UFABC e UFSCarIA e Aplicação em Logística na ArcelorMittal Brasil - UFABC e UFSCar
IA e Aplicação em Logística na ArcelorMittal Brasil - UFABC e UFSCarMarco Antônio Aburachid Tavares
 
Planejamento E Gerenciamento de Capacidade Para Sistemas Distribuídos
Planejamento E Gerenciamento de Capacidade Para Sistemas DistribuídosPlanejamento E Gerenciamento de Capacidade Para Sistemas Distribuídos
Planejamento E Gerenciamento de Capacidade Para Sistemas DistribuídosRodrigo Campos
 
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, BrazilResearch Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, BrazilHeron Carvalho
 
Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...
Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...
Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...Ricardo Ferreira
 
Customer Success Story: Brisa
Customer Success Story: Brisa Customer Success Story: Brisa
Customer Success Story: Brisa Xpand IT
 
Seminário Aese - Definição das ferramentas do LSS
Seminário Aese - Definição das ferramentas do LSSSeminário Aese - Definição das ferramentas do LSS
Seminário Aese - Definição das ferramentas do LSSPedrodosSantos
 
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...André Leon S. Gradvohl
 
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...Carlos Raniery
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE  para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE  para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWMatheus Costa
 

Semelhante a Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIANA.pptx (20)

Curso de Inverno 2014 - Simuladores de Satélite
Curso de Inverno 2014 - Simuladores de SatéliteCurso de Inverno 2014 - Simuladores de Satélite
Curso de Inverno 2014 - Simuladores de Satélite
 
Servidor com processamento paralelo utilizando CUDA aplicado em uma urna elet...
Servidor com processamento paralelo utilizando CUDA aplicado em uma urna elet...Servidor com processamento paralelo utilizando CUDA aplicado em uma urna elet...
Servidor com processamento paralelo utilizando CUDA aplicado em uma urna elet...
 
Utilização de traços de execução para migração de aplicações para a nuvem
Utilização de traços de execução para migração de aplicações para a nuvemUtilização de traços de execução para migração de aplicações para a nuvem
Utilização de traços de execução para migração de aplicações para a nuvem
 
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério NizzolaTdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
 
Planejamento rede
Planejamento rede Planejamento rede
Planejamento rede
 
Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...
Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...
Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional e...
 
Apresentação cfd
Apresentação cfdApresentação cfd
Apresentação cfd
 
IA e Aplicação em Logística na ArcelorMittal Brasil - UFABC e UFSCar
IA e Aplicação em Logística na ArcelorMittal Brasil - UFABC e UFSCarIA e Aplicação em Logística na ArcelorMittal Brasil - UFABC e UFSCar
IA e Aplicação em Logística na ArcelorMittal Brasil - UFABC e UFSCar
 
Planejamento E Gerenciamento de Capacidade Para Sistemas Distribuídos
Planejamento E Gerenciamento de Capacidade Para Sistemas DistribuídosPlanejamento E Gerenciamento de Capacidade Para Sistemas Distribuídos
Planejamento E Gerenciamento de Capacidade Para Sistemas Distribuídos
 
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, BrazilResearch Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
 
02a medicao
02a medicao02a medicao
02a medicao
 
Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...
Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...
Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...
 
Credes e CEsg
Credes e CEsgCredes e CEsg
Credes e CEsg
 
Customer Success Story: Brisa
Customer Success Story: Brisa Customer Success Story: Brisa
Customer Success Story: Brisa
 
Seminário Aese - Definição das ferramentas do LSS
Seminário Aese - Definição das ferramentas do LSSSeminário Aese - Definição das ferramentas do LSS
Seminário Aese - Definição das ferramentas do LSS
 
Mpu 2012 ppt
Mpu 2012 pptMpu 2012 ppt
Mpu 2012 ppt
 
Dfd
DfdDfd
Dfd
 
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
 
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
Mashups e Modelagem Quantitativa Usando Padrões de Mashup com foco no Gerenci...
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE  para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE  para produtos da Lacertae SW
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).
  • 6. Metodologia utilizada 6 A arquitetura desenhada no Logisim Paralelismo real
  • 7. Metodologia utilizada 7 A arquitetura desenhada no Logisim Pipeline
  • 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

  1. O tempo de resposta de alguns algoritmos pode ser proibitivo se o volume de dados for muito grande.
  2. 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)
  3. 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.
  4. Destacar onde o paralelismo funciona (real e pipeline)
  5. Destacar onde o paralelismo funciona (real e pipeline)
  6. Destacar onde o paralelismo funciona (real e pipeline)
  7. Teste 15 Indivíduos: 65536 - Características: 4 - Centroides: 4 Ciclos: 262177 - Linear: 2424832 - Eficiência: redução de 89,2%