Monday, December 9, 2013

So many cores — what to do with them all?

Multi-core processors are clearly becoming the mainstream for automotive infotainment systems. TI’s OMAP processors and their automotive derivatives use dual A15 cores, Freescale's i.MX 6 boasts up to four A9 cores, and other companies also have multi-core architectures in production or on near-term roadmaps. Quad-core A15 processors are just around the corner. As a percentage of overall die area, the CPU core is relatively small, so SoC producers can lay down multiple cores with little impact on cost. GPUs, on the other hand, represent a large percentage of the die area and, as such, are typically instantiated only once per SoC.

Realistically, infotainment systems should no longer be CPU bound. In fact, when looking at leading-edge SoCs available today, many are asking what to do with all that extra CPU just sitting there, waiting to do something. At first blush, the more obvious areas to merge are infotainment and ADAS, or infotainment and digital instrument clusters. This is, at the highest level, pretty much a no-brainer so long as the safety requirements mandated for clusters and ADAS can be achieved.

Thing is, automotive safety standards like ISO 26262 require system-level certifications. As such, the entire system needs to be certified. Already a daunting task for a standalone ADAS system or digital instrument cluster, the problem can become unmanageable when you include the full infotainment stack.

Think about your car. Your cluster does a handful of operations whereas your infotainment system runs a full navigation system, voice recognition, multimedia, device connectivity, and, in the connected case, cloud services. People don't get frustrated trying to figure out how your cluster works (I hope), and they don't give up trying to figure out how fast the car is moving. The same cannot be said for many infotainment systems shipping today. Ask your mother to pair her cell phone to her car. I dare you! The complexity involved in attempting to certify a system that combines infotainment and cluster functions is orders of magnitude higher than certifying a cluster alone.

All is not lost, however. Virtualization offers an elegant way to isolate multiple systems running on a single multi-core SoC. By using virtualization you could seek certification on the cluster without burdening yourself with the infotainment problem and collapse two formerly discrete systems onto one SoC. You would save money and probably get a promotion to boot. Just one thing: there is still only one GPU on the die and both the infotainment system and the cluster rely heavily on that single GPU.

Enter Red Bend Software, a long-time QNX CAR Platform partner for FOTA. They have taken the challenge of virtualizing the GPU head-on and successfully demonstrated the QNX CAR Platform and a Crank Software-based digital instrument cluster running on dual displays driven by a single OMAP 5 at Telematics Munich. I saw it and was impressed with how snappy performance was on the infotainment side and how smooth the needles were (60+ fps) on the cluster.

Using virtualization to drive dual displays from a single TI OMAP 5 processor.

According to Red Bend, they have designed a GPU-sharing architecture that enables multiple guest operating systems to access hardware accelerators, including the GPU, providing isolation between the operating systems while having a minimal impact on overall performance (which probably isn't a huge deal considering how many CPU cores are going to be shipping on a single SoC in the near term). It sounds impressive, but seeing is believing.

Red Bend will next show this demo in the TI Suite at CES (N115 in the North Hall). If system consolidation is something that keeps you up at night, you should really stop by to see what they have done.

No comments:

Post a Comment