A estrat´egia proposta incrementa as pol´ıticas de gerenciamento de conten¸c˜ao originais da TL2, de forma a explorar os per´ıodos de inatividade3 em aplica¸c˜oes exibindo alta
conten¸c˜ao no barramento. Com este intuito, adotou-se uma estrat´egia baseada em esca- lamento dinˆamico de voltagem e frequˆencia (DVFS). Visto que a potˆencia depende qua-
draticamente da voltagem e linearmente da frequˆencia, a eficiˆencia energ´etica pode ser melhorada, em teoria, cubicamente [68]. Qualquer gerenciador de conten¸c˜ao que pause ou atrase a execu¸c˜ao das transa¸c˜oes ´e eleg´ıvel a usar esta t´ecnica.
A estrat´egia, que ´e simples, por´em efetiva, funciona da seguinte maneira: antes de entrar no modo de backoff, o processador ´e colocado em modo de baixo consumo de
potˆencia atrav´es da redu¸c˜ao de sua frequˆencia e voltagem. Ent˜ao, o processador aguarda por uma quantidade de tempo proporcional ao n´umero de tentativas da transa¸c˜ao ten- tando confirmar-se (TxCommit). Consequentemente, o desperd´ıcio de energia ´e reduzido
sem degradar o desempenho significativamente, dado que tais per´ıodos s˜ao considerados de inatividade, n˜ao efetuando nenhum trabalho ´util. Ao concluir o per´ıodo de backoff,
o processador tem sua voltagem e frequˆencia reescalados para o modo de desempenho m´aximo.
Levando em conta que o mecanismo de DVFS requer alternar o processador entre diferentes estados, deve-se estar ciente desteoverhead adicional ao se aplicar a estrat´egia,
de forma a n˜ao degradar o desempenho geral das aplica¸c˜oes (os resultados mostrados a seguir incluem esteoverhead, que ´e de 2 ciclos no total para a plataforma utilizada).
A Figura 6.10 apresenta os resultados obtidos pela estrat´egia proposta para o STAMP, com uma plataforma possuindo 8cores, usando as configura¸c˜oes TL2-lazy e TL2-eager, e
adotando as pol´ıticas debackoff linear e exponencial. O eixo vertical ´e dual, tendo no eixo
esquerdo o consumo de energia, enquanto o eixo direito mostra n´umeros de EDP (Energy- Delay Product), usados para correlacionar o impacto tanto em energia quanto em desem-
penho. Os resultados desta figura est˜ao normalizados em rela¸c˜ao aos apresentados na Figura 6.9.
Sobre esta figura s˜ao feitas quatro observa¸c˜oes principais. Primeiro, para aque- las aplica¸c˜oes exibindo conten¸c˜ao m´edia e/ou alta, especificamente, intruder+, yada e vacation-high, o esquema reduz o consumo de energia efetivamente. Em m´edia, a
3
O termo inatividade ´e usado em referˆencia aos per´ıodos nos quais nenhuma computa¸c˜ao ´util est´a sendo realizada. Neste contexto, tais per´ıodos s˜ao: backoff e rollback.
Figura 6.10: Resultados da estrat´egia de gerenciamento de conten¸c˜ao baseado em DVFS para o caso com 8 cores
energia foi reduzida por um fator de ∼45%, alcan¸cando redu¸c˜oes m´aximas de at´e 87% para o intruder+. Como efeito colateral positivo desta otimiza¸c˜ao, a taxa de abortos foi reduzida, dado que as transa¸c˜oes abortadas permaneceram um maior tempo (devido a redu¸c˜ao da frequˆencia) no modo debackoff, logo, evitando uma reexecu¸c˜ao prematura que
estava fadada a falhar. Consequentemente, o desempenho aumentou em aproximadamente 13% (em m´edia) e o resultante EDP foi diminu´ıdo substancialmente. Segundo, algumas aplica¸c˜oes experienciaram resultados negativos com algumas configura¸c˜oes dobackoff ex-
ponencial com DVFS. Nas aplica¸c˜oes genome+-lazy, ssca2-lazy e ssca2-eager, a con- ten¸c˜ao observada foi baixa, o que implica em entrar no modo debackoff diminutas vezes.
Contudo, devido `as baixas taxas de abortos (≤3%), o tempo despendido nos per´ıodos de
backoff ´e aumentado mais do que o necess´ario, neutralizando os efeitos de execut´a-lo em
modo de baixo consumo de potˆencia. Al´em disso, como n˜ao h´a per´ıodos de inatividade pass´ıveis de serem explorados, tanto a energia quanto o EDP s˜ao levemente, mas adversa- mente, afetados por este comportamento. Uma explica¸c˜ao similar ´e v´alida para o aumento do EDP nas aplica¸c˜oes vacation-low e vacation-high (ambos com backoff exponen-
cial). Por´em, nestas aplica¸c˜oes, ao contr´ario do que ocorre com as aplica¸c˜oes anteriores, h´a pequenos per´ıodos de inatividade dispon´ıveis, que s˜ao apropriadamente explorados, como pode ser observado pela diminui¸c˜ao no consumo total de energia. Note que as mes- mas aplica¸c˜oes n˜ao s˜ao influenciadas pelo comportamento mencionado quando o esquema de backoff linear ´e usado. Terceiro, para aquelas aplica¸c˜oes exibindo um baixo overhead
de energia de STM, especificamente, kmeans-high, kmeans-low e labyrinth+, os resul- tados obtidos foram praticamente os mesmos. Isto acontece devido ao baixo n´umero de reexecu¸c˜oes por transa¸c˜ao, o que impede o processador de entrar no modo de backoff.
Finalmente, para o bayes, mesmo havendo apenas uma estreita margem de rollback e backoff dispon´ıvel, o esquema proposto praticamente reduziu pela metade seus montan-
tes, resultando numa melhoria m´edia de∼6% e ∼20%, no consumo total de energia e no EDP, respectivamente.
O pr´oximo cap´ıtulo conclui esta tese de doutorado, enumerando as contribui¸c˜oes e resultados obtidos pela mesma.
Conclus˜oes
Este trabalho abordou o chamadolow-power design, um tema de crescente importˆancia dentro do ˆambito do projeto de sistemas digitais. Como foi visto, h´a v´arias implica¸c˜oes relacionadas ao aumento do consumo de potˆencia, tais como problemas t´ermicos, redu¸c˜ao da confiabilidade dos circuitos, aumento do custo final dos produtos, al´em de reduzir o tempo de vida dos dispositivos operados por baterias. Este cap´ıtulo conclui esta tese de doutorado, sumarizando os principais resultados e contribui¸c˜oes deste trabalho, al´em de enumerar as publica¸c˜oes e listar alguns t´opicos pass´ıveis de serem investigados como extens˜ao deste trabalho.
Esta tese atacou dois problemas distintos: (i) as limita¸c˜oes das t´ecnicas de macromode- lagem e (ii) o perfilamento do consumo de energia do paradigma de mem´oria transacional em software.
O primeiro problema fundamenta-se na afirma¸c˜ao de que as t´ecnicas convencionais de modelo ´unico tˆem s´erias limita¸c˜oes que afetam a precis˜ao de suas estimativas. Para corroborar esta afirma¸c˜ao, quatro t´ecnicas de macromodelagem distintas foram selecio- nadas para an´alise experimental. Os crit´erios de sele¸c˜ao foram as caracter´ısticas de cada m´etodo, al´em dos bons resultados reportados em seus artigos originais.
Efetuou-se, ent˜ao, uma an´alise quantitativa e qualitativa, onde evidenciaram-se as limita¸c˜oes intr´ınsecas de cada uma das t´ecnicas de macromodelagem, deixando claro que estas limita¸c˜oes poderiam comprometer a qualidade das estimativas. Esta an´alise mostrou tamb´em que, mesmo com estas limita¸c˜oes, todas as t´ecnicas tˆem pontos fortes na tarefa de capturar a varia¸c˜ao de potˆencia.
Para que os experimentos envolvidos na an´alise supracitada pudessem ser conduzidos, era necess´ario uma infraestrutura para modelagem e simula¸c˜ao. Para isto, foi desenvolvido um arcabou¸co, denominado PowerSC, que provˆe uma API de modelagem suportando
diversos n´ıveis de abstra¸c˜ao. Este arcabou¸co foi apresentado no NASCUG VI1 (North
American SystemC User’s Group Meeting), um dos principais eventos de SystemC. O
trabalho foi apresentado em uma palestra, ocorrida no dia 21 de fevereiro de 2007, em San Jose, Calif´ornia, EUA.
A fim de otimizar a precis˜ao das estimativas, foram propostas duas novas t´ecnicas de macromodelagem baseadas em m´ultiplos modelos, cujo objetivo era explorar os pontos fortes de cada m´etodo convencional de modelo simples, sobrepujando as limita¸c˜oes de uma forma global.
Na primeira t´ecnica, chamada UMM, uma fun¸c˜ao seletora ´e constru´ıda, em que a escolha do macromodelo a ser utilizado para gerar a estimativa ´e feita com base nas estat´ısticas da sequˆencia (stream) de vetores sendo aplicados `as entradas de um dado
componente.
Na segunda t´ecnica, chamada CMM, uma fun¸c˜ao de predi¸c˜ao ´e criada tal que, para um dado conjunto de vetores utilizados como est´ımulos, as estimativas produzidas por cada macromodelo s˜ao correlacionadas entre si e com as propriedades dos est´ımulos aplicados `
as entradas para produzir uma estimativa de potˆencia. Tal fun¸c˜ao ´e constru´ıda com o aux´ılio de m´etodos de an´alise de regress˜ao n˜ao-linear.
Os resultados obtidos com a abordagem de m´ultiplos modelos revelaram melhorias significativas em compara¸c˜ao `as t´ecnicas convencionais de modelo ´unico, otimizando a precis˜ao, em m´edia, 7 vezes para os erros m´edios, e 9 vezes para os erros m´aximos. O
overhead de ∼1% imposto `a simula¸c˜ao, devido ao uso da abordagem proposta, pode ser
considerado neglig´ıvel.
O segundo problema aborda um t´opico relativamente distinto do primeiro. Como foi mostrado, a chegada da era multi-core introduziu um nova dificuldade, que ´e a cria¸c˜ao de
programas concorrentes que extraiam o m´aximo de paralelismo existente nas aplica¸c˜oes, mas que, principalmente, sejam f´aceis de programar e funcionalmente corretos. O para- digma de programa¸c˜ao concorrente conhecido como mem´oria transacional tem esta pro- posta.
Esta ´area de pesquisa ´e atualmente muito ativa, por´em os pesquisadores tˆem se concen- trado quase que invariavelmente no desempenho das aplica¸c˜oes, negligenciando m´etricas importantes tais quais potˆencia e energia.
Desta forma, esta tese efetuou uma an´alise pormenorizada do consumo de energia em uma implementa¸c˜ao estado-da-arte de STM. Inicialmente, uma ferramenta de ca- racteriza¸c˜ao parametriz´avel foi proposta para emular diferentes cen´arios transacionais e
1
capturar seus perfis de consumo de energia.
Depois, o principalbenchmark de TM, denominado STAMP, foi perfilado com rela¸c˜ao
a seu consumo de energia, para todas as suas aplica¸c˜oes. Esta an´alise deu origem a uma nova estrat´egia de gerenciamento de conten¸c˜ao baseada em DVFS, que obteve redu¸c˜oes de ∼45% (m´edia) e ∼87% (m´axima) no consumo de energia em aplica¸c˜oes com alta conten¸c˜ao no barramento. Desconhece-se, da literatura, outro trabalho focado no consumo de energia de STMs.
7.1
Produ¸c˜ao Bibliogr´afica
Peri´odicos internacionais:
• “A Multi-Model Engine for High-level Power Estimation Accuracy Optimization”, F. Klein, R. Leao, G. Araujo, L. Santos and R. Azevedo,
IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Volume 17, N´umero 5, pp. 660–673, Maio de 2009.
• “Characterizing the Energy Consumption of Software Transactional Memory”, A. Baldassin, F. Klein, G. Araujo, R. Azevedo and P. Centoducatte,
IEEE Computer Architecture Letters, 20 de agosto de 2009. http://doi.ieeecomputersociety.org/10.1109/L-CA.2009.47 Cap´ıtulos de livro:
• “SystemC-based Power Evaluation with PowerSC ”, F. Klein, G. Araujo Luiz Santos e Rodolfo Azevedo,
cap´ıtulo do livro “Electronic System Level Design: an Open Source Approach”, a
ser publicado pela editora Springer (ainda sem data). Conferˆencias internacionais:
• “On the Limitations of Power Macromodeling Techniques”, F. Klein, R. Leao, G. Araujo, L. Santos and R. Azevedo,
Proceedings of the IEEE Computer Society Annual Symposium on VLSI (ISVLSI’07), pp. 395–400, Maio de 2007.
• “An Efficient Framework for High-Level Power Exploration”, F. Klein, R. Leao, G. Araujo, L. Santos and R. Azevedo,
Proceedings of the 50th IEEE International Midwest Symposium on Circuits & Systems (MWSCAS’07), pp. 1046–1049, Agosto de 2007.
• “A Multi-Model Power Estimation Engine for Accuracy Optimization”, F. Klein, R. Leao, G. Araujo, L. Santos and R. Azevedo,
Proceedings of the ACM/IEEE International Symposium on Low Power Electronics and Design (ISLPED’07), pp. 280–285, Agosto de 2007.
• “On the Energy-Efficiency of Software Transactional Memory”, F. Klein, A. Baldassin, P. Centoducatte, G. Araujo and R. Azevedo,
Proceedings of the 22nd Annual Symposium on Integrated Circuits and System Design (SBCCI’09), Agosto/Setembro de 2009.
• “Improving Accuracy in Power Estimation by Exploiting Multi-Model Techniques”, F. Klein, G. Araujo and R. Azevedo,
PhD Forum, IFIP/IEEE International Conference on Very Large Scale Integration (VLSI-Soc 2009), Outubro de 2009.
Relat´orios T´ecnicos:
• “PowerSC: A SystemC-based Framework for Power Estimation”, F. Klein, R. Leao, G. Araujo, L. Santos and R. Azevedo,
Instituto de Computa¸c˜ao, UNICAMP, Relat´orio T´ecnico IC-07-02, Fevereiro de 2007.
• “A First Study on Characterizing the Energy Consumption of Software Transactio-
nal Memory”,
A. Baldassin, F. Klein, G. Araujo, R. Azevedo and P. Centoducatte,
Instituto de Computa¸c˜ao, UNICAMP, Relat´orio T´ecnico IC-09-13, Abril de 2009.