How Does It Work?

“The SODALITE Technology”

SODALITE attempts to bring the vast knowledge of performance optimisation accrued by the HPC industry over decades into the cloud computing area. Moreover, it aims at exploiting a model-driven  approach, empowered by ontological reasoning, to support Application DevOps experts in configuring,  deploying and operating their complex applications on heterogeneous resources.

Performance abstractions are provided in various forms, to be used in combination with the hardware abstractions and the Runtime system.

The SODALITE optimisation abstraction framework is summarised in the diagram below. Through the use of the IDE, application developers build code using abstract devices that lean on the infrastructure models, which resolve to certain native instantiations of the application tuned for execution on the given hardware.
Additional runtime parameters are able to be applied, further improving application performance.

SODALITE will produce several tangible results:

  • A pattern-based abstraction library that includes application, infrastructure, and performance  abstractions.
  • An automatic Infrastructure as Code (IaC) engine that not only facilitates the development  process, but also reduces deploying errors and consequently the required time and cost.
  • A design and programming model for both full-stack applications and infrastructures based on the abstraction library.
  • A deployment framework that enables the static optimization of abstracted applications onto specific infrastructure.
  • Automated static and run-time optimization and management of applications.

 

Thanks to these results, SODALITE will be able to address the needs of the following actors:

  • Application Ops Experts. They are in charge of operating the applications and, as such, are in charge of all the aspects that refer to its deployment, execution, optimization and monitoring. They know the applications to execute and its requirements in terms of both deployment/execution environment and quality of service.
  • Resource Experts (RE). They are in charge of dealing with the different resources required to deploy and execute the application. RE are in charge of application component technologies, of cloud, HPC, and GPU-based computing infrastructures, or of middleware solutions for both storing data and allowing components to communicate.
  • Quality Experts (QE). They are responsible for the quality of service both provided by the execution infrastructure and required by the executing application. Being part of the SODALITE  ecosystem, they are in charge of offering libraries of patterns for addressing specific performance and quality problems in the SODALITE applications.