Procesador multinúcleo y tiempo real [cerrado]

1

¿Es una buena idea diseñar un sistema en tiempo real en un procesador multinúcleo? El tiempo de ejecución de la tarea no es determinista en este tipo de procesador debido a la administración central. Esto hace que la elaboración del programador sea difícil de hacer.

    
pregunta M.Ferru

2 respuestas

2

Realmente depende de la aplicación.

Sin embargo, creo que lo que estás describiendo es un controlador multihilo. Donde los programas se secuencian a uno o más procesadores bajo el control de algunos sistemas operativos en segundo plano. Los subprocesos múltiples, como su PC, pueden resultar en una variación MUY amplia en el tiempo de respuesta.

Un procesador de múltiples núcleos es más simple que eso, pero necesita compartir el acceso a la memoria y los periféricos y tiene un retraso potencial inherente.

Si tiene un sistema que requiere una respuesta dentro de unos pocos ciclos de reloj o la cosa fallará de manera catastrófica, entonces no será suficiente usar un controlador de subprocesos / múltiples hilos.

Por otra parte, si está bien esperar unos pocos ms para responder, y el retraso de reacción del controlador en el peor de los casos conocido se mantiene por debajo de ese número, entonces funcionará como se esperaba.

La conclusión es que, si el sistema de control es sensible al tiempo, use multi-threading y multi-core con cuidado.

Cuando sea necesario, descargue dichas tareas sensibles al tiempo en procesadores o sistemas y circuitos dedicados y use el controlador múltiple como supervisor.

    
respondido por el Trevor_G
2

Al diseñar sistemas multitarea en tiempo real, asigna a cada tarea una prioridad que le permite cumplir con su fecha límite, teniendo en cuenta que puede ser adelantada por cualquier tarea de mayor prioridad. Si tiene N núcleos, entonces las N tareas de prioridad más alta nunca tendrán que ser reemplazadas, y siempre cumplirán con sus plazos.

Espero que esto aborde tu pregunta hipotética; de lo contrario, aclare lo que quiere y ampliaré mi respuesta.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas