XEN dan masa depan otomotif: bagaimana hypervisor open-source menjadi pesaing untuk solusi otomotif komersial

Ini adalah kisah dua bagian - tentang babak baru pengembangan otomotif. Dalam yang pertama, Alex Agizim, CTO Automotive & Embedded Systems di EPAM , berbicara tentang virtualisasi di komputer mobil. Dan juga bagaimana dan mengapa sumber terbuka XEN hypervisor dapat menjadi pesaing penuh untuk solusi komersial untuk industri otomotif.

gambar

Saya harus segera memperingatkan Anda - saya tidak akan memasukkan potongan kode dan detail teknis ke pembaca. Di sini kita akan berbicara tentang hal-hal global yang kami pikir akan mengubah industri otomotif dalam 2-4 tahun ke depan. Sama seperti 12 tahun yang lalu, ponsel selamanya berubah dengan munculnya Android dan Apple iOS.

Di EPAM Automotive, kami fokus pada dua blok besar: virtualisasi dan platform cloud untuk menyebarkan layanan langsung ke mobil. Kisah ini adalah tentang yang pertama.

Dua pendekatan


Jika Anda mengikuti tema otomotif, Anda mungkin memperhatikan seberapa aktif Google mengembangkan tema infotainment dengan Android Auto OS-nya. Sejak akhir tahun lalu, perusahaan telah mengadakan beberapa kemitraan strategis dengan para pembuat mobil untuk mengintegrasikan Android Auto OS ke dalam mobil.

Tetapi produsen masih memiliki kekhawatiran. Alasan utamanya adalah keamanan. Di mobil modern dan masa depan, Infotainment Cluster dan Instrumental Cluster, yang berisi instrumen dan indikator "vital", menjadi satu dan menggunakan sumber daya yang sama. Panah dan indikator fisik memberi jalan bagi yang dilukis. Namun, pengemudi harus melihat pembacaan kecepatan yang sebenarnya, level bahan bakar, kondisi sistem rem, engine apa pun yang terjadi. Ini tidak dapat diterima jika di suatu tempat layar tiba-tiba membeku dan membutuhkan reboot. Dan dari pengalaman smartphone Android, kita tahu bahwa ini sepenuhnya mungkin.

Pabrikan mobil memecahkan masalah ini langsung: mereka memasang dua atau lebih komputer. Misalnya, yang pertama terlibat dalam merender dan memelihara seluruh dasbor. Yang kedua, Android Auto OS menjalankan dan menampilkan navigasi, musik, aplikasi, dll.

Opsi ini memiliki beberapa kelemahan. Pertama, beberapa komputer masih lebih mahal dari satu. Kedua, implementasinya rumit: Anda perlu memastikan pertukaran informasi antara bagian Android dan kluster insturmental, konsistensi, dan banyak aspek lainnya.

Pilihan lain adalah menggunakan virtualisasi menggunakan hypervisor, mengikuti contoh Cloud. Kekuatan dan kemampuan mikroprosesor modern di komputer otomotif sudah cukup. Minimal dua layar terhubung ke komputer. Satu untuk Android adalah infotainment. Yang lainnya adalah untuk pemeliharaan dashboard. Dua sistem operasi berjalan di mesin virtual yang terisolasi. Bahkan jika Android β€œlelah” dan macet, hanya mesin virtual yang menjalankannya yang akan reboot.

Dengan konsolidasi seperti itu, kita dapat bekerja pada satu komputer dan membuat integrasi menjadi lebih mudah. Namun ada nuansa di sini.

Hypervisor mobil


Di pusat data, hypervisor hanya berurusan dengan mengiris prosesor, memori, dan penyimpanan antara mesin virtual yang berbeda. Dia juga memastikan bahwa "gadis virtual" tidak naik ke ruang masing-masing. Selain itu, mereka semua memiliki serangkaian layanan yang sama yang mereka terima dari platform server.

