The Internet of Things plays an indispensable role in the development of connected vehicles, which will pave the way for road safety applications. In recent years, the concept of a cooperative collision warning system (CCWS) has been introduced and developed to enhance road safety, and it has been seen as a typical Internet-of-Vehicles application. In most CCWSs, it is vital to have a detection mechanism based on trajectory predictions where the uncertainties associated with vehicular state and motion are complex. However, most available approaches in this regard did not consider these uncertainties. Hence, this article proposes a new collision risk assessment (CRA) method where sigma trajectories that include multiple possible trajectories considering multiple aspects of vehicular motion are designed to cope with vehicular uncertainties. Our method is implemented in a novel server-based architecture, which is different from the commonly used vehicle-based controlled CCWSs. The CRA is provided as a service by a cloud server. The proposed method and architecture are validated and evaluated through extensive real-world experiments. Experimental results show that our method outperforms a referenced method in terms of CRA and achieves better robustness in tolerating communication delays and dropouts. Latencies in CRA service were analyzed, and it was found that powerful computing resources provided by cloud servers can significantly decrease computational cost, which will indirectly compensate for communication costs in the future. Based on our high-performance CRA method, the proposed architecture can be regarded as a novel option for CCWS design.
Current embedded systems are usually based on real-time operating system (RTOS). In the near future, embedded systems will include parallel applications for tasks like autonomous driving, and adopt many-core processors to satisfy the performance requirements. However, traditional RTOSes are not designed for high performance applications and whether they can scale well on many-core processors remains unclear. Meanwhile, research has shown that Linux can provide good scalability for processors with tens of cores. In this paper, an experiment environment based on a traditional multi-core RTOS (TOPPERS/FMP) and an off-the-shelf 72-core many-core processor (TILE-Gx72) is presented. By a comparative analysis of RTOS based and Linux based runtime systems, several bottlenecks in RTOS are identified and the methods to avoid them are proposed. After that, the PARSEC benchmark suite is used to evaluate the performance of RTOS and Linux. The results show that the optimized RTOS runtime system tends to deliver better scalability than Linux in many cases. Therefore, we believe that traditional RTOS like TOPPERS/FMP can still be a good choice for embedded many-core processors in the near future.
1 January 2023 in Journal of Information Processing
The use of Linux in the domain of embedded systems is growing very fast. Due to the complexity of hardware and software on Linux-based platforms, it is challenging to meet the performance requirements, especially for the mixed-criticality system with both real-time and best-effort tasks. We propose a reference design of Linux-based mixed-criticality system using PREEMPT_RT patch to improve real-time performance and QEMU/KVM virtual machine to reduce interferences. An evaluation environment of the proposed design is built with recent software and hardware to investigate the performance characteristics via experimental measurements. We measure and analyze the baseline kernel latency, the system throughput and the real-time performance under multiple conditions. In detailed analysis, we reveal novel insights on the real-time capabilities and limitations of Linux-based embedded systems. The results show that our design can meet the 100µs deadline goal of 1kHz real-time task with high probability under various extreme interferences, and can deliver high throughput for best-effort workload.
Embedded systems for critical applications are often based on resource-constrained devices to meet the requirements like performance predictability and energy consumption. To deal with the increased software complexity, many of these systems have adopted reliable RTOSes (Real-Time Operating Systems) with advanced protection functionalities. Meanwhile, the concept of IoT (Internet of Things) is gaining momentum. Many IoT OSes, specialized to provide the large software stack required by IoT applications, have been released. Nevertheless, neither reliable RTOS nor IoT OS can satisfy all the requirements of IoT-enabled reliable systems. Dual-OS configuration (i.e. the coexistence of reliable RTOS and IoT OS) is a promising approach to achieve high reliability and productivity simultaneously. Existing dual-OS solutions, however, depend on additional hardware features (e.g. virtualization extensions, ARM TrustZone), which are unavailable in most resource-constrained devices. This paper presents iSotEE (iSolated Execution Environment), a middleware allowing IoT OS to run inside an isolated environment on top of a reliable RTOS without special hardware. Open-source implementations of iSotEE for Renesas RX (with TOPPERS/HRP3 as reliable RTOS, Amazon FreeRTOS as IoT OS) and ARMv7-M (with two configurations of Zephyr as reliable RTOS and IoT OS) architectures are provided and evaluated. The results show that iSotEE can create reliable systems with a small footprint for resource-constrained devices, high real-time performance for critical applications, and high productivity and throughput for IoT applications.