MIKELANGELO used all possible sources (e.g. use-cases, market research, new components, etc.) to position itself in the overlapping area of guest (OSv) and host (KVM) and the overarching management system (OpenStack, Kubernetes). We can use MIKELANGELO components quite independently and in many different environments (eg. AWS, GCE or under PBS Torque). This demonstrates the versatility of the MIKELANGELO approach. We divide the work done into four categories, described below.
In the first category are contributions to the OSv. OSv improvements have all been accepted upstream. We improved Seastar - it now has additional components, related to the IO improvement. Finally, the OSv management software has been significantly improved and is now under one brand Lightweight Execution Environment Toolbox - LEET. This includes complete OSv management utilities, which have been accepted into DellEMC’s UniK project (
https://github.com/emc-advanced-dev/unik(s’ouvre dans une nouvelle fenêtre)) and into MirantisIT’s Virtlet project (
https://github.com/Mirantis/virtlet(s’ouvre dans une nouvelle fenêtre)).
The second are improved OSv application compatibility and management. We improved the application compatibility in OSv and added support for languages Go and Node.js improved OSv's OpenFOAM and Open MPI compatibility and ported Apache Hadoop Distributed File System and Apache Spark. Under LEET, we enabled application composition and overall management of OSv, making OSv integration into different environments easier.
Thirdly, we extended the KVM IO management. We introduced IO core manager (IOcm) facilitating dynamic optimisation of CPU core allocation for IO intensive workloads. ZeCoRX (Zero Copy RX) has been developed to PoC, removing redundant data copying within the network stack. Both approaches are novel paravirtualized IO models for KVM. We developed SCAM, preventing side-channel attacks on KVM hypervisor. We designed the vRDMA approach, with guest and host implementations in the form of Virtio additions for KVM/OSv, as a patch. Finally, we designed and implemented UNCLOT - another approach for fast, shared memory-based data exchange between guests on the same host.
The fourth is compatibility with the Cloud and HPC management systems. We developed vTorque, which enables virtual machine (OSv or others) deployment in HPC batch system Torque. As telemetry and performance monitoring are of utmost importance, we developed management and monitoring approaches, optimising virtual environments for optimal elasticity. Here, we used Snap and developed appropriate plugins for MIKELANGELO. Finally, we have developed Scotty, a synthetic testbed for benchmarking of KVM and OSv in Openstack and actuator.py which provides an extensible framework for configuring software components.
MIKELANGELO ensured exploitation of the project’s results. The source code has been, in most cases, included in upstream projects. Our contributions have been accepted to relevant community projects. We presented MIKELANGELO in different settings on ISC-HPC 2016, 2017, SC 2016 and 2017, KubeCon and OpenStack Barcelona Summit.
At the end of this RIA project, we can sum up exploitation with the following data: number of follow-up/attributed projects is 7; commercial contracts stemming from the project is at 7 and the number of components already used in production environments is at 3.