Maestro will build a data and memory-aware middleware framework that addresses the ubiquitous problems of data movement in complex memory hierarchies that exist at multiple levels of the HPC software stack.

Objectives


DATA AWARENESS

Moving data through memory has not always been a performance bottleneck. The software stack that HPC relies upon was built during the decades where the cost of performing floating point operations (FLOPS) was paramount. This has resulted in a software stack and set of programming models that are optimised for floating point operations but lacking in basic data handling functionality. We characterise the set of technical issues as ‘missing data-awareness’.


MEMORY AWARENESS

Software rightfully insulates users from hardware details, particularly as we move up the software stack. But HPC applications, programming environments and system software cannot make key data movement decisions without some understanding of the hardware, particularly of the increasingly complex memory hierarchy. With the exception of runtimes, which treat memory in a domain-specific manner, software typically makes hardware-neutral decisions which can often result in poor performance We characterise this issue as ‘missing memory-awareness’.

Events