Techniques and tools for transparent software optimization in the era of many-core computing systems

Anno
2017
Proponente -
Struttura
Sottosettore ERC del proponente del progetto
Componenti gruppo di ricerca
Abstract

The last decade has seen a significant paradigm shift in the way large-scale and embedded computing architectures are designed. Physical limits have recently been hit in single-core CPUs, paving the way to multi-core architectures. Energy requirements have given rise to the need for low-consumption processing units (e.g., those on board of mobile devices), while big-data applications are demanding for aggressive scale-up solutions (e.g., GPU-based and coprocessor-equipped architectures) able to process large chunks of data in parallel at an affordable power budget. Moreover, the recent commercial breakthrough of System-on-Chips (SoC) has paved the way to low-power computing systems embedding both (multicore) CPUs and GPUs. Any of these devices can be, and indeed are, combined together, either into a single-node machine, a low-power embedded system, or a cluster/grid. Overall, the current panorama offers a plethora of different computing systems and paradigms, which respond to varied needs and offer differentiated levels of energy consumption. However, these benefits come at a price: the complexity and the effort demanded from programmers and developers to exploit these new capabilities are significantly increased.

In order to exploit the energy and performance benefits coming from many-core systems without having to sacrifice programmability goals, we need to enact a paradigm shift similar in spirit to what hardware architectures have experienced in recent years, yet at the software level. Application developers must be supported by adequate operating system services, runtime environments, libraries and compilation toolchains to tame the complexity of nowadays architectures, while also aiming at increased efficiency.
To reach this goal, my research will involve transparency techniques spanning different software abstraction levels, and leveraging on a methodology which includes at least performance monitoring, program analysis and self-tuning schemes.

ERC
Keywords:
name

© Università degli Studi di Roma "La Sapienza" - Piazzale Aldo Moro 5, 00185 Roma