¿Qué impide que los fabricantes de equipos opten por equipos multinúcleo basados ​​en RTOS?

¿Qué impide que los fabricantes de equipos opten por equipos multinúcleo basados ​​en RTOS?

Recientemente, Rockwell Collins certificó sus sistemas de visualización basados ​​en RTOS:

¿Por qué los principales actores no se están moviendo hacia estos segmentos como RTOS, procesador multinúcleo? ¿Es por las dificultades de certificación?

Muchos sistemas de aviónica de varios fabricantes utilizan RTOS. ¿Falta algo en tu pregunta?
Estoy en la industria de la aviónica desde hace más de 8 años, nunca me he encontrado con proyectos RTOS, Multicore todavía. ¿Puede no estar trabajando para la compañía correcta? :)
Creo que puede ser una confusión de idioma. ¿Estás preguntando solo por multinúcleo? Supongo que sí, ya que INTEGRITY, VxWorks, etc. son todos RTOS y han existido durante años.
Se trata de RTOS y Mutlicore. Como dije, podría haber estado involucrado en el desarrollo/prueba del sistema basado en RTOS. Dejando RTOS aparte, ¿qué hay de los sistemas Multicore?
Lo siento, no sé nada de eso. Soy un ex ingeniero de aviónica, ahora en software, y mi conocimiento de hardware está desactualizado. Los últimos en los que trabajé fueron de un solo núcleo, pero solo porque el multinúcleo no había sido desarrollador en ese momento.
En RTOS y Multicire - " aviationtoday.com/av/issue/feature/… " y en Multicore " mil-embedded.com/articles/… " Así que me preguntaba si alguien de esta comunidad había pasado :)
es mucho más difícil probar los sistemas SMP y no hay ninguna ventaja real para la aviónica?
¿Por qué nadie puede ver obstáculos oficiales en la certificación de multinúcleo, si alguien se ha involucrado completamente en el proceso de certificación?
Creo que QNX Neutrino RTOS existe en equipos certificados, tendré que investigar para averiguar cuál. Aunque el sistema operativo es multinúcleo, tendría que investigar más para saber si la CPU certificada es realmente multinúcleo.
Fuera de las grandes pantallas primarias y multifunción para aviónica, la necesidad de CPU multinúcleo que ejecute un RTOS completo es muy baja. Además, el costo de la licencia de un sistema operativo certificado puede ser extremadamente alto. El costo de certificación para desarrollar un RTOS personalizado es aún más prohibitivo. Es más fácil (y más rápido) escribir y certificar software escrito para hardware completo.

Respuestas (3)

Costes de desarrollo, complejidad y necesidad.

En un sistema que tiene que ser duro en tiempo real, el multinúcleo es una molestia (piense caro) y la mayoría de las cosas que necesitan ser difíciles en tiempo real no son tan complejas. Las cosas que no necesitan ser difíciles en tiempo real no necesitan ser RTOS, por lo que tiene un sistema que maneja todas las cosas difíciles en tiempo real y otro que ejecuta Linux y maneja las otras cosas.

… e incluso si hubiera suficientes elementos duros en tiempo real para mantener varias CPU ocupadas, es mucho mejor, desde el punto de vista de la confiabilidad, ejecutarlas en placas completamente separadas, que es exactamente lo que se hace: los sistemas críticos son muchas unidades independientes, cada una con una pequeña tarea separada.

La tecnología multinúcleo AFAIK se usa actualmente en algunas soluciones automotrices, sin embargo, por lo general no como SMP( procesamiento multinúcleo simétrico ), sino como AMP( procesamiento multinúcleo asimétrico ), donde cada núcleo ejecuta sus propias tareas dedicadas, o como núcleos duales de paso fijo que ejecutan el mismo código para obtener más fiabilidad.

Este artículo de los ingenieros de Freescale ofrece algunas razones para su introducción en los automóviles:

