vCLIC: Towards Fast Interrupt Handling in Virtualized RISC-V Mixed-criticality Systems

Enrico Zelioli,Alessandro Ottaviano,Robert Balas,Nils Wistoff,Angelo Garofalo,Luca Benini
2024-10-10
Abstract:The widespread diffusion of compute-intensive edge-AI workloads and the stringent demands of modern autonomous systems require advanced heterogeneous embedded architectures. Such architectures must support high-performance and reliable execution of parallel tasks with different levels of criticality. Hardware-assisted virtualization is crucial for isolating applications concurrently executing these tasks under real-time constraints, but interrupt virtualization poses challenges in ensuring transparency to virtual guests while maintaining real-time system features, such as interrupt vectoring, nesting, and tail-chaining. Despite its rapid advancement to address virtualization needs for mixed-criticality systems, the RISC-V ecosystem still lacks interrupt controllers with integrated virtualization and real-time features, currently relying on non-deterministic, bus-mediated message-signaled interrupts (MSIs) for virtualization. To overcome this limitation, we present the design, implementation, and in-system assessment of vCLIC, a virtualization extension to the RISC-V CLIC fast interrupt controller. Our approach achieves 20x interrupt latency speed-up over the software emulation required for handling non-virtualization-aware systems, reduces response latency by 15% compared to existing MSI-based approaches, and is free from interference from the system bus, at an area cost of just 8kGE when synthesized in an advanced 16nm FinFet technology.
Hardware Architecture
What problem does this paper attempt to address?
The paper attempts to address the issue of fast interrupt handling in virtualized RISC-V mixed-criticality systems. Specifically, the existing RISC-V ecosystem lacks an interrupt controller that supports virtualization and real-time features, leading to problems such as high interrupt latency and uncertain response times. To solve these issues, the authors propose vCLIC (virtualized extension of the RISC-V CLIC fast interrupt controller), aiming to achieve the following goals: 1. **Reduce interrupt latency**: Through hardware-assisted virtualization technology, vCLIC can significantly reduce interrupt handling latency, achieving a 20x speedup compared to software emulation methods. 2. **Improve response speed**: Compared to existing virtualization strategies based on message signal interrupts (MSI), vCLIC reduces response latency by 15%. 3. **Avoid system bus interference**: vCLIC is designed to be independent of the system bus, thereby avoiding latency increases caused by bus contention. 4. **Low area overhead**: The area overhead of vCLIC in a 16nm FinFet process is only 8kGE, having a very minimal impact on the overall system. With these improvements, vCLIC can provide a more efficient and reliable interrupt handling mechanism in virtualized embedded systems, particularly suitable for applications requiring real-time performance and high reliability, such as autonomous driving, navigation, and robotics technology.