Addressing heterogeneous challenges in HPC and Cloud applications

The SODALITE blog is back again. We deliver monthly posts trying to convey the best of our updates and advances to our audience. This time, Karim Djemame (University of Leeds) visited us and left feedback on the relevant challenges within heterogeneity in complex systems.

Karim Djemame is professor at University of Leeds (U.K) specialized in distributed systems, cloud computing, energy efficiency, heterogeneous parallel architectures, performance evaluation. Furthermore, Karim is leading the working group of Middleware within the H.A, centered around the middleware requirements for applications operating in heterogeneous hardware environments.

The Heterogeneity Alliance is a network consisting of different research projects and organizations that are managed by a governance structure, and will pursue a common objective: address heterogeneity challenges. The alliance is focused on all phases of applications for heterogeneous HW and SW to enable a new wave of development and execution tools for next-generation applications. SODALITE is one of the active members and wanted to invite Karim to contribute to our blog, as his expertise and opinions can help our project team in developing an end-to-end solution.

At present, which are the specific tools, methods or techniques, in particular, that you feel research projects in heterogeneity areas should be focusing on?
As the impact of heterogeneity on computing tasks is rapidly increasing, innovative architectures, algorithms, and specialized programming environments and tools are needed to efficiently use these mixed/diversified parallel architectures. Heterogeneity spans across the entire architecture: programming models, middleware, systems and hardware. The alliance has been particularly focusing on recent trends such as emerging heterogeneous programming models, Real-Time Heterogeneous Platforms, machine and deep learning, and self-adaptive systems.
What is the power of a whole architecture defined and the resulting combination of HPC, Cloud and edge technologies into a holistic solution to support heterogeneous deployments?
The proposed reference architecture proposed by the Alliance is a consequence of the rise of new disruptive applications, e.g. Cyber Physical Systems, which are evolving into Cyber Physical Systems of Systems. Other technological advances in ICT are profoundly transforming the development and management processes of such applications. These are difficult to analyse because they may be deployed across a multitude of systems which includes HPC facilities, cloud data centres, edge/fog components and networks. Their deployment should take place in an efficient manner, not only technically but economically as well. Therefore, the combination of HPC, Cloud and edge technologies into a holistic solution is attractive and brings many interesting research challenges, e.g. in terms of scalability and performance.
SODALITE is a project that sits at the intersection of HPC and Cloud in complex hardware environments. Where do you see the largest capacity for innovation: in applying Cloud technologies to HPC, in applying HPC technologies to Cloud, or some combination of the two? Please give some examples.
There is capacity for innovation by combining the two technologies. A number of Cloud Service Providers such as Microsoft Azure and Amazon Web Services (AWS) are providing elastic and scalable cloud infrastructure to run applications on HPC systems. They will face more economic challenges with the provision of costly mixed CPU, GPU and FPGA types and high-performance low-latency interconnects. For these investments to pay off, finding new provisioning models as well as maximising the use of the high-cost infrastructure is a key requirement as the classic cloud service provision model will not be adequate. What makes the SODALITE vision particularly attractive is that it provides an optimised, highly resilient heterogeneous execution environment enabling operational transparency between Cloud and HPC infrastructures.
The main purpose of our demonstrators is to showcase how the deployment phase can be eased for developers, specifically for non-experts in this domain. Which additional tech profiles can benefit from similar heterogeneous advances?
The tech profiles along the whole software engineering chain will benefit from SODALITE methods and tools. How best to configure, deploy and operate complex applications on heterogeneous resources is always a challenge. Novel solutions/methodologies are a much-needed step change in people-centred software engineering techniques. Technological advances are profoundly changing application development and management processes, and therefore the way software is developed for such systems. This is clearly evidenced when the developed software needs to span across multiple technology domains, taking into account different paradigms and technologies, e.g. HPC, cloud and edge computing. This makes the use of software engineering methods and the way applications are developed a crucial factor in order to support a wide range of (often disruptive) applications. Crucially, these novel methods and tools must not only target domain expert software engineers but should empower people at the heart of ICT to assemble and build applications from customisable software components. Improvements in simple "Low Code/No Code" development tools will dramatically expand the range and scope of multi-disciplinary teams including business domain experts, user experience and designers, process designers, AI and data scientists who are expected today to build 20% of business applications and 30% of new application features (60% by 2027).
What is your opinion about the mission and vision of SODALITE? Is the ambition well aligned with any of the Heterogeneous Alliance challenges at present?
SODALITE vision and ambitions are well aligned with the challenges the Alliance is addressing. Heterogeneity is a concept with vast variance, as it is driven by the diversity in the applications' requirements. Therefore, the realm of heterogeneous computing will evolve to support new disruptive applications, Edge/Fog and Cloudlet computing, autonomous vehicles, as well as the ever-increasing diversity in modern HPC/Cloud data centers. Thus, the research on heterogeneous systems that satisfy the emerging computing requirements will unveil new challenges across the entire software stack: from the programming models, to compilers and drivers, and finally to the underlying hardware. These challenges will need to be addressed in a unified manner, that will satisfy the trade-off between compatibility and performance.