Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
\addbibresource

bibliography.bib \footertextRISC-V Summit Europe, Barcelona, 5-9th June 2023

Vitamin-V: Virtual Environment and Tool-boxing for Trustworthy Development of RISC-V based Cloud Services

A. Arelakis9    J.M. Arnau7    J. L. Berral5,10    A. Call5    R. Canal10 Corresponding author: ramon.canal@upc.edu
This work was supported by the Vitamin-V project (Project number: 101093062) funded by the European Union. Views and opinions expressed are, however, those of the author(s) only and do not necessarily reflect those of the European Union or the HaDEA. Neither the European Union nor the granting authority can be held responsible for them.
   S. Di Carlo1   
J. Costa10
   D. Gizopoulos2    V. Karakostas2    F. Lubrano4    K. Nikas6    Y. Nikolakopoulos9   
B. Otero 10
   G. Papadimitriou2    I. Papaefstathiou3    D. Pnevmatikatos6    D. Raho 8   
A. Rigo 8
   E. Rodríguez10    A. Savino1    A. Scionti4    N. Tampouratzis3    A. Torregrosa7
(1Politecnico di Torino, Italy; 2University of Athens, Greece; 3Exapsys, Greece; 4LINKS Foundation, Italy; 5Barcelona Supercomputing Center, Spain; 6Institute of Communication & Computer Systems, Greece; 7Semidynamics, Spain; 8Virtual Open Systems, France; 9ZeroPoint Technologies AB, Sweden; 10Universitat Politècnica de Catalunya, Spain)

1 Introduction

RISC-V is an open-source instruction set architecture (ISA) designed to be simple, modular, and extensible [Waterman:EECS-2016-129]. RISC-V processors offer advantages over proprietary processor architectures, including open standards, customizable designs, and lower licensing costs [greengard2020will]. Yet, some challenges must be addressed before RISC-V can be widely adopted for cloud applications.

Ecosystem maturity: while RISC-V has gained significant momentum in recent years, the ecosystem around RISC-V processors is still developing. This includes hardware and software tools and the number of vendors and support services available.

Performance: while RISC-V processors can offer good performance, they may not yet be able to match the performance of more established architectures like x86 or ARM in specific applications. This can be a barrier to adoption in performance-sensitive cloud applications.

Compatibility: many cloud applications are designed to run on x86 or ARM architectures and might not be compatible with RISC-V processors. This can limit the use of RISC-V in specific cloud environments.

Security: as RISC-V processors become more widely adopted, they may become a target for security attacks. Ensuring the security of RISC-V-based cloud applications will be an important challenge.

Standardization: while RISC-V is an open standard, there is still a need for further standardization in areas such as memory management and I/O interfaces. This can lead to compatibility issues between different RISC-V implementations and limit the portability of RISC-V-based cloud applications.

Vitamin-V operates in this context and tries to address these challenges by deploying a complete RISC-V hardware-software stack for cloud services based on cutting-edge cloud open-source technologies for RISC-V cores, focusing on EPI cores. Vitamin-V incorporates an innovative RISC-V virtual execution environment providing hardware emulation, simulation, and FPGA prototyping to enable software development, verification, and validation before actual hardware is released. Vitamin-V also contributes to porting the complete cross-compiling toolchain, software stack, and essential application libraries for the forthcoming release of the RISC-V EPI processors [EPI, 10.1145/3310273.3323432].

2 Concept and Methodologies

As depicted in Figure 1, Vitamin-V aims to develop a complete RISC-V cloud software stack with comparable performance to the cloud-dominant x86 counterpart.

Refer to caption
Figure 1: VITAMIN-V concept and architecture

The unavailability of full-fledged RISC-V systems poses a significant challenge for porting and evaluating cutting-edge cloud setups and software stacks. Commercial cloud systems use hardware features partially available in RISC-V virtual environments and commercial hardware cores. These features include virtualization, cryptography, and vector extensions. One of the primary goals of Vitamin-V is to overcome this challenge by building the Vitamin RISC-V virtual execution environment (VRISC-V). VRISC-V is a complete advanced multi-layered high-performance RISC-V virtual environment based on three cutting-edge technologies: functional emulation (QEMU [QEMU]), cycle-accurate simulation (gem5) [gem5], and an FPGA-based hardware prototype system node capable of running using AWS EC2 F1 FPGAs (and thus scalable to 100s of nodes)(FPGA [Amazon]). Every technology provides unique features that are important during software development, validation, verification, and testing, to favor RISC-V adoption by software developers. With QEMU and the RISC-V on FPGA, the project aims at simulating multi-node systems with more than 100 cores. The goal is to simulate multi-node systems in gem5 with cycle-accurate accuracy and microarchitectural configuration flexibility.

Besides the RISC-V main CPUs, EPI also develops accelerators that are especially interesting for cloud setups, including one for memory compression. Consequently, Vitamin-V will support such accelerators in the VRISC-V virtual execution environment.

Vitamin-V will fully support rapid software development in new RISC-V hardware setups. It will provide a mature compiler toolchain based on LLVM to handle the complete RISC-V ISA, including its extensions. Moreover, the project will develop a validation, verification, and testing (VVT) toolset for developers to identify software bugs and illegal or malicious code sequences, thus favoring software layers’ trustworthiness in future RISC-V systems. VVT tools will use the VRISC-V platform to foster software porting and prototyping before mature hardware is released and available. This is crucial to favor the migration toward new RISC-V servers in the cloud.

Vitamin-V will port all necessary machine-dependent modules in relevant open-source cloud software distributions to enable the execution of complete cloud stacks on the VRISC-V virtual execution environment. Targeted modules include support for running entire Virtual Machines (VMs), containers, and lightweight VMs (KVM, QEMU, Docker, RustVMM), safety-security trusted execution environments (VOSySMonitoRV), cloud management software (OpenStack, Kubernetes, Kata Containers), and AI and Big Data libraries (Tensorflow, Spark).

Vitamin-V will address a classic cloud stack that targets the execution of entire VMs managed by OpenStack, a modern cloud setup that targets entire VMs and containers managed by Kubernetes, and a serverless cloud stack that targets the execution of lightweight VMs managed by Kubernetes with Kata Containers.

To demonstrate the three working cloud setups, they will be benchmarked against relevant AI applications (i.e., Google Net, ResBet, VGG19), Big-Data applications (TPC-DS on top of Apache Spark), and Serverless applications (FunctionBench, ServerlessBench). Vitamin-V aims to match the software performance of its x86 equivalent (x86 is the dominant ISA in cloud servers). Given the limited availability of RISC-V hardware, measures will be averaged by resorting to the CPU core mark scores to achieve a fair assessment. Overall, such development guarantees a RISC-V cloud-stack ecosystem for market take-up.

3 Conclusions

Cultivating a new era of open and collaborative computing, integrating RISC-V in cloud computing represents a crucial opportunity to revolutionize the industry with its unparalleled flexibility, efficiency, and scalability. Vitamin-V aims to play a crucial role in this challenging revolution.

\printbibliography