Di komputer mobil, selain CPU, RAM dan penyimpanan, ada beberapa prosesor yang berbeda untuk tugas tertentu. Misalnya, GPU yang sama yang dibutuhkan Android dan dashboard. Ini berarti bahwa tugas hypervisor adalah untuk memberikan kesempatan bagi kedua sistem operasi untuk menggunakan koprosesor. Selain itu, pastikan Android tidak memasang coprocessor dengan beberapa perintah ilegal atau kesalahan perangkat lunak.

Ini adalah persyaratan keamanan fungsional - Cluster Instrumental harus bekerja tanpa memperhatikan tarian Android. Oleh karena itu, hypervisor harus cukup maju dan memiliki mekanisme khusus yang memastikan isolasi lengkap.

Isolasi perangkat keras sudah disediakan oleh prosesor modern. Kami menangani bagian perangkat lunak. Yaitu, kami memodifikasi XEN Hypervisor open-source sehingga dapat bekerja di mobil dengan mempertimbangkan semua nuansa lingkungan. Di dalamnya, kami telah menyediakan blok berikut.

1. Isolasi lengkap mesin virtual yang menjalankan infotainment dan dasbor


gambar

Pertama, komputer memiliki banyak periferal, tombol, jaringan layar sentuh, dll ... Virtualisasi periferal sudah didukung oleh satu set driver.

gambar

Kedua, kami melakukan virtualisasi GPU dan coprocessor. Jika salah satu mesin virtual melakukan sesuatu dengan salah satu coprocessor dalam sistem, maka ini tidak akan mempengaruhi pengoperasian mesin virtual lainnya.

gambar

Ketiga, virtualisasi Dukungan TEE diimplementasikan - lingkungan eksekusi tepercaya. Ini adalah zona khusus yang dilindungi perangkat keras dalam prosesor, yang terlibat dalam pelaksanaan berbagai prosedur keamanan. Tetapi karena ada lebih dari satu sistem operasi, permintaan dari mereka ke TEE juga dibagi.

gambar

Di bawah ini Anda dapat melihat status komponen dan jika menarik untuk melihat kode

gambar

2. Nutrisi dan kinerja


Sistem operasi apa pun mengelola daya dan kinerja dan dapat menjadikan komputer dalam mode daya rendah sesuai dengan tugas dan pemuatan saat ini. Android Car mungkin juga ingin melakukan hal yang sama: jika tidak ada tugas saat ini, ia memutuskan untuk mengirim prosesor ke mode hemat daya. Tetapi OS yang berhubungan dengan perangkat harus terus bekerja. Kami menyelesaikan konflik ini dengan ekstensi khusus dari hypervisor. Ini memantau keadaan seluruh sistem dan mengelola daya dan kinerja.

Momen selanjutnya adalah waktu nyata. Sistem harus bekerja dengan jadwal yang terjamin. Kami juga melakukan ini sebagai bagian dari Penjadwal Waktu-Nyata XEN.

3. Keamanan fungsional


Terakhir pada gilirannya, tetapi blok pertama yang penting bagi industri otomotif masa depan. Produsen mobil saat ini menyadari bahwa pendekatan virtualisasi akan membantu mereka benar-benar menciptakan sistem layanan kokpit digital yang jauh lebih fleksibel dan kuat. Ini membutuhkan hypervisor kelas otomotif.

Ada 3-4 solusi hypervisor otomotif kelas komersial di pasar. Tetapi semua produk komersial memiliki kelemahan:

  • biaya lisensi yang tinggi;
  • kurangnya kemampuan untuk dengan mudah mengubah apa pun dalam perangkat lunak sesuai dengan kebutuhan Anda
  • pabrikan untuk ini melanggar batas waktu dan tenggat waktu;
  • kunci vendor.

