Técnicas de Compressão de Rastos de Programas

 

Objectivos: Desenvolver uma ferramenta que permita extrair um conjunto de estatísticas de um rasto de execução de um programa num processador. Esta ferramenta deverá depois ser comprimir o rasto original e ser capaz de gerar um rasto com uma dimensão muito reduzida, mas que aproxime o melhor possível alguns parâmetros estatísticos do rasto original.

Descrição: A execução de um programa num processador gera uma sequência (ou rasto) de acessos a diferentes barramentos do sistema. Na forma mais simples, apenas existirão um barramento de dados e um barramento de endereços. O rasto no barramento de dados corresponderá à sequência de valores de dados ou códigos de instruções lidas da memória. No barramento de endereços, o rasto consistirá na sequência de endereços de memória acedidos.

Estes rastos podem ser utilizados para diversos fins. No caso deste trabalho, o interesse dos rastos reside na análise do consumo de energia do sistema. Acontece que, para um programa minimamente interessante, a dimensão destes rastos é muito elevada, tornando o processo de estimação do consumo por vezes demasiado moroso.

Pretende-se neste trabalho desenvolver algoritmos que permitam a geração de um rasto de dimensão significativamente inferior que a original, mas que o comprima de forma a aproximar o melhor possível um conjunto de propriedades estatísticas relevantes ao consumo de energia.

Referências: Stream-based Compression

Trace Compression

 

Local: Este trabalho será realizado no INESC-ID, no grupo ALGOS.

Orientador: José C. Monteiro
jcm@inesc-id.pt
213100283