Embedded Computing Design

Subscribe

Receive our complimentary magazine via U.S. Mail or E-mail.

MES

RTOS: Cars, cores, and clouds

Embedded Computing Design — December 15, 2009

ECD: You’re making a heavy push into in-vehicle apps – tell us why, and what’s the strategy there?

MARINEAU-MES: To attract consumers today, automakers must equip their vehicles with a sophisticated mix of navigation, multimedia, telematics, and connectivity features. Just as important, they must deliver an iPhone-caliber user experience, keeping pace with fast-evolving consumer tastes and devices and allowing the developer community to keep the car fresh with new applications.

That’s a tall order. To help address it, the QNX CAR application platform allows developers to target the car with cloud-based applications based on Web standards such as Adobe Flash and HTML 5.

Currently, QNX CAR includes two reference implementations, one for infotainment systems and one for digital instrument clusters. The infotainment reference provides preintegrated support for technologies from Adobe, Apple, Google, Gracenote, Microsoft, and Pandora, dramatically reducing development time for automotive customers.

In both implementations, an optimized version of Adobe Flash Lite makes it easy to port existing applications and allows skinnable, dynamically reconfigurable user interfaces to be deployed. Moreover, it allows user interfaces to be designed with high-level tools and deployed directly in the car, without having to translate them into lower-level programming code – another huge time-saver.

The QNX CAR application platform is already being used for 2011 vehicles and has attracted more than 50 automotive customers and technology partners.

ECD: Like many Real-Time Operating System (RTOS) vendors, you’re providing support for multicore Systems-on-Chip (SoCs) going into a range of embedded devices. What’s different about your approach?

MARINEAU-MES: To begin with, our multicore support is very mature. We introduced support for Symmetric Multiprocessing (SMP) in the 1990s, prior to the advent of multicore processors and long before any of our competitors. Moving to multicore was very natural for us and for our customers, many of whom use QNX SMP to build massive Internet routers and other high-end equipment.

Some legacy applications have concurrency issues that prevent them from functioning correctly in an SMP multicore system. QNX has introduced Bound Multiprocessing (BMP), an innovative extension to SMP that lets the developer bind any process and its threads to a single core. This approach lets legacy applications run correctly in a multicore environment without modifications while allowing newer applications to take full advantage of the parallel execution and dynamic load balancing of conventional SMP.

In addition, all of the tools in the QNX Momentics Tool Suite are multicore-aware. For instance, our system profiler can track threads as they migrate from one core to another, diagnose interprocess communication flowing across cores, and identify resource contention between threads on different cores.

Meanwhile, our adaptive partitioning technology provides the only time-partitioning solution for multicore systems. If you tell the QNX partitioning scheduler to guarantee an application 20 percent of CPU time, it will do so regardless of whether the application runs on one or multiple cores. Also, if the application doesn’t consume the 20 percent budget, other applications can take advantage of the unused CPU cycles. With conventional partitioning schedulers, those cycles always go unused.

ECD: What would you say is the one overriding trend that will reshape the way devices are developed in this new decade?

MARINEAU-MES: Enterprise computing started with mainframes connected to terminals, then moved to applications hosted on local machines. Now, those applications are moving back to the cloud. A similar trend is happening with embedded devices, which will progressively become access points to cloud services.

With the pervasive deployment of 4G wireless broadband technologies, devices will no longer be restricted by local hardware resources. For instance, instead of providing relatively primitive voice recognition limited by onboard processing, a car’s infotainment unit can use a sophisticated, server-based system that recognizes natural language. The scenarios are endless. In this world, embedded devices will provide access to a growing number of services. The challenge will be to create software platforms that are reliable enough for embedded environments, but flexible and extensible enough to evolve as renderers for cloud applications.

Sebastien Marineau-Mes is vice president of engineering for QNX Software Systems, based in Ottawa, Ontario, Canada, and is responsible for all QNX R&D activities. Since joining QNX, he has held positions of increasing responsibility, from software architect to director of the OS group. He has been a major contributor to the QNX technology portfolio, including multicore, adaptive partitioning, and development tools.

QNX Software Systems

613-591-0931

www.qnx.com