Hybrid Code Placement for Heterogeneous Architectures - Marcelo Pereira Novaes (2018)
Modern computer architectures are becoming each day more heterogeneous. Choosing the best hardware configuration for a given program is difficult, because programs, even of moderate size, go through many phases during execution. These phases benefit differently from the same hardware configuration. Researchers have used a plethora of techniques to deal with this problem, but two techniques seem to standout: dynamically or statically. The former is implemented at the runtime level, be it through an operating system or a scheduler/middleware. The latter is implemented at compilation level. In this dissertation, we will investigate the mixing of both approaches achieving a synergy that, otherwise, could not be attained by each technique individually. To demonstrate that our ideas are useful and effective, we compare this new code generator, called Astro, with state of the art approaches, which were used to reduce the energy consumption, maintaining performance constraints.