In safety-critical systems, time predictability is vital. This extends to I/O operations which require predictability, timing-accuracy, parallel access, scalability, and isolation. Currently, existing approaches cannot achieve all these requirements at the same time. In this paper, we propose a framework of hardware framework for real-time I/O virtualization termed BlueIO to meet all these requirements simultaneously. BlueIO integrates the functionalities of I/O virtualization, low layer I/O drivers and a clock cycle level timing-accurate I/O controller (using the GPIOCP. BlueIO provides this functionality in the hardware layer, supporting abstract virtualized access to I/O from the software domain. The hardware implementation includes I/O virtualization and I/O drivers, provides isolation and parallel (concurrent) access to I/O operations and improves I/O performance. Furthermore, the approach includes the previously proposed GPIOCP to guarantee that I/O operations will occur at a specific clock cycle (i.e. be timing-accurate and predictable).In this paper, we present a hardware consumption analysis of BlueIO, in order to show that it linearly scales with the number of CPUs and I/O devices, which is evidenced by our implementation in VLSI and FPGA. We also describe the design and implementation of BlueIO, and demonstrate how a BlueIO-based system can be exploited to meet real-time requirements with significant improvements in I/O performance and a low running cost on different OSs.
Download Not Available

BibTex Entry

@article{Jiang_2019,
 author = {Zhe Jiang and Audsley, {Neil Cameron}},
 day = {1},
 issn = {1539-9087},
 journal = {ACM Transactions in Embedded Computing Systems},
 language = {English},
 month = {1},
 note = {{\circledC} 2019, ACM, Inc. This is an author-produced version of the published paper. Uploaded in accordance with the publisher’s self-archiving policy. Further copying may not be permitted; contact the publisher for details.},
 publisher = {Association for Computing Machinery (ACM)},
 pure_url = {https://pure.york.ac.uk/portal/en/publications/blueio-a-scalable-realtime-hardware-io-virtualization-system-for-manycore-embedded-systems(333a924c-8e93-4574-aa07-a72d219a8ae3).html},
 title = {BlueIO: A Scalable Real-Time Hardware I/O Virtualization System for Many-core Embedded Systems},
 year = {2019}
}