Was hält Gerätehersteller davon ab, auf RTOS-basierte Multicore-Geräte umzusteigen?

Was hält Gerätehersteller davon ab, auf RTOS-basierte Multicore-Geräte umzusteigen?

Kürzlich hat Rockwell Collins seine auf RTOS basierenden Anzeigesysteme zertifiziert:

Warum bewegen sich die großen Player nicht in diese Segmente wie RTOS, Multicore-Prozessoren? Liegt es an Zertifizierungsschwierigkeiten?

Viele Avioniksysteme mehrerer Hersteller verwenden RTOS. Fehlt bei Ihrer Frage etwas?
Ich bin jetzt seit über 8 Jahren in der Avionikbranche tätig, ich bin noch nie auf RTOS- oder Multicore-Projekte gestoßen. Vielleicht arbeiten Sie nicht für das richtige Unternehmen? :)
Ich denke, es könnte eine Sprachverwirrung sein. Fragst du nur nach Multicore? Ich denke schon, da INTEGRITY, VxWorks usw. alle RTOS sind und es schon seit Jahren gibt.
Es geht um das RTOS und Mutlicore. Wie gesagt, war möglicherweise an der RTOS-basierten Systementwicklung/Testing beteiligt. Abgesehen von RTOS, wie wäre es mit Multicore-Systemen?
Tut mir leid, das weiß ich nicht. Ich bin ein ehemaliger Avionik-Ingenieur, jetzt in der Software, und meine Hardware-Kenntnisse sind veraltet. Die letzten, an denen ich gearbeitet habe, waren Single-Core, aber nur, weil Multicore damals noch kein Entwickler war.
Auf RTOS und Multicire - " Aviationtoday.com/av/issue/feature/… " und auf Multicore " mil-embedded.com/articles/… " Also habe ich mich gefragt, ob jemand aus dieser Community durch war :)
es viel schwieriger ist, SMP-Systeme zu testen, und es gibt keinen wirklichen Vorteil für die Avionik?
Warum kann niemand offizielle Hürden bei der Zertifizierung für Multicore erkennen, wenn jemand vollständig am Zertifizierungsprozess beteiligt war?
Ich glaube, QNX Neutrino RTOS existiert in zertifizierten Geräten, ich muss graben, um herauszufinden, welche. Obwohl das Betriebssystem Multicore macht, müsste ich weiter graben, um herauszufinden, ob die zertifizierte CPU tatsächlich Multicore ist.
Außerhalb großer Primär- und Multifunktionsdisplays für die Avionik ist der Bedarf an Multicore-CPUs, auf denen ein vollwertiges RTOS läuft, sehr gering. Außerdem können die Kosten für die Lizenzierung eines zertifizierten Betriebssystems extrem hoch sein. Die Zertifizierungskosten für die Entwicklung eines benutzerdefinierten RTOS sind sogar noch unerschwinglicher. Es ist einfacher (und schneller), Software zu schreiben und zu zertifizieren, die für Bare Metal geschrieben wurde.

Antworten (3)

Entwicklungskosten, Komplexität und Bedarf.

Auf einem System, das harte Echtzeit sein muss, ist Multi-Core ein Schmerz (denke teuer) und die meisten Dinge, die harte Echtzeit sein müssen, sind nicht so komplex. Dinge, die keine harte Echtzeit sein müssen, müssen kein RTOS sein, also haben Sie ein System, das all das harte Echtzeit-Zeug handhabt, und eines, das Linux ausführt und das andere Zeug handhabt.

… und selbst wenn es genug harte Echtzeit-Sachen gäbe, um mehrere CPUs zu beschäftigen, ist es vom Zuverlässigkeitsstandpunkt viel besser, sie auf völlig separaten Boards zu betreiben, was genau das ist, was getan wird: Die kritischen Systeme sind viele unabhängige Einheiten, jede mit eine separate kleine Aufgabe.

Die AFAIK-Multicore-Technologie wird derzeit in einigen Automobillösungen verwendet, jedoch normalerweise nicht als SMP( symmetrische Multicore-Verarbeitung ), sondern entweder AMP( asymmetrische Multicore-Verarbeitung ), bei der jeder Kern seine eigenen dedizierten Aufgaben ausführt, oder als Lock-Step-Dual-Cores, die denselben Code ausführen extra Verlässlichkeit.

Dieser Artikel von Freescale-Ingenieuren bietet einige Gründe für die Einführung in Autos:

