Resolving Performance Interference in SR-IOV Setups with PCIe Quality-of-Service Extensions

PCI Express (PCIe) Single Root I/O Virtualization (SR-IOV) enables low latency and high performance virtualization of I/O devices. It has been embraced in cloud computing and is considered a promising foundation for sharing I/O in future multi-core embedded and mixed-criticality systems. Unfortunately, SR-IOV is vulnerable to Denial-of-Service (DoS) attacks, which cause performance interference. For cloud computing, an approach that mitigates ongoing attacks via software scheduling has been proposed. However, for embedded and mixed-criticality systems, solutions that go beyond mitigation are preferred. In this paper, we propose two integrated hardware architectures that completely prevent DoS attacks. As a foundation, we utilize optional Quality-of-Service (QoS) extensions from the PCIe specification. We determine which QoS extensions are needed, and show how virtualized multi-core CPUs need to implement and interface them (an aspect explicitly not covered in the PCIe specification) to enable DoS protection. The two proposed architectures are optimized for different goals, scheduling freedom or minimal hardware costs. As PCIe QoS is absent from current hardware, we evaluate our architectures with a QoS-enabled SystemC model of a real-world lab-setup. Results show that both architectures successfully prevent DoS attacks. To the best of our knowledge, we are the first to explore and evaluate feasibility of PCIe QoS for SR-IOV DoS prevention.

[1]  Gil Neiger,et al.  Intel virtualization technology , 2005, Computer.

[2]  Henrik Theiling,et al.  Multicore in Real-Time Systems – Temporal Isolation Challenges due to Shared Resources , 2013, DATE 2013.

[3]  Lui Sha,et al.  Real-Time I/O Management System with COTS Peripherals , 2013, IEEE Transactions on Computers.

[4]  Andreas Herkersdorf,et al.  Performance Isolation Exposure in Virtualized Platforms with PCI Passthrough I/O Sharing , 2014, ARCS.

[5]  No License,et al.  Intel ® 64 and IA-32 Architectures Software Developer ’ s Manual Volume 3 A : System Programming Guide , Part 1 , 2006 .

[6]  Andreas Herkersdorf,et al.  Denial-of-Service attacks on PCI passthrough devices: Demonstrating the impact on network- and storage-I/O performance , 2015, J. Syst. Archit..

[7]  Jürgen Becker,et al.  Hardware virtualization support for shared resources in mixed-criticality multicore systems , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[8]  Henrik Theiling,et al.  Multi-core Interference-Sensitive WCET Analysis Leveraging Runtime Resource Capacity Enforcement , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[9]  Andreas Herkersdorf,et al.  Temporal Separation for Hardware-Based I/O Virtualization for Mixed-Criticality Embedded Real-Time Systems Using PCIe SR-IOV , 2014, ARCS Workshops.

[10]  Wang Yi,et al.  Performance isolation for real-time systems with Xen hypervisor on multi-cores , 2014, 2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications.

[11]  Xiaowei Yang,et al.  High performance network virtualization with SR-IOV , 2010, HPCA - 16 2010 The Sixteenth International Symposium on High-Performance Computer Architecture.

[12]  Andreas Herkersdorf,et al.  A Hardware/Software Approach for Mitigating Performance Interference Effects in Virtualized Environments Using SR-IOV , 2015, 2015 IEEE 8th International Conference on Cloud Computing.

[13]  Andreas Herkersdorf,et al.  Spatial and temporal isolation of virtual CAN controllers , 2014, SIGBED.