Semua masalah ini dihilangkan oleh hypervisor open source. Gratis awal. Ada akses ke sumbernya, Anda bisa melakukan perubahan. Untuk melakukan ini, Anda dapat mengatur tim Anda atau menghubungi perusahaan layanan. Ada kebebasan penuh, karena ketika Anda mengganti pemasok, kode sumber tetap berada di pabrikan.

Apa yang tersisa untuk diputuskan


Penghalang terakhir tetapi kunci tetap pada cara untuk open source. Hypervisor mobil terbuka harus sesuai dengan keselamatan fungsional. Sampai baru-baru ini, semua orang percaya bahwa membuatnya mustahil. Sekarang ada pergeseran.

Baru-baru ini, kami telah secara aktif bekerja dengan komunitas open source XEN Hypervisor. Tantangannya adalah untuk menyesuaikan proses pengembangan sehingga XEN dapat disertifikasi untuk keselamatan.

Pada akhir Maret, sebuah pertemuan puncak diadakan di Cambridge, tempat semua orang yang berminat berkumpul. Pertama, semua perusahaan utama yang mengembangkan XEN: Citrix, ARM, Xilinx, Renesas, EPAM. Kedua, perusahaan yang bergerak di bidang sertifikasi. Ketiga, perusahaan yang menyediakan alat untuk analisis sistem otomatis dan identifikasi bidang masalah.

Sebagai hasil dari KTT, kami mengembangkan rencana yang menurutnya sangat mungkin untuk membuat kepatuhan keselamatan fungsional sumber hypervisor. Hingga akhir tahun ini, kami berencana untuk mendapatkan serangkaian artefak khusus yang diperlukan sehingga ketika XEN diintegrasikan ke dalam komputer otomotif, mereka dapat disertifikasi untuk keamanan.

XEN menjadi pesaing penuh untuk solusi komersial di industri otomotif dan menghilangkan argumen terakhir mereka tentang kurangnya sertifikasi keselamatan.

Dari yang terakhir - pada pertengahan Juli berlalu Xen Developer Summit . Fungsi Keselamatan adalah salah satu topik utama. Kami mempresentasikan pendekatan untuk solusi Keselamatan Fungsional (melalui tautan PDF).

Kenapa xen


Mungkin, pertanyaan ini muncul dari beberapa sejak awal.

Proyek XEN telah ada sejak 2003 dan, dibandingkan dengan solusi open source lainnya, ia memiliki penyebaran yang sangat luas di pusat data. Dia sudah menjadi cukup dewasa. Sejak 2012, XEN memiliki dukungan asli untuk arsitektur ARM. Dan prosesor arsitektur khusus ini terutama digunakan dalam industri otomotif.

Selain itu, kami melakukan banyak pekerjaan, menganalisis berbagai solusi dan mencapai indikator kinerja yang sangat baik. Misalnya, jika kinerja sistem operasi yang berjalan pada prosesor tanpa virtualisasi sama dengan X, maka pada mesin virtual itu adalah 0,96-0,97X. Dan pada hypervisor komersial, penurunan kinerja dapat mencapai 30%. Perbedaannya adalah urutan besarnya meyakinkan.

Oleh karena itu, XEN bagi kami merupakan solusi dasar yang cocok. Karenanya, EPAM mengendalikan proyek ini. Sudah ada beberapa produsen mobil Eropa yang mengevaluasi solusi berbasis XEN untuk mobil masa depan dengan kokpit digital, Android di dalamnya, dan hal-hal lain yang saya sebutkan di atas.

Sejalan dengan cerita hebat ini, kami sedang mengembangkan platform kendaraan terhubung kami sendiri Aos. Gagasan utamanya adalah bahwa, di satu sisi, kami memberi pengembang layanan yang terhubung kesempatan untuk menyebarkannya langsung ke komputer mobil, dan di sisi lain, kami mengisolasinya dari fungsi-fungsi penting, memastikan keamanan. Saya akan membicarakan ini di bagian selanjutnya.

Source: https://habr.com/ru/post/id460507/


All Articles