AbstractsComputer Science

Energy-aware resource management for heterogeneous systems

by Luís Loureiro Eduardo




Institution: Universidade do Porto
Department:
Year: 2016
Keywords: Engenharia electrotécnica; electrónica e informática
Posted: 02/05/2017
Record ID: 2095965
Full text PDF: http://www.rcaap.pt/detail.jsp?id=oai:repositorio-aberto.up.pt:10216/85318


Abstract

Atualmente os computadores, sejam eles pessoais ou um nó contido num sistema de várias máquinas, podem conter vários tipos de arquiteturas: desde os tradicionais CPUs com um único core de execução, aos agora comuns multi-core, às placas gráficas com milhares de cores, FPGAs, DSPs entre outros.É também necessário ter em conta que os cores não são todos iguais, por exemplo os cores de um CPU são bastante diferentes dos cores dos GPUs.Com isto surge um novo problema: tirar proveito destas novas arquiteturas de maneira eficiente, ou seja sem desperdiçar energia e/ou tempo. Uma maneira de o fazer é distribuir certas tarefas para a arquitetura mais eficaz de as executar. Por exemplo certas operações são extremamente paralelizáveis, ou seja suscetíveis de serem subdivididas em várias tarefas pequenas, como certasoperações em processamento de imagem. No entanto é necessário fazer alterações nos programas já existentes para se poder aproveitar ao máximo o poder computacional que as diferentes arquiteturas providenciam. Um problema muitas vezes esquecido são os tempos de acesso à memória que também influência bastante os tempos de execução de determinadas tarefas.Trabalhos anteriores mostram claras vantagens em utilizar determinadas arquiteturas em conjunção com determinadas tarefas.Assim a solução consiste em escalonar uma ou mais aplicações descritas num grafo onde cada nó representa uma determinada tarefa a executar, isto tendo em conta as interdependências de informação necessária para as diversas tarefas da aplicação. Para analisar se efetivamente estão a ser obtidas melhorias iram ser feitas medições de consumo de energia e através de modelos já existentes irá simular-se para verificar se os resultados correspondem ao que irá ser obtido. Nesta componente de simulação já existem ferramentas disponíveis como o SIMGRID.Com este trabalho espera se obter um impacto positivo na forma como as tarefas são distribuídas, ou seja obter poupanças de energia e de tempo. Nowadays computers, be they personal or a node contained in a multi machine environment, can contain different kinds of architectures: form the traditional CPU with a single execution core to the now common multi-core CPU, GPUs with thousands of cores, FPGAs, DSPs among others.It is also required to be aware that the various processing cores arenapos;t equal. CPU cores are very different from GPU cores.With this a new problem emerges: leveraging this new architectures in an efficient way, without wasting energy and/or time. One way to achieve this is to distribute certain tasks to the mostefficient architecture for that specific task. For instance some operations are extremely parallelizable, susceptible to be divided em various small tasks, like some operations in image processing. However changes are needed in already existing programs so that the maximum computing power that different architectures provide can be leveraged. One problem that many times is forgotten is the memory access times that heavily influence the execution times of some tasks.Previous work… Advisors/Committee Members: Faculdade de Engenharia.