Você está na página 1de 1

Refactoring Towards Multicore and Energy Efficient Code Usurios de computador tem expectativas de que a cada nova gerao

de computadores seu s programas rodem mais rpido que na gerao anterior. A indstria de hardware focou-se na construo de processadores multicore, cujo demanda que programadores procurem e explorem paralelismo em suas aplicacaes, caso eles queiram manter - e aprimorar o mesmo beneficio de performance entregue no passado. Na era multicore, uma das tarefas mais importantes, e desafiadoras, refatorar programas sequnciais para que tirem proveito de parallelismo [1]. No entanto, mesmo nos dias de hoje, com vrias linguagens e bibliotecas de alto nve l, ainda muito difcil programar sistemas que envolvam questes de concorrncia e para llelismo [2]. Um dos motivos para tal, a caracterstica no-determinstica desse tipo de aplicao, o que leva o programador a se preocupar com problemas como condio de cor rida, deadlocks, falha de atomicidade, dentre outros. Um outro ponto importante est relacionado ao consumo de energia destas aplicaes, pr incipalmente em se tratando de dispositivos mveis, desde rede de sensores, at smar tphones e tablets. Nesse contexto, otimizar o consumo de energia ainda um desafi o. Vrias iniciativas vem sendo desenvolvidas ao longo dos anos para minimizar est e problema, desde a otimizao de hardware, compiladores, sistemas operacionais, at o nvel mais alto das aplicaes de usurio [3]. Este ltimo, mais recentemente explorado, de especial importncia para esse trabalho.

sbido que otimizando a utilizao do software para uma dada plataforma de hardware va i, simultanemanete, melhorar a performance e diminuir seu consumo de energia [3] . Isso pode ser alcanado, por exemplo, atravs da paralelizao de instrues de cdigo para que sejam executadas em diferentes processadores. Uma vez que, hardware ocioso u ma fonte de desperdcio de energia. Ademais, existem diversas outras oportunidades para otimizar significantemente o consumo de energia [4]. Este projeto de pesquisa tem como objetivo estudar, identificar e catalogar tcnic as de refatorao de cdigo que possam tirar proveito de processadores multi-ncleo, e, simultaneamente, otimizar seu consumo de energia. Algumas das perguntas de pesqu isa que esse projeto tentar responder, incluem: - possvel mensurar o custo de energia de uma aplicao de software? - possvel mensurar o custo de energia de uma construo de programao concorrente/parale la? - possvel relacionar o custo de energia a uma determinada construo de programao conco rrente/paralela? - possvel mapear um catlogo de padres de cdigo 'energy-inefficient'? - possvel devirar mtricas de software para medir um cdigo 'energy-efficient'? - possvel classificar aplicaes de acordo com o seu consumo de energia? 1 - Danny Dig, John Marrero, Michael D. Ernst. Refactoring sequential Java code for concurrency via concurrent libraries. ICSE 2009: 397-407 2 - D. Dig, J. Marrero, and M. D. Ernst. How do programs become more concurrent? A story of program transformations. Technical Report MIT-CSAIL-TR-2008-053, MIT , September 2008. 3- J. Jelschen, M. Gottschalk, M. Josefiok, C. Pitu, A. Winter. Towards Applyin g Reengineering Services to Energy-Efficient Applications. CSMR '12 Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering. p 353-358, 2012. 4- E.-y. Chung, L. Benini, and G. D. Micheli, Energy Efficient Source Code Trans formation based on Value Profiling, Transformation, 2000.

Você também pode gostar