WCET-aware prefetching of unlocked instruction caches: a technique for reconciling real-time guarantees and energy efficiency

Detalhes bibliográficos
Autor(a) principal: Wuerges, Emílio
Data de Publicação: 2015
Tipo de documento: Tese
Idioma: eng
Título da fonte: Repositório Institucional da UFSC
Texto Completo: https://repositorio.ufsc.br/xmlui/handle/123456789/134804
Resumo: Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2015.
id UFSC_0cbce58da043db1ea67bdf12386dcf52
oai_identifier_str oai:repositorio.ufsc.br:123456789/134804
network_acronym_str UFSC
network_name_str Repositório Institucional da UFSC
repository_id_str 2373
spelling WCET-aware prefetching of unlocked instruction caches: a technique for reconciling real-time guarantees and energy efficiencyEngenharia de sistemasSistemas embarcados (Computadores)Processamento eletronico de dados em tempo realTese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2015.A computação embarcada requer crescente vazão sob baixa potência. Ela requer um aumento de eficiência energética quando se executam programas de crescente complexidade. Muitos sistemas embarcados são também sistemas de tempo real, cuja correção temporal precisa ser garantida através de análise de escalonabilidade, a qual costuma assumir que o WCET de uma tarefa é conhecido em tempo de projeto. Como resultado da crescente complexidade do software, uma quantidade significativa de energia é gasta ao se prover instruções através da hierarquia de memória. Como a cache de instruções consome cerca de 40% da energia gasta em um processador embarcado e afeta a energia consumida em memória principal, ela se torna um relevante alvo para otimização. Entretanto, como ela afeta substancialmente o WCET, o comportamento da cache precisa ser restrito via  cache locking ou previsto via análise de WCET. Para obter eficiência energética sob restrições de tempo real, é preciso estender a consciência que o compilador tem da plataforma de hardware. Entretanto, compiladores para tempo real ignoram a energia, embora determinem rapidamente limites superiores para o WCET, enquanto compiladores para sistemas embarcados estimem com precisão a energia, mas gastem muito tempo em  profiling . Por isso, esta tese propõe um método unificado para estimar a energia gasta em memória, o qual é baseado em Interpretação Abstrata, exatamente o mesmo substrato matemático usado para a análise de WCET em caches. As estimativas mostram derivadas que são tão precisas quanto as obtidas via  profiling , mas são computadas 1000 vezes mais rápido, sendo apropriadas para induzir otimização de código através de melhoria iterativa. Como  cache locking troca eficiência energética por previsibilidade, esta tese propõe uma nova otimização de código, baseada em pré-carga por software, a qual reduz a taxa de faltas de caches de instruções e, provadamente, não aumenta o WCET. A otimização proposta é comparada com o estado-da-arte em  cache locking parcial para 37 programas do  Malardalen WCET benchmark para 36 configurações de cache e duas tecnologias distintas (2664 casos de uso). Em média, para obter uma melhoria de 68% no WCET,  cache locking parcial requer 8% mais energia. Por outro lado, a pré-carga por software diminui o consumo de energia em 11% enquanto melhora em 15% o WCET, reconciliando assim eficiência energética e garantias de tempo real.<br>Abstract : Embedded computing requires increasing throughput at low power budgets. It asks for growing energy efficiency when executing programs of rising complexity. Many embedded systems are also real-time systems, whose temporal correctness is asserted through schedulability analysis, which often assumes that the WCET of each task is known at design-time. As a result of the growing software complexity, a significant amount of energy is spent in supplying instructions through the memory hierarchy. Since an instruction cache consumes around 40% of an embedded processor s energy and affects the energy spent in main memory, it becomes a relevant optimization target. However, since it largely impacts the WCET, cache behavior must be either constrained via cache locking or predicted by WCET analysis. To achieve energy efficiency under real-time constraints, a compiler must have extended awareness of the hardware platform. However, real-time compilers ignore energy, although they quickly determine bounds for WCET, whereas embedded compilers accurately estimate energy but require time-consuming profiling. That is why this thesis proposes a unifying method to estimate memory energy consumption that is based on Abstract Interpretation, the very same mathematical framework employed for the WCET analysis of caches. The estimates exhibit derivatives that are as accurate as those obtained by profiling, but are computed 1000 times faster, being suitable for driving code optimization through iterative improvement. Since cache locking gives up energy efficiency for predictability, this thesis proposes a novel code optimization, based on software prefetching, which reduces miss rate of unlocked instruction caches and, provenly, does not increase the WCET. The proposed optimization is compared with a state-of-the-art partial cache locking technique for the 37 programs of the Malardalen WCET benchmarks under 36 cache configurations and two distinct target technologies (2664 use cases). On average, to achieve an improvement of 68% in the WCET, partial cache locking required 8% more energy. On the other hand, software prefetching decreased the energy consumption by 11% while leading to an improvement of 15% in the WCET, thereby reconciling energy efficiency and real-time guarantees.Santos, Luiz Claudio Villar dosOliveira, Rômulo Silva deUniversidade Federal de Santa CatarinaWuerges, Emílio2015-09-08T04:10:00Z2015-09-08T04:10:00Z2015info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesis89 p.| il., grafs., tabs.application/pdf334103https://repositorio.ufsc.br/xmlui/handle/123456789/134804engreponame:Repositório Institucional da UFSCinstname:Universidade Federal de Santa Catarina (UFSC)instacron:UFSCinfo:eu-repo/semantics/openAccess2015-09-08T04:10:00Zoai:repositorio.ufsc.br:123456789/134804Repositório InstitucionalPUBhttp://150.162.242.35/oai/requestopendoar:23732015-09-08T04:10Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)false
dc.title.none.fl_str_mv WCET-aware prefetching of unlocked instruction caches: a technique for reconciling real-time guarantees and energy efficiency
title WCET-aware prefetching of unlocked instruction caches: a technique for reconciling real-time guarantees and energy efficiency
spellingShingle WCET-aware prefetching of unlocked instruction caches: a technique for reconciling real-time guarantees and energy efficiency
Wuerges, Emílio
Engenharia de sistemas
Sistemas embarcados (Computadores)
Processamento eletronico de dados em tempo real
title_short WCET-aware prefetching of unlocked instruction caches: a technique for reconciling real-time guarantees and energy efficiency
title_full WCET-aware prefetching of unlocked instruction caches: a technique for reconciling real-time guarantees and energy efficiency
title_fullStr WCET-aware prefetching of unlocked instruction caches: a technique for reconciling real-time guarantees and energy efficiency
title_full_unstemmed WCET-aware prefetching of unlocked instruction caches: a technique for reconciling real-time guarantees and energy efficiency
title_sort WCET-aware prefetching of unlocked instruction caches: a technique for reconciling real-time guarantees and energy efficiency
author Wuerges, Emílio
author_facet Wuerges, Emílio
author_role author
dc.contributor.none.fl_str_mv Santos, Luiz Claudio Villar dos
Oliveira, Rômulo Silva de
Universidade Federal de Santa Catarina
dc.contributor.author.fl_str_mv Wuerges, Emílio
dc.subject.por.fl_str_mv Engenharia de sistemas
Sistemas embarcados (Computadores)
Processamento eletronico de dados em tempo real
topic Engenharia de sistemas
Sistemas embarcados (Computadores)
Processamento eletronico de dados em tempo real
description Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2015.
publishDate 2015
dc.date.none.fl_str_mv 2015-09-08T04:10:00Z
2015-09-08T04:10:00Z
2015
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv 334103
https://repositorio.ufsc.br/xmlui/handle/123456789/134804
identifier_str_mv 334103
url https://repositorio.ufsc.br/xmlui/handle/123456789/134804
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 89 p.| il., grafs., tabs.
application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFSC
instname:Universidade Federal de Santa Catarina (UFSC)
instacron:UFSC
instname_str Universidade Federal de Santa Catarina (UFSC)
instacron_str UFSC
institution UFSC
reponame_str Repositório Institucional da UFSC
collection Repositório Institucional da UFSC
repository.name.fl_str_mv Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)
repository.mail.fl_str_mv
_version_ 1808652171164516352