Automobil-SoCs waren traditionell Single-Core, da nicht viel Rechenarbeit oder High-End-Anwendungen darauf abzielten. Automobile waren einfacher, ebenso die Anwendungen und die SoCs. Da immer mehr Elektronik in den Automobilen Einzug hielt, nahm die Komplexität der SoCs weiter zu. Jetzt liegt der Fokus darauf, den größten Teil des Automobils unter elektronischer Kontrolle zu haben.

Heutzutage produzierte High-End-Automobile bieten Funktionen wie elektronische Stabilitätskontrolle (ESC), Traktionskontrollsystem (TCS), fortschrittliche Fahrerassistenzsysteme (ADAS) usw. Diese Funktionen erfordern im Kern komplexe SoCs, die Daten schnell sammeln, verarbeiten und übertragen können Rate von mehreren Peripheriegeräten.

Unabhängig davon, mit wie viel Hochfrequenz der einzelne Kern arbeitet, wird es immer Leistungsengpässe und Herausforderungen geben, während mehrere Aufgaben ausgeführt werden. Ein einzelner Kern, der mit einer höheren Frequenz läuft, verbraucht mehr Strom. Dies macht die Single-Core-Architektur für Ultra-Low-Power-Anwendungen ungeeignet. Dual-Core-basierte SOC-Architekturen bieten einen besseren Kompromiss zwischen Leistung und Stromverbrauch als Single-Core-basierte Architekturen.

Freescale hat auch ein Dokument Embedded Multicore: An Introduction veröffentlicht, das die Vorteile und Herausforderungen von Multicore-Chips in eingebetteten Umgebungen erläutert. Zum Beispiel (auf Interconnect-Bussen):

Obwohl Mikroprozessoren fast augenblicklich die Art von komplexen Komplikationen ausführen können, für die Institutionen vor Jahrzehnten Millionen ausgegeben und Räume gebaut haben, hat der Schritt in die Multicore-Verarbeitung ironischerweise ein einfaches Problem ans Licht gebracht: Weil die Gesamtbandbreite unter den Bus-Mastern aufgeteilt werden muss, Mehr Kerne bedeuten weniger Bandbreite pro Kern.

Außerdem steigt mit zunehmendem Busverkehr das Risiko von Kollisionen und dies verringert die Bandbreite noch weiter. Kurz gesagt, ein Bus skaliert nicht weit über vier Kerne hinaus.

Während die Automobilindustrie ihre eigenen Sicherheits- und Zertifizierungsanforderungen hat, denke ich, dass es für Hersteller etwas einfacher ist, mit Multicore-Lösungen am Boden zu experimentieren, verglichen mit Flugzeugen, die in allen Situationen richtig fliegen müssen und ein viel größeres Schadenspotenzial haben, sodass die Einführung von Multicore wahrscheinlich ist viel langsamer sein.

Aber auch in der Avionik könnten sie irgendwann Einzug halten:

Die Arbeitsgruppe Multicore for Avionics (MCFA), der Vertreter von BAE Systems, BARCO, Boeing, EADS, ELBIT, GE Aviation, Hamilton Sunstrand, Honeywell, Rockwell Collins, Thales und Freescale angehören, wurde gegründet, um kommerziellen Avionikunternehmen dabei zu helfen, die Leistungs-, Leistungs- und Größenvorteile hochentwickelter eingebetteter Multicore-Prozessoren, wie denen von Freescale

Quelle

Bericht vom Arbeitsgruppentreffen 2013: http://onboard.thalesgroup.com/successful-multi-core-for-avionics-working-group-meeting-with-authorities/

Mehrkernsysteme bedeutet, dass auf Prozessorebene ein Verbindungsbus vorhanden sein muss, der Daten teilt. Diese Verbindung bringt ein gewisses Maß an Indeterminismus auf Nanosekundenebene mit sich – was ist, wenn sich die angeforderten Daten im Cache von Kern 1 und der Prozess in Kern 2 befinden? Was ist, wenn Streit entsteht?

Wenn RTOS den Mikrokernel startet, wie wird es außerdem mehrere Kerne nutzen – als separate Einheiten? Wird es strenge Sicherheitsrichtlinien erfüllen, wenn es den L3-Cache teilt, aber einen separaten L1-/L2-Cache hat?

Wir sind sehr gut darin geworden, Cache-Kohärenzalgorithmen zu erstellen: en.wikipedia.org/wiki/Cache_coherence Es gibt alternative Mechanismen, die auf SMP-Systemen programmiert werden können, und es ist tatsächlich viel näher an dem, was bestehende Systeme für die sogenannte Nachrichtenübermittlung oder das Akteurmodell verwenden .