Simplified modelling of application and infrastructure
In recent years, the global market has seen a tremendous rise in utility computing, which serves as the back-end for practically any new technology, methodology or advancement in ICT, from healthcare to aerospace. The industry is entering a new era of heterogeneous, software-defined, high-performance computing environments and brings with it new challenges.
General-purpose GPUs are becoming common currency in data-centers, while specialized FPGA accelerators, ranging from deep-learning specific accelerators to burst buffers technologies, are becoming the norm and are likely to become commodity hardware in the near future. Riding on the back of this increasing computational speed and power is a demand for tools that can abstract these applications and infrastructure requirements for quick and simple deployment.
The SODALITE project aims to develop tools that will enable developers and infrastructure operators to develop, deploy, operate and execute heterogeneous applications quickly, simply and reliably over the rapidly evolving and increasingly complex landscape of software-defined, high-performance cloud infrastructures.
The SODALITE optimization abstraction framework is defined through the use of the IDE, application developers build code using abstract devices that lean on the infrastructure models, which resolve 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 is tackling the complexity of deploying and operating modern applications onto heterogeneous HPC and cloud-based software-defined infrastructures, under arbitrary operational conditions and requirements. SODALITE is dealing with these challenges by:
- abstracting the application and software-defined infrastructures
- automating the maintenance of a dynamic balance between the application and the infrastructure
- designing and runtime analysis of software-defined infrastructures.
In this way SODALITE will produce several tangible results like:
- a pattern-based abstraction library, including application, infrastructure and absolute novum performance abstractions
- a programming model for full-stack application and infrastructure descriptions, using abstraction library
- a deployment framework, enabling static optimization of the so-abstracted applications onto specific infrastructures
- automated runtime optimization and management of so-deployed applications
SODALITE aims to provide an optimized, highly resilient heterogeneous execution environment enabling operational transparency between Cloud and HPC infrastructures. SODALITE technologies are applied and demonstrated in the following diverse range of #UseCases, highlighting a mixture of Cloud and HPC scenarios across varying workloads and unique infrastructure requirements:
Biomedical Use Case (In-silico clinical trials for spinal operations): Assessment and decision-support system for spinal operations consisting of a data store component, capable of providing efficient data access from heterogeneous compute resources and simulation process chain facilitating comprehensive data analytics for in-silico clinical trials.
Vehicle IoT Use Case: An innovative system demonstrator that enables data from heterogeneous sources (principally IoT devices) to be spread across a distributed processing architecture in line with end-user expectations (e.g. response time for contextualised service offerings) and needs (privacy preferences).
GPU Snow Use Case: An innovative tool demonstrator which enables the capillary observation of the continuous health status of mountain environments supporting social engagement of societies in software-aided continuous monitoring of Alpine regions.
Furthermore, SODALITE is a member of the Heterogeneity Alliance (heterogeneityalliance.eu/) which aims at joining efforts of organizations interested in the development of future technologies and tools to advance and take full advantage of computing and applications using heterogeneous hardware.