Skriv ut

HarmanEfter mobiler
och flygplan:

Virtualisering
i bilen

Nu ska fordonssystem och infotainment köras på  en och samma processor  med hjälp av virtualisering. Elektroniktidningen har kartlagt den växande skaran av leverantörer.
HÄR ÄR LEVERANTÖRERNA
Elektroniktidningen hittar nio leverantörer av hypervisorlösningar för fordonselektronik. Några är på väg upp ur startgroparna och  andra är gamla rävar, ibland under nytt flagg. Klicka för stora bilder!

General Dynamics, OKL4
Hypervisorn OKL4 finns i miljarder mobiltelefoner. General Dynamics fick den genom att köpa australiska OK Labs hösten 2012. Redan 2011 pekade företaget ut fordonselektronik som en kommande viktig nisch för hypervisorer och utlovade stöd för Linux och Autosar på Arm.
I mars 2012 kom den första beställningen – ett IVI-system till Bosch.

Sysgo, PikeOS
Tyska Sysgo har blandat säkerhetskritisk realtid med Linux i PikeOS i ett decennium och ska finnas i fordon som rullar på vägarna idag. Dessutom ska PikeOS ha fått flera nya design wins i fordon under de senaste fyra åren.
Sysgo hävdar att PikeOS är ensamt om att användas på en multikärna i ett system på den högsta säkerhetskritiska nivån (SIL 4, EN 50128).

Globallogic, Nautilus (Xen)
Amerikanska Globallogics plattform Nautilus använder hypervisorn Xen. Den är populär i servrar och är liksom OKL4 öppenkod.
Xen-utvecklarna började lägga krut på fordon i somras efter att Arm Cortex A15 lanserats med hypervisorstöd. Xen stöder både 64- och 32-bitars Arm, men enbart i versioner med hypervisor. Detsamma gäller för Intel Atom.
Linux och Android fungerar som gäster. Också QNX har testats och Autosar-stöd planeras.
Så färsk som plattformen är, har Globallogics ändå redan en design win och sägs ha ett snabbt växande partnernät.
Stöd för strikt realtid och säkerhetskritiska system är Xen-utvecklarna försiktiga att våga göra utfästelser om. Det ska vara teoretiskt möjligt men i så fall ”efter grundliga tester”.

HypervisorOpensynergy, Qoqos (PikeOS)
En paketlösning kallad Qoqos från tyska Opensynergy, som räknar General Motors, Hyundai och VW bland sina kunder, utlovar Adas (förarassistans) och Android på samma cpu i system som klarar säkerhetscertifiering.
I ett exempel delar Qoqos upp hypervisorn i fyra fack: ett för realtidsfunktioner, ett för backkameran och andra funktioner som kräver kort starttid, ett för Autosarkomponenter, och slutligen ett där Linux eller Android kan ta hand om IVI-funktionalitet och annan mindre kritisk funktionalitet som telefoni och navigering.
Arm och Atom stöds, och kärnor i multikärnor kan fördelas fritt mellan gästerna. Qoqos brukade använda OKL4 som hypervisor, men idag används PikeOS.
Företaget har levererat ett system som går i produktion nu, och fler kommer att gå i produktion under de kommande åren.

red bendRed Bend, Vlogix Mobile
Amerikanska Red Bend förvaltar sedan 2010 marknadens äldsta hypervisor, som gått från hand till hand ända sedan 80-talet. Vlogix är tidigare känd som VLX, Jaluna och Chorus.
Företaget kombinerar hypervisorn med en existerande produkt för uppdatering av mjukvara – den finns i 1,75 miljarder mobiltelefoner och sedan i höstas kan den också uppdatera mjukvaran i fordonsdatorer.

Green Hills, Integrity
Integrity har bred användning inom säkerhetskritiska system, särskilt militär och flyg. Men också fordonstillverkare i USA, Europa och Japan sägs vara kunder sedan flera år.
Integrity stöder Android, Genivi Linux och Windows. Den kan köra Autosarkomponenter och tvekar inte att inkludera säkerhetskritiska funktioner.

MentorMentor Embedded, Hypervisor
Inbyggnadsjätten Mentor Graphics har lovat att ha sin första hypervisor funktionsduglig i december 2013. När den lanserades i oktober låg fokus helt på fordonselektronik – telematik, Adas, infotainment och instrumentkluster.
I partitionerna körs Autosar, Android, Linux och Nucleus.
Mentor nämner enbart Arm som processor. Företaget framhäver att Arms teknik Trustzone kan utnyttjas för att göra hypervisorn ännu säkrare.
Bosch gör tummen upp i Mentors pressrelease.

Mapusoft, Cross OS Hypervisor
Cross OS Hypervisor är möjligen inte formellt en hypervisor, även om den kallas så, utan en kompilator och ett operativsystem som stöder många operativsystemsgränssnitt samtidigt, bland annat Linux, VxWorks och PSOS.
Programmen från andra operativsystem omkompileras för Cross OS. Enligt Mapusoft blir detta effektivare och spar resurser som skulle vara dubblerade i en konventionell hypervisor.
Cross OS är en utveckling av företagets etablerade produkt OS Changer som porterar kod mellan olika operativsystem på samma sätt.

