4 research outputs found

    Mapping Data and Code into Scratchpads from Relocatable Binaries

    No full text

    José Luís Almada Güntzel

    Get PDF

    Alocação de dados e de código em memórias embarcadas: uma aborgagem pós-compilação

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2010Memórias do tipo scratchpad (SPMs) são alternativas promissoras para sistemas embarcados energeticamente eficientes. Muitas das técnicas de otimização para o mapeamento de dados e código para SPMs assumem a disponibilidade do código-fonte da aplicação. Porém, o desenvolvimento de software embarcado deve lidar com código legado, bibliotecas de ter- ceiros e blocos de propriedade intelectual (IPs) para os quais podem estar disponíveis somente os arquivos-binários. As poucas técnicas que reali- zam otimizações diretamente em arquivos binários operam em arquivos executáveis e limitam-se a tratar somente código ou somente dados. Este trabalho propõe uma nova técnica que pode alocar tanto código quanto dados para a SPM. Operando diretamente em binários, a técnica permite que elementos encapsulados em bibliotecas façam parte do ma- peamento para SPMs. A técnica consiste de três principais mecanismos: o profiler, o mapeador e o patcher. O patcher foi projetado para operar utilizando arquivos-objeto relocáveis, contornando assim a limitação de se gerenciar relocações para SPM em arquivos-objeto executáveis. A maior eficiência ao se tratar arquivos binários relocáveis resultou em tempos de execução inferiores em pelo menos uma ordem de magnitude se compara- dos às técnicas relacionadas. O tempo médio de patching foi de 0,7s em uma estação de trabalho com quatro núcleos de processamento. Comparando-se com o mapeamento de somente código, a proposta de também alocar dados em SPM resultou em economia extra de energia de 21%, em média, para um variado conjunto de programas do benchmark MiBench e diversas configurações de memória. Apesar de uma média re- lativamente baixa, instâncias de caso de uso reais com maior conteúdo de dados estáticos puderam ser encontradas, para as quais economias extra de energia de 67% e 91% foram observadas, quando dados também são passíveis de serem mapeados para SPM. Foi também observado que, para todos os casos de uso reais usados nos experimentos, os parâmetros de caracterização para mapeamento em SPM são bastante descorrelatados, o que significa - à luz de trabalhos anteriores - que o mapeamento exato obtido pelo assim-chamado algoritmo MINKNAP provavelmente manterá sua alta eficiência, mesmo diante do crescimento do número de elementos de programas resultante da crescente complexidade do software embarcado. Ao se combinar a inclusão de dados e bibliotecas na alocação em SPM com a eficiência do mapeamento e a eficiência do patching, a técnica proposta torna-se um enfoque promissor para a otimização energeticamente consciente de código embarcado pré-compilado

    Gerenciamento explícito de memória auxiliar a partir de arquivos-objeto para melhoria da eficiência energética de sistemas embarcados

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2010Memórias de rascunho (Scratchpad Memories - SPM) tornaram-se populares em sistemas embarcados por conta de sua eficiência energética. A literatura sobre SPMs parece indicar que a alteração dinâmica de seu conteúdo suplanta a alocação estática. Embora técnicas overlay-based (OVB) operando em nível de código-fonte possam beneficiar-se de múltiplos hot spots para uma maior economia de energia, elas não conseguem explorar elementos de programa oriundos de bibliotecas. Entretanto, quando operam diretamente em binários, as abordagens OVB conduzem a uma menor economia, frequentemente exigem hardware dedicado e às vezes impossibilitam a alocação de dados. Por outro lado, a economia de energia reportada por todas as técnicas, até o momento, ignora o fato de que, em sistemas que possuem caches, estas deverão ser otimizadas antes da alocação para SPM. Este trabalho mostra evidência experimental de que, quando métodos non-overlay-based (NOB) são utilizados para manipulação de arquivos binários, a economia de energia em memória, por conta da alocação em SPM, varia entre 15% a 33%, e média, e é tão boa ou melhor do que a economia reportada para abordagens OVB que operam sobre binários. Como esta economia (ao contrário dos trabalhos correlatos) foi medida após o ajuste-fino das caches - quando existe menos espaço para otimização -, estes resultados estimulam o uso de métodos NOB, mais simples, para a construção de alocadores capazes de considerar elementos de bibliotecas e que não dependam de hardware especializado. Este trabalho também mostra que, dada uma capacidade CT de uma cache pré-ajustada equivalente, o tamanho ótimo de SPM reside em [CT//2, CT] para 85% dos programas avaliados. Finalmente, mostram-se evidências contra-intuitivas de que, mesmo para arquiteturas baseadas em cache contendo SPMs pequenas, é preferível utilizar-se a granularidade de procedimentos à de blocos básicos, exceto em algumas poucas aplicações que combinam elementos frequentemente acessados e taxas de faltas relativamente altas
    corecore