Make Real-Time Real with Explicit Hardware Partitioning
With the growth of cloud technology and the Internet of Things (IoT), Industry 4.0 is well on its way. By connecting factory machines and operations to the cloud, companies achieve the centralized control capabilities and analytics they need for more efficient machine loading, process optimization, and preventive maintenance.
In helping factories make this transition, industrial machine makers want to be able to use familiar tools and solutions that will help them speed time to market. For instance, they would like to continue using Microsoft Windows* as the standard platform for enterprise control functions and human-machine interfaces (HMIs). At the same time though, these IoT solutions must support real-time control functionality.
One way of achieving the required coexistence of non-real and real-time functions is by modifying Windows or adding the extra overhead of hypervisors. This article looks at a different approach. We consider how INtime* for Windows software from TenAsys can partition applications running on an IoT gateway without affecting performance or causing conflicts between real-time and non-real-time workloads. We show how the features of Intel® IoT Gateway Technology and Intel® processors contribute to the performance, security, and manageability capabilities of this solution. We explain the significant advantages of these gateways for HMI interfaces. And we close with a discussion of how through design scalability this approach allows machine manufacturers to take advantage of future processor and software advancements.
Building Smart Factories
Today's industrial automation press promotes the value IoT gateways provide as building blocks for the smart factories of the next industrial revolution, Industry 4.0. These gateways connect legacy and new factory devices to the Internet, supporting a range of interfaces over which machines can talk (Figure 1). The most basic designs provide security and manageability features, as well as processing capabilities.
Figure 1. Gateways based on Intel® IoT Gateway Technology connect legacy and new factory devices to the Internet.
They could do much more. The scalability of Intel® processors enables powerful gateway designs that can simultaneously handle Internet traffic, run standard Windows applications and HMIs, and control machine operations. By consolidating these workloads on a single platform on the factory floor, machine manufacturers can help factories reduce system hardware and software costs. In addition, such consolidation can lower total cost of ownership (TCO) by reducing the number of units requiring power and maintenance.
Consolidation requires a gateway that can simultaneously run the Microsoft Windows operating system (OS) and a real-time operating system (RTOS) supporting deterministic, real-time control applications. Combining these OSs requires embedded virtualization to partition platform hardware resources to keep real-time and non-real-time environments apart.
People generally think of hypervisors or virtual machine monitors (VMMs) when considering virtualization. But this type of virtualization can limit the guest OS to the services provided by the host hypervisor or VMM and affect determinism and adaptability.
Explicit Hardware Partitioning
Embedded virtualization implemented through “explicit hardware partitioning” delivers a better solution. It dedicates processor and hardware resources to different tasks. For example, explicit hardware partitioning enables hardware isolation in a Windows-based system by using a base service expressly designed to partition the system so that real-time tasks run on the RTOS and Windows applications run on Windows (Figure 2).
Figure 2. Explicit hardware partitioning solutions like TenAsys INtime for Windows partition a system so that real-time tasks run on its RTOS and Windows applications run on Windows.
Unlike solutions dependent solely upon virtual machines with hypervisors, explicit hardware partitioning avoids affecting the performance of either OS. The OSs, drivers, and software work without interruption, so the highest performance is always achieved. What's more, because Windows runs natively in this implementation, no Microsoft Windows software license is violated.
Explicit hardware partitioning results in an asymmetric system in which a Windows host system can run different OSs, each tailored to a specific function. For example, in an embedded system used to control factory machinery, one or more processor cores can execute the RTOS and its applications and I/O operations, while other processor cores run Windows and its applications and I/O operations.
A Real-Time Explicit Hardware Partitioning Solution
Explicit hardware partitioning based on asymmetric multiprocessing was first introduced by TenAsys* Corporation in 1997 and is the most time-tested solution in today's market. TenAsys INtime for Windows RTOS is field-proven in hundreds of applications running millions of flawless execution hours. It performs well with processors specified for Intel IoT Gateway Technology such as Intel® Core™ processors and multicore members of the Intel® Atom™ processor product family.
For industrial processes, INtime* for Windows' full-featured RTOS kernel supports 256 priority levels and round-robin scheduling within each level. The RTOS includes a full complement of inter-process communication and synchronization mechanisms that support the high-end real-time needs of the most demanding embedded applications.
To enable real-time and Windows applications to run natively on assigned processor cores, INtime for Windows partitions system resources with the help of standard Windows application programming interfaces (APIs). The INtime for Windows RTOS and the Windows OS each get exclusive access to the processor I/Os and signals that they need (Figure 3). The real-time processes running on INtime for Windows are not subject to Windows tasking or virtual memory mechanisms. Furthermore, developers have access to standard Windows features and off-the-shelf applications without compromising the real-time control that industrial applications demand. These control applications achieve microsecond response times while exercising complete control over real-time processes with reliable and predictable results.
Figure 3. TenAsys's explicitly partitioned solution gives the INtime RTOS and the Microsoft Windows* OS exclusive access to the processor I/Os and signals that they need.
For the IoT gateway, the Internet interface and its associated security software are two additional computing workloads that the system must process along with industrial control and Windows-based HMI functions. Applications on either side of the partition communicate via a built-in virtual Ethernet interface and an NTX service that enable content sharing of real-time objects, as well as supervisory control. As applications scale in capacity and functionality, this communication mechanism is much easier to maintain than relying only on the use of shared memory regions.
Familiar Development Environment
With the ability to combine real-time and non-real-time processing workloads on a single IoT gateway comes the desire to combine software development environments. INtime for Windows allows developers to edit, compile, and debug RTOS applications using off-the-shelf Microsoft Visual Studio* just as they do with standard Windows applications. There is no need to purchase or learn additional development tools. Only the time-critical parts of an application must be coded in INtime. All other application parts, like pre- and post-processing and HMI, can be developed for and executed within the Windows environment.
Making Effective Use of Embedded Hypervisors
An extension of TenAsys’ explicit partitioning approach, TenAsys eVM* for Windows, provides a hypervisor to allow for a different OS (e.g., Linux*) that runs alongside and independently of Windows and the INtime RTOS (Figure 4). Although it's a hypervisor-based virtualization solution, TenAsys eVM virtualizes services only where absolutely needed. This approach ensures the guest RTOS retains its deterministic and real-time capabilities and provides the greatest versatility in supporting legacy RTOSs or general and proprietary OSs without the need for modification. TenAsys has tested eVM for Windows with a wide range of guest OSs, including Linux, VxWorks*, QNX*, and Windows* CE.
Figure 4. TenAsys eVM for Windows provides a hypervisor for use with a different OS alongside Microsoft Windows and separate from the INtime RTOS.
TenAsys eVM for Windows runs on Intel processors enabled with Intel® Virtualization Technology (Intel® VT). Intel VT reduces any potential performance burden by providing a hardware-assist to allocate memory and real (as opposed to virtualized) I/O to a specific partition. This allocation greatly minimizes latency.
Gateways to Consolidation
Combining workload processing on gateways is a good way to reduce hardware and software costs, as well as power needs. It also future-proofs a solution by allowing for processor technology migration and new software applications.
Intel IoT Gateway Technology-based solutions equipped with Intel Atom or Intel Core processors provide an excellent embedded PC platform for multifunction designs. With a system partitioned by INtime for Windows, these gateways are application-ready to run standard, out-of-the-box Windows and enable machine manufacturers to add third-party software. For example, a gateway can provide the software environment for a computer numerical control (CNC) machine with all computing functions integrated on a single platform. Or it can run a motion system, a software-based programmable logic controller (PLC), an HMI, and a firewall – all from different vendors.
A significant advantage of these Intel processors is their integrated high-definition (HD) graphics. Factory floor HMI stations may incorporate a large volume of graphics, images, and sometimes videos to deliver a vivid representation of factory status. Visual processing advancements in the Intel® HD Graphics engine provide powerful 2D and 3D capabilities that support APIs such as Microsoft DirectX 11, OpenGL 4.0, and OpenGL 1.2. The integrated graphics also include hardware video encode and decode engines for smooth recording and playback.
Application-Ready and Secure
Intel IoT Gateway Technology gives developers the flexibility to create and deploy innovative, cost-effective, and secure industrial IoT solutions on a range of Intel processors. Industrial-grade solutions based on Intel IoT Gateway Technology and supporting industrial fieldbus standards to connect legacy sensors and control nodes are available from members of the Intel® Internet of Things Solutions Alliance. Many of these solutions use Microsoft Windows* 10 IoT – an OS designed for gateways and other edge devices.
Gateways based on Intel IoT Gateway Technology offer robust security capabilities. For example, when equipped with Windows 10 IoT, these gateways include secure boot, trusted driver and application validation, enforcement of security policies related to software components, broad secure networking capabilities, and a trust model across hardware. This enterprise-grade security helps keep data safe on devices and in transit. For further protection, developers can create read-only devices for predictable device experiences.
In addition, Windows 10 IoT simplifies manageability and connectivity. Intel IoT Gateway Technology-based solutions running Windows 10 IoT can connect, configure, and update in the same way other Windows devices are managed.
Build Your Real-Time Gateway
Consolidating Windows- and RTOS-based workloads with explicit hardware partitioning ensures the best performance on both sides of the partition. By running TenAsys INtime for Windows on gateways based on Intel IoT Gateway Technology, machine manufacturers reduce hardware costs and TCO for their customers while helping bring them into Industry 4.0.