Wind River HypervisorWind River, Hypervisor
Wind River stängde in den svenska OS-gurun Johan Fornaeus i ett labb år 2006. Tre år senare kom han ut med en hypervisor och redan då demonstrerade företaget möjligheten att blanda Linux och realtid i fordonselektronik.
Utöver x86 och Arm stöds Powerprocessorer. Som gäst stöder man Windows, Linux och det egna operativsystemet VxWorks.
Förarassistans och annan säkerhetskritisk funktionalitet ska gå att blanda in i mixen.
Antalet funktioner i våra bilar blir allt fler. Därmed även ECU:erna (electronic control units, fordonsprocessorer) även om tillverkarna ibland lyckas konsolidera ett par av dem till en gemensam processor. Nu tas ett nytt verktyg i bruk för ändamålet – hypervisorn, som tidigare lyckats bra med att konsolidera både servrar, mobiler och flygfarkoster.

En hypervisor är ett operativsystem för operativsystem. Operativsystem och andra körplattformar laddas i hypervisorn som isolerar dem från varandra och tilldelar varje ”gäst-OS” exakt det minne, de cpu-cykler och  de  IO-resurser den behöver.

Det kallas virtualisering – gästerna körs på virtuell hårdvara.

Det finns många idéer om  vilka system som ska stoppas in  i hypervisorn. Den mest revolutionerande möjlighet som öppnas är att  blanda infotainment- och fordonssystem. De två har hittills hållits fysiskt separata för att inte infotainment – typiskt på Linux eller Android – inte ska störa kraven på realtid, snabb start och robusthet.

Flera leverantörer av hypervi-sorer lovar att de inte bara kan köra båda på samma cpu, utan att de till och med kan lägga  säkerhetskritisk realtid i mixen.

Hypervisorn har full kontroll över cpu och andra resurser, som skärm, kommunikation och minne. Android ska kunna krascha utan att instrumentpanelen slocknar.

Virtualisering har använts i servervärlden i decennier och i mobiltelefoner ett tiotal år. Till fordonsindustrin kommer tekniken närmast via inflytande från flygindustrin, där tekniken efter flera års användning  anses mogen. De som levererat till flyget har en utmärkt startposition inför virtualiseringen av bilarna.

Konsolidering av hårdvara är drivkraften. Men det finns många bonuseffekter.

Du får mer krut i processorn på samma budget – olika funktioner kan använda samma kraftfulla grafik och cpu genom att turas om.

Du får en effektivare kommunikation mellan delsystemen – de vill gärna kunna prata position, väder, trafikförhållanden och annat, med varandra.

Den fysiska närheten gör det enklare att dela på gemensamma resurser som skärmar, databussar och sekundärminne, samtidigt som de vattentäta skotten hindrar skadlig kod att ta sig över från det öppna operativsystemet till de kritiska systemen.

Du får mindre strömförbrukning på en given funktionalitet när du konsoliderar hårdvara. Samtidigt som det förstås pågår en utvidgning av funktionaliteten med appar, molntjänster, Internet of Things, uppkoppling, konnektivitet, multimedia, navigering och olika typer av förarassistans.

Mjukvara i bilen kommer att vara den främsta drivkraften för tillväxt inom inbyggnadsmjukvara fram till 2016, enligt en färsk rapport från analysföretaget Research and Markets.

Hypervisorn kan hjälpa till att hålla denna ökande komplexitet i schack, genom att bryta ner system i mindre isolerade bitar. Exempelvis kan det bli så att en bil har två Androidsystem – en för tillverkaren och en för ägaren.

Hypervisorer passar bra med öppen källkod –  de låter Linux och Android introduceras i bilen på ett tryggt sätt.

Den gamla drömmen från standarden Autosar om en marknad för komponenter i mjukvara – får stöd. Autosarkomponenter i isolerade fack kan inte äventyra varandras kvalitet. Därmed kan en komponents funktion och pålitlighet i stor utsträckning verifieras redan innan den integreras. Det kallas SEooC (safety elements out of context) och sänker tröskeln för integrering av främmande komponenter.

Hypervisorn är också en lat mans metod att portera program. Lyft över dem till en hypervisor bara, med plattform och allt. När nästa generation cpu:er kommer, kan du göra det igen – dina implementationer har blivit framåtkompatibla.

En hypervisor är också ett smidigt sätt att ta de nya multikärnorna i bruk. Ofta kan hypervisorn statiskt fördela kärnor mellan partitionerna.

Känns det vanskligt att lägga alla ägg i samma korg? Kör då parallella redundanta system. Så sitter du plötsligt med ett system som man kan hävda är mer robust än det du hade tidigare. Man kan till och med leka med möjligheter som att ha en watchdog på samma processor eller att låta två virtuella processorer gå i lockstep med varandra.

Så ser argumenten ut för hypervisorer i bilar. Hur många av förhoppningarna som uppfylls, får framtiden utvisa.