Exploração do Espaço de Projeto do Dragão Limão Renato Hentschke renato@inf.ufrgs.br Exploração do espaço de projeto de aplicações descritas em um grafo. Baseia-se em uma biblioteca de componentes. Usa algoritmos genéticos para realizar a busca.
Roteiro Fluxo da ferramenta Exemplo de entrada Método de busca Exemplo de saída Curvas de Paretto Trabalhos Futuros
Parâmetros do Algoritmo GUI Serial ou Paralelo Parâmetros do Algoritmo Genético Pesos de Otimização Potência, Atraso, Área Arquivos Trace do Programa Mapeado Componentes Curvas De Paretto (2D e 3D) Trace da Aplicação
Trace da Aplicação 1 Seno 3 Sort 3 Sort 15 Tabela 1 Cos 15 RotinaX
Entrada de Dados Aplicação pode ser executada em paralelo ou não. N Proc. Tipo de solução desejada em área, potência e timing. Pesos Busca Rotinas Biblioteca Escolha das variáveis para encontrar curvas de Paretto. Paretto Configuração do algoritmo genético: tamanho da população, taxa de crossover/mutação, etc. Alg. Gen. Grafo Aplicação
Mecanismo de Busca Algoritmo Mapeamento Genético Inicial Solução “ótima” Busca Exaustiva
Saída do programa 1 SenoLUT 3 QuickSort 3 MergeSort 15 TabelaHash 1 CosLUT 15 RotinaX_ImplA 1 Seno 3 Sort 3 Sort 15 Tabela 1 Cos 15 RotinaX
Curvas de Paretto (2D x 3D) 1) Escolha de duas variáveis entre área, potência e timing. 1) Escolha a ordem das três variáveis. Ex: timing e potência Ex: timing, potência e área 2) Durante a busca, guarda a potência ótima encontrada para cada variação de timing. 2) Durante a busca, guarda a área ótima encontrada para cada par timing/potência. 3) Ao final, têm-se o mapeamento que atinge a mínima área para cada variação de timing/potência. 3) Ao final, têm-se o mapeamento que atinge a mínima potência para cada variação de timing.
Curvas de Paretto (2D x 3D) Power x Timing Power x Timing x Area
Curvas de Paretto (Busca) Mapeamento Inicial Paretto Algoritmo Genético Encontra todos os pontos da curva garantidamente Encontra os “principais” pontos da curva. Solução “ótima” Busca Exaustiva O tempo de CPU das buscas aumenta cerca de 20% ao procurar pelas curvas de Paretto Paretto
Curvas de Paretto (saída) 1 SenoLUT 3 QuickSort 3 MergeSort 15 TabelaHash 1 CosLUT 15 RotinaX_ImplA
Trabalhos Futuros Usar a ferramenta com exemplos reais de aplicações Técnicas de busca mais rápidas Número fixo de processadores