Handbook of European HPC projects


SOftware Defined AppLication Infrastructures managemenT and Engineering

In recent years the global ICT market has seen a tremendous rise in utility computing, which serves as the backend for practically any new technology, methodology or advancement from healthcare to aerospace. We are entering a new era of heterogeneous, software-defined, high performance compute environments. In this context, SODALITE creates order into chaos, as the way for all these technologies to be harmonized in a single ecosystem extending their focus to other types of hardware and architectures. 

SODALITE brings the vast knowledge of performance optimisation accrued by the HPC industry into the cloud computing arena. So, it exploits a model-driven approach, empowered by ontological reasoning, to support experts operating applications or resources over heterogeneous infrastructures. In general lines, the most benefited actors are: 

Application Ops Experts. Those in charge of operating (deploy, execute, optimize and monitor) applications, as they will be able to better understand the application requirements 

in terms of deployment/execution environ-ment and QoS. 

Resource Experts. As from the infrastructure management point of view, they can operate resources on different environments, such as cloud, HPC or edge, in a simplified manner. 

Quality Experts. As they can make use of SODALITE libraries of patterns for addressing specific performance and quality problems, both from infrastructure and application perspectives. 


SODALITE offers a layered solution (5 layers) based on four pillars: (i) semantic intelligence for describing, deploying and optimising applications; (ii) quality of service based on guaranteed SLAs; (iii) heterogeneity support of underlying infrastructures; and (iv) security, privacy and policy. Each of these layers represents a product itself but can be combined for an enhanced experience. 

Layer 1: Smart IDE 

It provides the user with an IDE and a semantic reasoner API based on sophisticated knowledge graphs and semantic reasoning. 

Layer 2: deployMent OrchestratiOn pRovisioniNG (MOORING) 

Consists of a framework for the usage of IaC and concepts of modelling application deployment, ensuring a smooth resource operation. 

Layer 3: Verification & Bug Prediction (FindIaCBug) 

It is responsible for the verification of the IaC code and the detection of various quality issues such as errors, smells, antipatterns and bugs in IaC artifacts. 

Layer 4: monitoRing & rEconFIguraTion (REFIT) 

Ensures the monitoring of system and network, collecting application-level and infrastructure-level metrics and events, used for reconfiguration and refactoring. 

Layer 5: PerfOrmancE optimization 

This layer is composed of static and dynamic application optimisation, during design and runtime. 

Software Technologies


Coordinating Organization:
XLAB Razvoj Programske Opreme in Svetovanje DOO, Slovenia

Project Timespan
2019-02-01 – 2022-01-31

Other Partners:
  • Atos Spain, Spain
  • IBM Ireland Ltd, Ireland
  • POLIMI – Politecnico di Milano, Italy
  • Hewlett Packard Enterprise, Switzerland
  • CERTH – Ethniko Kentro Erevnas kai Technologikis Anaptyxis, Greece
  • Adaptant, Germany
  • JADS – Jheronimus Academy of Data Science, Netherlands
  • HLRS – High Performance Computing Center – Universität Stuttgart, Germany