1 de 61 Um estudo sobre consumo energético na indexação de conteúdo visual com síntese em alto nível usando hardware reconfigurável Elmar Uwe Kurt Melcher (Orientador) Universidade Federal de Campina Grande 06 de Setembro de 2012 1 de 61
Agenda 2 de 61 Guaautpi 2 de 61
3 de 61 3 de 61
Introdução 4 de 61 4 de 61
Introdução 5 de 61 Surgimento de perguntas Como indexar e recuperar imagens dentre bilhões de outras imagens? Quais alternativas tecnológicas podem ser utilizadas para acelerar o processo de indexação sem comprometer o custo da solução? 5 de 61
Introdução 6 de 61 A recuperação de imagens pode ser feita a partir duas formas: Metadados previamente anotados; Metadados obtidos por extração automática de características; 6 de 61
Introdução 7 de 61 Metadados previamente anotados 7 de 61
Introdução 8 de 61 Metadados obtidos por extração automática de características 8 de 61
Introdução 9 de 61 A otimização dos algoritmos utilizados na indexação apresenta uma série de complicações; 9 de 61
Introdução 10 de 61 Trabalho como 1 utiliza computação em nuvem para prover baixo custo computacional, decremento no tempo de resposta do sistema e redução dos custos financeiros; Contudo, nos últimos anos muita atenção tem sido dada ao impacto ambiental causada com o uso dos computadores desktop e servidores. 1 Z. Yang, S. Kamata, and A. Ahrary. NIR: Content based image retrieval on cloud computing. In Intelligent Computing and Intelligent Systems, 2009. ICIS 2009. IEEE International Conference on, volume 3, pages 556-559. IEEE, 2009. 10 de 61
Introdução 11 de 61 Fabricação e eliminação dos computadores; 11 de 61
Introdução 12 de 61 Consumo de energia; 12 de 61
Introdução 13 de 61 Em 2008, o valor gasto no contrato anual de energia da empresa Google foi maior do que toda infraestrutura da empresa, exceto terrenos e prédios; Responsável pelo consumo de energia de 2% do total gasto no mundo; Estima-se que em 2030 a internet irá aumentar em 30% o consumo atual de energia devido a demanda e popularização dos componentes e serviços conectados à internet; 13 de 61
Introdução 14 de 61 Soluções utilizadas por grandes empresas; 14 de 61
Introdução 15 de 61 Soluções utilizadas por grandes empresas; 15 de 61
Introdução 16 de 61 Surgimento de iniciativas como a Climate Savers Computing Initiative 2 ; Prover tecnologias inteligentes; Reduzir o consumo energético dos computadores e periféricos; 2 Climate Savers Computing Initiative. Disponível em: http://www.climatesaverscomputing.org 16 de 61
17 de 61 17 de 61
18 de 61 Comparar duas implementações do mesmo algoritmo com uso de diferentes tecnologias; 18 de 61
Plataforma Genérica x Dedicada 19 de 61 Nuvem Plataforma PC Ethernet Plataforma FPGA 19 de 61
20 de 61 20 de 61
1 21 de 61 apresenta uma abordagem para recuperar imagens a partir de características visuais no cenário da World Wide Web; Utiliza da técnica Fast Multiresolution Image Query 2 ; uso da ferramenta matemática wavelet de Haar para decompor imagens; 1 F., C. A. P. Filho, and R.W. M. Araujo. : Um ambiente para indexação e recuperação de imagens da web sem redundância visual. In WebMedia 2010 - Artigos completos e Resumos, pages 14, Belo Horizonte, 2010. 2 Charles E. Jacobs, Adam Finkelstein, and David H. Salesin. Fast multiresolution image querying. Proceedings of the 22nd annual conference on Computer graphics and interactive techniques - SIGGRAPH 95, 95(January):277286, 1995. 21 de 61
Arquitetura 22 de 61 usuário Base multimídia Armazenamento da assinatura Geração da assinatura da imagem Base das assinatura das imagens Pesquisa imagem Extração de características visuais Extração de Imagens Extração de características visuais Comparação de assinatura de imagem Geração da assinatura da imagem TUPI GUARANI 22 de 61
Extração das características visuais 23 de 61 Espaço de cor YIQ; Resolução 128x128 pixels; Wavelet de Haar com decomposição padrão; 23 de 61
Implementação 24 de 61 Linguagem de programação Java; SGBD Postgres; SO Windows XP; 24 de 61
Interface do sistema 25 de 61 25 de 61
26 de 61 26 de 61
Aspectos funcionais 27 de 61 RGB/ YIQ Nuvem Redimensionamento (128x128) Pré-processamento Base de imagens 12c263c63dh18 X2612xh6hs661 Assinaturas Extração das características Ethernet Plataforma PC Geração da assinatura Normalizacao Transformada Wavelet Extração dos coeficientes 27 de 61
28 de 61 Intel Core 2 Duo, 2.4 GHz com 3GB de memória RAM; 1200 imagens pré-processadas com resolução 128x128 pixels; 28 de 61
Procedimentos realizados na plataforma PC 29 de 61 Medição do tempo Ethernet Plataforma PC Medidor Potência 29 de 61
Sumarização do tempo de processamento (s) 30 de 61 Mínimo 1 o Quartil Mediana Média 3 o Quartil Máximo 0,0470 0,078 0,0935 0,0897 0,0940 0,1870 30 de 61
Consumo energético 31 de 61 E P C = 103W 0, 0935s 9, 63J (1) 31 de 61
32 de 61 32 de 61
Pré-requesitos 33 de 61 Entendimento dos Circuitos digitais, Computação Reconfigurável e ASICs; Níveis de abstração: Comportamental, Estrutural, Lógica e Físico; Síntese de Alto Nível (C/C++) x Linguagem de descrição de hardware (VHDL, System Verilog); 33 de 61
Desenvolvimento 34 de 61 RGB/ YIQ Nuvem Redimensionamento (128x128) Pré-processamento Base de imagens 12c263c63dh18 X2612xh6hs661 Assinaturas Extração das características Ethernet Plataforma FPGA Geração da assinatura Normalizacao Transformada Wavelet Extração dos coeficientes 34 de 61
Simulação Funcional 35 de 61 Ambiente de simulação com a interface utilizada no Catapult C; Biblioteca Catapult Algorithm C Biblioteca Padrao (GCC) C++ Simulação Funcional 35 de 61
Simulação Funcional 36 de 61 36 de 61
Precisão de bits 37 de 61 Ponto Flutuante x Ponto Fixo; Mapeamento das variáveis (valores máximo e mínimo); Uso de 9 bits para parte inteira com 1 de sinal; Parte francionária tratamentos de 8 a 14 bits; Comparativo entre os resultados com uso de ponto flutuante e ponto fixo; 60 valores da assinatura da imagem (pares ordenados); 37 de 61
Sumarização dos experimentos (erros na assinatura) 38 de 61 Quantidade de bits T18 T19 T20 T21 T22 T23 T24 Média Geral Média (µ) 5.51 3.20 1.79 0.92 0.50 0.28 0.19 1.77 Desvio Padrão (σ) 4.87 3.58 2.55 1.76 1.33 0.98 0.96 38 de 61
Análise estatística 39 de 61 39 de 61
Análise estatística 40 de 61 40 de 61
Análise estatística 41 de 61 Teste de normalidade; Shapiro; Anderson Darlin; Ausência de normalidade nos dados; Uso de testes não paramétricos; kruskal-wallis; Kruskal-Wallis Multiple-Comparison; 41 de 61
Análise estatística 42 de 61 Kruskal-Wallis Multiple-Comparison; 42 de 61
Síntese de Alto Nível 43 de 61 Uso da ferramenta Catapult C; Adequar as restrições impostas pela ferramenta; Defini-se o tipo de arquitetura e os recursos utilizados; 43 de 61
Síntese de Alto Nível 44 de 61 44 de 61
Síntese de Alto Nível 45 de 61 Portas da interface Variáveis mapeada em memória Laços 45 de 61
Síntese de Alto Nível 46 de 61 46 de 61
Síntese Lógica 47 de 61 Utilização da ferramenta Altera Quartus com uso do código RTL gerado pela ferramenta Catapult C; Refinamento da descrição RTL; Artefato de saída: Netlist; 47 de 61
Síntese Lógica 48 de 61 PowerPlay Power Analysis Tool para fornecer a potência do FPGA; Num. Bits Potência (W) Tempo (ms) Num. Elementos Lógicos 18 0.1979 16.4 5.295 19 0.1982 16.4 5.730 20 0.1984 16.4 5.796 21 0.1986 16.4 5.969 22 0.1989 16.4 6.026 23 0.1992 16.5 6.303 24 0.1994 16.5 6.682 48 de 61
Potência do FPGA 49 de 61 E F P GA = 0, 199W 0, 0164s 0, 0033J (2) 49 de 61
Potência total 50 de 61 A potência do FPGA; Controlador da interface Ethernet; Fonte chaveada; 50 de 61
Latência controlador Ethernet - Entrada 51 de 61 16.384 valores em cada canal de cor x 16 bits (YIQ); 786.432 bits; Largura de banda 80 Mb/s Total 0,009 segundos; 51 de 61
Latência controlador Ethernet - Saída 52 de 61 982 bits que formam a assinatura; Largura de banda 80 Mb/s Total 0,000012 segundos; 52 de 61
Energia total 53 de 61 Potência (W) Tempo (s) Energia (J) FPGA 0,597 0,0164 0,0099 Ethernet (Entrada) 0,125 0,0090 0,0011 Ethernet (Saída) 0,303 0,000012 0,000004 Ethernet (Standby) 0,069 0,0075 0,0005 Total 0,0115 Considera-se que 10% da potência utilizada na fonte chaveada são desperdiçadas na forma de calor. Portanto, o consumo total energético é de 0,0127 J. 53 de 61
54 de 61 54 de 61
55 de 61 Nesse trabalho foi realizado um estudo da utilização da plataforma FPGA como alternativa energética aos computadores PC. Um estudo de caso foi aplicado ao domínio da computação visual. 55 de 61
Resultados 56 de 61 Plataforma Potência (W) Clock (MHz) Energia (J) Ciclos (milhões) Energia/ciclo (nj) Transistores (milhões) PC 103 2.400 9,63 225 43 290 FPGA 0,6 50 0,0127 2,5 12 21 O consumo energético na plataforma PC foi de 758 vezes maior que a plataforma FPGA; Consumo quatro vezes maior a cada ciclo; 56 de 61
Delimitação 57 de 61 Metodologia de verificação; Execução do projeto desenvolvido; 57 de 61
Trabalhos Futuros 58 de 61 Comparar outras plataformas: Notebook, PDA, GPU; Implementar o software em C no lugar de Java; Otimizar os algoritmos implementados em ambas as plataformas; Implementar outros algoritmos; 58 de 61
Perguntas ou sugestões? 59 de 61 Obrigado! 59 de 61
Simulação Funcional 60 de 61 60 de 61
Simulação RTL 61 de 61 61 de 61