Rick Tewell of Verisilicon presents a white paper on GPU Virtualization in SoCs, please find the executive summary below with the full 11 page paper available for download.
When you think about virtualization computing technology one of the applications that doesn’t typically spring to mind is the automobile. Yet, the automotive electronics industry is on an aggressive drive to adopt virtualization in the car in a big, perhaps even revolutionary, way. For a variety of reasons, primarily driven by cost and ever increasing electronics complexity, automotive OEMs and their tier one suppliers have a desire to have a single electronic control unit (ECU) driven by a single powerful system on a chip (SoC) controlling both the instrument cluster and the infotainment system.
The revolutionary step here is the combining of two major, historically and fiercely independent ECU platforms in the vehicle into a single ECU in an effort to decrease overall system complexity and cost.
This represents a watershed moment in the history of automobile electronics. To accomplish this complex task successfully, a strong virtualization platform is required to allow the running of a minimum of two independent operating systems on an ECU under control of a single SoC. There must be, at a minimum, one OS to drive the safety critical function of the instrument cluster and another completely separate (and often more than one) OS to drive the infotainment platform for in vehicle infotainment (IVI).
The process of virtualization requires that resources inside of the SoC be shared between the various and diverse operating systems running on the SoC. This is, of course, somewhat obvious. For example, if there are three operating systems running on a single SoC, and there is only one graphics processor (GPU) in the SoC and the applications running on these operating systems require graphics, then the only option is for the operating systems to share the GPU; precisely how to do this sharing is the big question. Tremendous effort has been invested in answering this question over the last several years and it is the automotive market with its unique requirements and concerns that is fueling a high percentage of this research and development. To say that there is technical consensus on the issue would be inaccurate at best.
In this paper, we will explore GPU virtualization as it applies to embedded systems with a special focus on the automotive market. We will discuss embedded systems GPU virtualization concepts, methods and current solutions with a forward look to new better performing hardware based techniques that will exist in the near future.