SODALITE aims to provide an optimized, highly resilient heterogeneous execution environment enabling operational transparency between Cloud and HPC infrastructures.
SODALITE, short for SOftware Defined AppLication Infrastructures managemenT and Engineering, is an EU-funded project aimed at supporting the digital transformation of European Industry by simplifying modelling applications and infrastructures in heterogeneous systems.
Today everything is moving to the cloud and the primary model for distributed applications is containers. Different aspects of an application are put in containers, and each is subsequently run somewhere in the cloud. The pieces communicate with each other as services, and together form the application. This model is gaining popularity, but it has also introduced new challenges. If you have different containers running on different kinds of hardware, you need to know how to optimize which containers will run best on the different kinds of hardware.
We believe the network is a major priority for the enablement of more efficient cloud computing. Based on the types of communication in the cloud network, we want to make optimized decisions about what to run from where. It is also essential to make smart initial decisions, alongside taking into account information collected from components that are monitoring the network to see what dynamic changes are needed.
As part of this project, we will be optimizing each model for the different kinds of software and then predict how the model will run on the different kinds of architectural environments in the network. For example, one application needs specialized GPU hardware to achieve its required performance, another may work with an off-the-shelf GPU, and a third may run fine with standard computing resources. Either way, the cloud needs to run them all.
One of our goals is to better understand the network and how it will influence the performance of different parts of the application on the different types of infrastructure. With the feedback we get and insight derived, we plan to be able to support any type of cluster that emerges. For example, Kubernetes is a technology that has been helping the cloud infrastructure move forward to accommodate different kinds of workloads and applications – some with very different needs. In this way, applications that are heterogeneous, but all running on the same cloud, can live in harmony through Kubernetes. Another of the architectures we are supporting is High Performance Computing (HPC). This is different from a Kubernetes environment, which is generally run on regular clouds to monitor the containers in the cluster (cloud).
The SODALITE consortium will cover a number of fascinating use cases: virtual in-silico clinical trials for spinal surgery, data analysis for vehicle IoT, and water availability prediction using mountain imagery. For the clinical trials use case, the project will simulate the procedures of operations for people who require spinal-cord surgery to predict the results, based on several models running on an HPC environment. For vehicle IoT, the use case will collect information as the driver crosses different geographic boundaries and automatically ensure compliance with the current region’s regulations regarding what data can be collected, where it can be stored, and more. In the third use case, photos of mountains with snow are analyzed and used to predict what kind of water availability can be expected in the summer months. This task requires sophisticated AI models, alongside compute-intensive models for image computing.
The researchers have the basic implementation of each use case and intend to recompile them on the SODALITE platform – with the ultimate goal of having SODALITE uncover errors in the application or improve the way it runs. Each use case is implemented twice – once in its regular form and then again using the tools developed by SODALITE to indicate what kind of performance improvements can be achieved in terms of speed, accuracy, use of resources.
The idea is to give the specialist building the application a chance to focus on the application – and not be concerned with the architecture it will run on. By better matching the application to the run-time environment, better overall efficiency will be achieved.
- The project will examine each application, build an abstract model of it, and build on semantic models of the application and the environment:
- Build optimizations for the applications in this environment
- Help developers build smarter code based on these optimizations
- After deployment, harvest information from monitoring tools and feed it back to SODALITE tools so the technology can learn to do this optimization even better.
The researchers from Haifa are contributing to the monitoring and decision making from the various environments. They also introduced the Kubernetes environment into the SODALITE plan. Very much in line with IBM’s strategy for the cloud, this work is focused on helping developers write applications for the cloud and more easily migrate existing applications to the cloud.