Vitamin-V aims to develop a complete RISC-V open-source software stack for cloud services with iso-performance to the cloud dominant x86 counterpart and a powerful virtual execution environment for software development, validation, verification, and test that considers the relevant RISC-V ISA extensions for cloud deployment.
Specifically, commercial cloud systems make use of hardware features that are currently unavailable in RISC-V virtual environments (not to mention the lack of specific RISC-V hardware). These features include the virtualization, cryptography and vectorization for which Vitamin-V will add support in three virtual environments: QEMU, gem5 and cloud-FPGA prototype platforms. Vitamin-V focuses and will provide support for EPI-based RISC-V designs for both the main CPUs and cloud-important accelerators (for memory compression). We will add the compiler (LLVM-based) and toolchain support for the ISA extensions. Moreover, novel approaches for the validation, verification, and test of software trustworthiness will be developed considering.
Vitamin-V will port and evaluate several cutting-edge VMMs and container suites (i.e. VOSySmonitor, KVM, QEMU, Docker, RustVMM, Kata containers), cloud management software (i.e. OpenStack, and Kubernetes) together with their software and libraries dependencies (e.g. JVM, Python); and AI (i.e Tensorflow) and BigData applications (Apache Spark). These software suites are representative of the three cloud setups that will be demonstrated: classical (OpenStack), modern (Kubernetes), and serverless (RustVMM, Kata, Kubernetes). The cloud setups will be benchmarked against relevant AI (i.e. Google Net, ResBet, VGG19), BigData (TPC-DS), and Serverless applications (FunctionBench, ServerlessBench). Vitamin-V aims to match the software performance of its x86 equivalent while contributing to RISC-V open-source virtual environments, software validation and cloud software suites.
In detail our objectives are:
Objective 1: Develop Vitamin RISC-V (VRISC-V), a complete virtual execution environment providing emulation, simulation, and FPGA prototyping of EPI RISC-V based systems to favor and support software development for future cloud architectures powered by EPI RISC-V cores.
Objective 2: Deliver a toolset to support software developers and allow development, validation, verification, and testing of the trustworthiness of software layers over RISC-V architectures.
Objective 3: Port relevant open-source cloud software distributions comprising classical, modern, and serverless cloud setups to RISC-V, making them ready for the VRISC-V virtual environments.
Objective 4: Demonstrate AI, Big-Data, and Serverless applications running on top of classic, modern, and serverless cloud environments.