Los SoC automotrices han sido tradicionalmente de un solo núcleo, ya que no se les dedicaba mucho trabajo computacional o aplicaciones de alta gama. Los automóviles eran más simples, al igual que las aplicaciones y los SoC. A medida que más y más componentes electrónicos hacían espacio en los automóviles, la complejidad de los SoC seguía aumentando. Ahora el enfoque es tener la mayor parte del automóvil bajo control electrónico.

Los automóviles de gama alta producidos en la actualidad ofrecen funciones como control electrónico de estabilidad (ESC), sistema de control de tracción (TCS), sistemas avanzados de asistencia al conductor (ADAS), etc. Estas funciones requieren SoC complejos que puedan recopilar, procesar y transferir datos a gran velocidad. desde varios periféricos.

No importa a qué alta frecuencia esté operando el núcleo único, siempre tendrá cuellos de botella y desafíos de rendimiento al realizar múltiples tareas. Un solo núcleo que se ejecuta en una frecuencia más alta consume más energía. Esto hace que la arquitectura de un solo núcleo no sea apta para aplicaciones de ultra bajo consumo. La arquitectura SOC basada en doble núcleo proporciona una mejor compensación en rendimiento y consumo de energía que las arquitecturas basadas en un solo núcleo.

Freescale también tiene un documento Multinúcleo integrado: una introducción que amplía las ventajas y los desafíos de los chips multinúcleo en entornos integrados. Por ejemplo (en buses de interconexión):

Irónicamente, aunque los microprocesadores pueden realizar casi instantáneamente el tipo de complicaciones complejas en las que hace décadas las instituciones gastaron millones y construyeron habitaciones, el paso al procesamiento multinúcleo ha sacado a la luz un problema simple: debido a que el ancho de banda total debe dividirse entre los maestros del bus, más núcleos significa menos ancho de banda por núcleo.

Además, con el aumento del tráfico de autobuses, aumenta el riesgo de colisiones y esto reduce aún más el ancho de banda. En resumen, un bus no escala muy por encima de los cuatro núcleos.

Si bien la industria automotriz tiene sus propios requisitos de seguridad y certificación, creo que es un poco más fácil para los fabricantes experimentar con soluciones multinúcleo en tierra, en comparación con los aviones que tienen que volar correctamente en todas las situaciones y tienen mucho más potencial de daño, por lo que es probable que la adopción multinúcleo ser mucho más lento.

Sin embargo, también pueden introducirse en la aviónica en algún momento:

El grupo de trabajo Multicore for Avionics (MCFA), que incluye representantes de BAE Systems, BARCO, Boeing, EADS, ELBIT, GE Aviation, Hamilton Sunstrand, Honeywell, Rockwell Collins, Thales y Freescale, se estableció para ayudar a las empresas comerciales de aviónica a aprovechar la Las ventajas de rendimiento, potencia y tamaño de los sofisticados procesadores multinúcleo integrados, como los de Freescale.

fuente

Informe de la reunión del grupo de trabajo de 2013: http://onboard.thalesgroup.com/successful-multi-core-for-avionics-working-group-meeting-with-authorities/

Los sistemas multinúcleo significan que, a nivel del procesador, tiene que haber un bus de interconexión que comparta datos. Esta interconexión genera cierto nivel de indeterminismo a niveles de nanosegundos: ¿qué sucede si los datos solicitados están en la memoria caché del núcleo 1 y el proceso está en el núcleo 2? ¿Qué pasa si surge una disputa?

Además, cuando RTOS inicie el micronúcleo, ¿cómo aprovechará múltiples núcleos, como unidades separadas? ¿Cumplirá con las estrictas pautas de seguridad si comparte la memoria caché L3 pero tiene una memoria caché L1/L2 separada?

Nos hemos vuelto muy buenos en la construcción de algoritmos de coherencia de caché: en.wikipedia.org/wiki/Cache_coherence Hay mecanismos alternativos para programar en sistemas SMP, y en realidad es mucho más parecido a lo que usan los sistemas existentes para el llamado paso de mensajes, o el modelo de actor. .