Category: Database, Ubuntu, Docker, github, ansible

In the SODALITE H2020 project we deal with the deployment and reconfiguration of application deployments that make use of various heterogeneous accelerators. While most accelerators provide an easy to install environment to support their operation, we observed the following limitations: With this in mind, we decided it was prudent to try and decouple the setup of the accelerator run-time environment and the application logic, establishing an easily extensible set of minimal accelerator-specific base containers upon which to layer accelerated applications.

As most vendors provide debian packages for their runtime environments, we decided to stick with minideb (instead of other solutions, like Alpine) as a base for the accelerator images.

While not strictly necessary, for the purpose of experimentation, we spin up a local image registry before continuing, and will use this to push our images to: We can now prepare an input file for the image builder using our local registry and generate -std and -max variants: Note that in this case, we have already pushed out our application to GitHub, and will have the image builder fetch the repository directly at build time, as this most resembles real-world application.

We have further demonstrated how the use of the SODALITE image builder can further complement this workflow by providing a mechanism for applications to create image variants that build on different base images, allowing an application to provide different container images ready to run on specific accelerator types.

Related Articles