هذه قصة من جزأين - حول جولة جديدة من تطوير السيارات. في البداية ،
يتحدث Alex Agizim ، CTO Automotive & Embedded Systems في EPAM ، عن المحاكاة الافتراضية في كمبيوتر السيارة. وكذلك كيف ولماذا يصبح برنامج XEN hypervisor مفتوح المصدر منافسًا كاملاً للحلول التجارية لصناعة السيارات.

يجب أن أحذرك على الفور - لن أضع أجزاء من الكود والتفاصيل الهندسية في القارئ. هنا سنتحدث عن أشياء عالمية نعتقد أنها ستغير صناعة السيارات في فترة السنتين إلى الأربعة أعوام القادمة. تمامًا كما حدث قبل 12 عامًا ، تغيرت الهواتف المحمولة إلى الأبد مع ظهور Android و Apple iOS.
في EPAM Automotive ، نركز على كتلتين كبيرتين: المحاكاة الافتراضية ومنصة سحابة لنشر الخدمات مباشرة على السيارة. هذه القصة تدور حول الأولى.
نهجين
إذا اتبعت موضوع السيارات ، فمن المحتمل أنك لاحظت مدى فعالية Google في تطوير موضوع المعلومات والترفيه من خلال نظام التشغيل Android التلقائي الخاص بها. منذ نهاية العام الماضي ، دخلت الشركة في العديد من الشراكات الاستراتيجية مع شركات صناعة السيارات لدمج Android Auto OS في السيارة.
لكن الشركات المصنعة لا تزال لديها مخاوف. السبب الرئيسي هو السلامة. في السيارات الحديثة والمستقبلية ، تصبح مجموعة Infotainment Cluster و Instrumental Cluster ، التي تحتوي على أجهزة ومؤشرات "حيوية" ، واحدة وتستخدم نفس الموارد. السهام والمؤشرات المادية أعطت الطريق لأخرى مرسومة. ومع ذلك ، يجب أن يرى السائق قراءات حقيقية للسرعة ، ومستوى الوقود ، وحالة نظام الفرامل ، والمحرك بغض النظر عن ماذا. من غير المقبول أن تتجمد الشاشات فجأة وتتطلب إعادة تشغيل الكمبيوتر في مكان ما. ومن تجربة الهواتف الذكية التي تعمل بنظام Android ، نعلم أن هذا ممكن تمامًا.
يحل صانعو السيارات هذه المشكلة مباشرة: لقد وضعوا
جهازي كمبيوتر
أو أكثر . على سبيل المثال ، الأول يشارك في تقديم وصيانة لوحة القيادة بأكملها. في الثانية ، يعمل نظام التشغيل Android Auto OS ويظهر التنقل ، الموسيقى ، التطبيقات ، إلخ.
هذا الخيار له عدة عيوب. أولاً ، لا تزال العديد من أجهزة الكمبيوتر أغلى من جهاز واحد. ثانياً ، التنفيذ معقد: تحتاج إلى ضمان تبادل المعلومات بين الجزء الذي يعمل بنظام أندرويد والمجموعة التنظيمية والتناسق والعديد من الجوانب الأخرى.
هناك خيار آخر يتمثل في
استخدام المحاكاة الافتراضية باستخدام برنامج hypervisor ، وذلك على سبيل المثال في تطبيق Cloud. قوة وقدرات المعالجات الدقيقة الحديثة في أجهزة الكمبيوتر السيارات كافية تماما. يتم توصيل شاشتين على الأقل بالكمبيوتر. واحد لالروبوت هو الترفيه والإعلام. والآخر هو لصيانة لوحة القيادة. يعمل نظامان تشغيل في أجهزة افتراضية معزولة. حتى لو "تعبت" Android وتعطلت ، فسيتم إعادة تمهيد الجهاز الظاهري الذي يعمل عليه فقط.
مع هذا الدمج ، يمكننا العمل على كمبيوتر واحد وجعل التكامل أسهل بكثير. ولكن هناك فروق دقيقة هنا.
سيارة المشرف
في مركز البيانات ، يتعامل برنامج hypervisor فقط مع تشريح المعالج والذاكرة والتخزين بين الأجهزة الافتراضية المختلفة. كما أنه يتأكد من أن "الفتيات الظاهريات" لا يصعدن إلى مساحة بعضهم البعض. علاوة على ذلك ، لديهم جميعًا نفس مجموعة الخدمات التي يتلقونها من نظام الخادم.
في كمبيوتر السيارات ، بالإضافة إلى وحدة المعالجة المركزية وذاكرة الوصول العشوائي والتخزين ، هناك معالجات مختلفة لمهام محددة. على سبيل المثال ، نفس GPU التي يحتاج إليها Android و dashboard. هذا يعني أن مهمة برنامج hypervisor هي توفير فرصة لكلا نظامي التشغيل لاستخدام المعالجين. بالإضافة إلى ذلك ، تأكد من أن Android لا يقوم بتوصيل المعالج الثانوي مع بعض الأخطاء في الأوامر أو البرامج غير القانونية.
هذا مطلب أمان وظيفي - يجب أن تعمل مجموعة الآلات دون النظر إلى أي رقصات تعمل بنظام Android. لذلك ، يجب أن يكون برنامج hypervisor متقدمًا بدرجة كافية وأن يكون لديه آليات خاصة يتم من خلالها ضمان العزلة الكاملة.
يتم توفير عزل الأجهزة بالفعل بواسطة المعالجات الحديثة. نحن نحرص على جزء البرنامج. أي أننا نقوم بتعديل
XEN Hypervisor مفتوح المصدر بحيث يمكنه العمل في السيارة مع مراعاة جميع الفروق الدقيقة في البيئة. في ذلك ، لقد قدمنا الكتل التالية.
1. عزل كامل للأجهزة الافتراضية التي تعمل في مجال المعلومات والترفيه ولوحة القيادة

