Military Embedded Systems

Legacy system migration without virtualization

Story

October 12, 2011

Kim Rowe

RoweBots Research, Inc.

For the past 15 years, a substantial number of deeply embedded military systems were deployed that used C/C ++ and POSIX. For systems developed with POSIX APIs or similar APIs, three choices exist for migration, which can be superior to traditional virtualization approaches. The first involves exploiting Microcontroller Unit (MCU) technologies and porting applications. The second approach exploits Microprocessor Unit (MPU) technologies and porting several applications into a new MPU. Exploiting multicore and FPGA hardware is the third alternative, which involves mapping functions to hardware and restructuring applications onto this hardware. The following explores these alternatives.

By exploiting C/C++ implementations and POSIX, along with hardware advances, systems can be restructured using one or more of the three aforementioned approaches. In all cases, the Size, Weight, and Power (SWaP) requirements will be reduced, offering a more mobile, agile, and faster end system. Because virtualization is not used in the same way, resources are better allocated and performance is improved.

Exploiting MCU technologies

By replacing boards from a few years ago with Microcontroller Units (MCUs) that offer System-on-Chip (SoC) capability, the same systems become smaller, lighter, and lower power. Substantial cost savings are also achieved. If the development environment for the original system was a POSIX-based operating system, the migration to an MCU environment is straightforward.

If the previous operating system was not POSIX but had a POSIX optional layer, all the device I/O, communication, and synchronization must be replaced with calls to an MCU-based POSIX operating system. The application should port readily. The major costs are integration and test. The approach of replacing boards with SoC MCUs is the easiest way to upgrade existing systems.

Exploiting MPU technologies

The power of microprocessors has substantially increased and this leads directly to the ability to take several applications that ran on several boards and amalgamate them into a single Microprocessor Unit (MPU) board. With integrated peripherals, lower voltages, lower line widths, and multicore to reduce power consumption, there is SWaP savings here as well. Again, cost reduction is significant.

The key to this type of implementation is to condense all the peripheral support onto a single system. Services such as network interfaces, file systems, bus interfaces, and displays must be shared unless they are 100 percent duplicated. This is a similar problem to that encountered with a virtualization approach. Redesign must be completed to the extent that the I/O is now shared and performance goals must still be met.

One primary difference is that while a virtualization approach offers processor partitioning using some metric for the entire application in a given virtual machine, the POSIX approach allows for prioritization of individual threads for all the applications running together. The POSIX amalgamation migration strategy offers substantial performance improvements on the same hardware for this reason. Now the threads can run at any priority, getting the most out of the hardware while reducing SWaP and cost.

The reason that this approach is possible is because there is a common set of Application Programming Interfaces (APIs). Applications are left unchanged, excluding redesign to share peripherals, and applications can communicate more directly to improve performance.

Exploiting multicore and FPGA capabilities

The ability to migrate multiple applications to a multicore platform is perceived as difficult because the multicore programming models are not clearly known. If the applications use POSIX and the OS provides transparent access to all threads on all cores along with transparent I/O, the port is simple. Operating systems involving hybrid models that do not provide a uniform or transparent API for all cores or do not offer universal I/O limit this approach.

The ability to migrate to FPGA technologies is often seen as mapping functionality to hardware, often using a C-to-FPGA compiler. This is still true; however, using one or more soft cores or an included MCU or MPU core running POSIX can support the porting of the remainder of multiple applications and consolidate many features onto a single hardware platform.

Unified capabilities

Better than a traditional virtualization approach, legacy migration can be simplified with operating systems such as RoweBots Research Inc.’s Unison OS, which provides a unified approach to exploiting MCU, MPU, or FPGA/multicore migration strategies. The Unison OS offers MCU, MPU, transparent multicore, and FPGA support using POSIX with C/C ++. Extensive I/O libraries and tools ensure fast and easy application integration on a broad range of embedded hardware.

Kim Rowe is the founder and CEO of RoweBots Research Inc. He can be contacted at [email protected].

 

Featured Companies
Categories
Comms - Communications
Topic Tags