أولاً ، يحتوي الكمبيوتر على الكثير من الأجهزة الطرفية والأزرار وشبكة الشاشة التي تعمل باللمس ، وما إلى ذلك ... يتم دعم المحاكاة الافتراضية للأجهزة الطرفية بالفعل بواسطة مجموعة من برامج التشغيل.

ثانياً ، نحن نصنع وحدات معالجة الرسومات الافتراضية. إذا قام أحد الأجهزة الظاهرية بعمل شيء مع أي من المعالجات الثانوية في النظام ، فلن يؤثر ذلك على تشغيل الجهاز الظاهري الآخر.

ثالثًا ، يتم تنفيذ المحاكاة الافتراضية لدعم TEE - بيئة تنفيذ موثوق بها. هذه منطقة خاصة محمية بالأجهزة في المعالج ، وتشترك في تنفيذ إجراءات الأمان المختلفة. ولكن نظرًا لوجود أكثر من نظام تشغيل واحد ، يتم أيضًا تقسيم الطلبات المقدمة منها إلى TEE.

يمكنك أدناه رؤية حالة المكونات وإذا كان من المثير رؤية الرمز

2. التغذية والأداء
يقوم أي نظام تشغيل بإدارة الطاقة والأداء ويمكنه وضع الكمبيوتر في وضع الطاقة المنخفضة وفقًا للمهام الحالية والتحميل. قد ترغب Android Car أيضًا في أن تفعل نفس الشيء: إذا لم تكن هناك مهام حالية ، فستقرر إرسال المعالج إلى وضع توفير الطاقة. لكن نظام التشغيل الذي يتعامل مع الأجهزة يجب أن يستمر في العمل. نقوم بحل هذا التعارض مع امتداد خاص لبرنامج hypervisor. تراقب حالة النظام بالكامل وتدير الطاقة والأداء.
اللحظة التالية هي الوقت الحقيقي. يجب أن يعمل النظام وفقًا لجدول زمني مضمون. نحن نقوم بذلك أيضًا كجزء من جدولة XEN Real-Time Scheduler.
3. السلامة الوظيفية
الماضي بدوره ، ولكن الكتلة الأولى في أهمية لصناعة السيارات في المستقبل. يدرك مصنعو السيارات اليوم أن نهج المحاكاة الافتراضية سيساعدهم حقًا على إنشاء أنظمة خدمة قمرة قيادة رقمية أكثر مرونة وقوة. هذا يتطلب برنامج مراقبة سيارات عالي الجودة.
هناك 3-4 حلول Hypervisor من الدرجة التجارية في السوق. لكن جميع المنتجات التجارية لها عيوب:
- ارتفاع تكلفة الترخيص ؛
- عدم القدرة على تغيير أي شيء في البرنامج بسهولة وفقًا لاحتياجاتك
- الشركة المصنعة لهذا فواصل الاختيار والمواعيد النهائية ؛
- قفل البائع.
يتم التخلص من كل هذه المشكلات بواسطة برنامج hypervisor مفتوح المصدر. مجانا الأولي. هناك إمكانية الوصول إلى المصدر ، يمكنك إجراء أي تغييرات. للقيام بذلك ، يمكنك تنظيم فريقك أو الاتصال بشركات الخدمات. هناك حرية كاملة ، لأنه عند تغيير المورد ، يبقى الكود المصدري مع الشركة المصنعة.
ما تبقى لاتخاذ قرار
لا يزال الحاجز الأخير ولكن الرئيسي في طريقه لفتح المصدر. يجب أن يكون برنامج مراقبة السيارة المفتوح متوافقًا مع السلامة الوظيفية. حتى وقت قريب ، كان الجميع يعتقدون أن هذا الأمر مستحيل. الآن هناك تحولات.
في الآونة الأخيرة ، نعمل بنشاط مع مجتمع المصادر المفتوحة XEN Hypervisor. يكمن التحدي في تكييف عملية التطوير بحيث يمكن اعتماد XEN من أجل السلامة.
في نهاية مارس ، عقدت قمة في كامبريدج ، حيث اجتمع جميع المهتمين. أولاً ، جميع الشركات الرئيسية التي تطور XEN: Citrix و ARM و Xilinx و Renesas و EPAM. ثانياً ، الشركات التي تعمل في مجال الشهادات ، ثالثاً ، الشركات التي توفر أدوات لتحليل النظام الآلي وتحديد مجالات المشكلات.
نتيجة للقمة ، قمنا بتطوير خطة يمكن من خلالها جعل برنامج Hypervisor مفتوح المصدر متوافقًا مع السلامة الوظيفية. بحلول نهاية هذا العام ، نخطط للحصول على مجموعة محددة من القطع الأثرية اللازمة حتى يتم دمج XEN في أجهزة الكمبيوتر الخاصة بالسيارات ، بحيث يمكن اعتمادها من أجل الأمان.
XEN تصبح منافسًا كاملاً للحلول التجارية في صناعة السيارات وتخلص من حجتها الأخيرة حول عدم وجود شهادة السلامة.
من الماضي - في منتصف يوليو مرت
قمة المطور Xen . كانت وظيفة السلامة واحدة من المواضيع الرئيسية. قدمنا
نهج حل السلامة الوظيفية (عبر وصلة PDF).
لماذا شين
ربما ، هذا السؤال نشأ من البعض من البداية.
إن مشروع XEN موجود منذ عام 2003 ، وبالمقارنة مع حلول المصادر المفتوحة الأخرى ، فإنه يتمتع بنشر واسع للغاية في مراكز البيانات. لقد أصبح بالفعل ناضجة للغاية. منذ عام 2012 ، يتمتع XEN بدعم محلي لهندسة ARM. وتستخدم معالجات هذا العمارة بشكل خاص في صناعة السيارات.
بالإضافة إلى ذلك ، قمنا بالكثير من العمل ، وقمنا بتحليل الحلول المختلفة وحققنا مؤشرات أداء جيدة للغاية. على سبيل المثال ، إذا كان أداء نظام التشغيل الذي يتم تشغيله على معالج بدون محاكاة افتراضية يساوي X ، فعندئذ يكون على الجهاز الظاهري 0.96-0.97X. وفي برامج Hypervisor التجارية ، يمكن أن يصل انخفاض الأداء إلى 30٪. الفرق هو ترتيب من الحجم المقنع.
لذلك ، يبدو لنا XEN حلا أساسيا مناسبا. لذلك ، EPAM يقود هذا المشروع. يوجد بالفعل العديد من شركات تصنيع السيارات الأوروبية التي تقوم بتقييم الحل المستندة إلى XEN للسيارات المستقبلية مع قمرة القيادة الرقمية ، Android داخل وأشياء أخرى ذكرتها أعلاه.
بالتوازي مع هذه القصة العظيمة ، نقوم بتطوير منصة مركبة خاصة بنا Aos. وتتمثل فكرتها الرئيسية في أننا ، من ناحية ، نوفر لمطوري الخدمات المتصلة فرصة نشرها مباشرة على كمبيوتر السيارة ، ومن ناحية أخرى ، نعزلهم عن الوظائف الحيوية ، ونضمن الأمان. سأتحدث عن هذا في الجزء التالي.