Es bedarf auf allen Ebenen, vom Sensor über die Datenverarbeitung vor Ort bis hin zur Cloud, eine passende Kombination und Leistungsfähigkeit hinsichtlich Kommunikation und Datenverarbeitung zu finden. So unterschiedlich hierbei die Aufgaben und Herausforderungen sind, so vielfältig sind auch die Lösungsansätze. Welche Rechner-Architektur ist nun also am besten für IoT geeignet? Und wie finde ich den passenden Prozessor?
Ein kurzer Architekturüberblick hilft, die generelle Positionierung der einzelnen Prozessorfamilien aufzuzeigen. Dabei geht es weniger darum, exklusive Alleinstellungsmerkmale zu finden. Vielmehr geht es zunächst um eine grobe Klassifizierung. ARM-Prozessoren basieren auf einer RISC-Architektur (Reduced Instruction Set Computing), die besonders im unteren Leistungssegment seine Stärken bezüglich Verlustleistungsoptimierung unter Beweis stellt. Sie punkten typischerweise auch durch ein umfangreiches Feature-Set, das meist sehr spezifisch auf bestimmte Anwendungen und Marktsegmente abgestimmt ist. Unterschiedlichste Derivate decken so eine Vielzahl von Applikationen ab ohne zusätzliche Controller oder Schnittstellen ergänzen zu müssen. Feldbusschnittstellen wie CAN gehören in vielen Fällen schon zur Standardausstattung.
Bei den QorIQ Layerscape-Prozessoren handelt es sich um Kommunikationsprozessoren, bei denen ARM-Cores mit zusätzlichen Co-Prozessoren, sogenannten QuickEngines, kombiniert werden. Diese QuickEngines stammen aus den für Kommunikationsaufgaben optimierten Power-Architecture-Prozessoren von NXP und können beispielsweise für die besonders effiziente Vorverarbeitung von Netzwerkdatenströmen genutzt werden. Dadurch kann eine deutliche Entlastung der Kern-CPU erreicht werden. Diese Prozessoren bieten meist eine große Anzahl von unterschiedlichsten Kommunikationsschnittstellen.
In rechenintensiven Anwendungen punkten
Die x86-Prozessoren haben ihre Wurzeln in der PC-Technik und punkten durch ihre CISC-Architektur (Complex Instruction Set Computing) besonders in rechenintensiven Anwendungen. Hier steht die Skalierung der Leistungsfähigkeit bei voller Softwarekompatibilität im Vordergrund. Bereits die Einstiegsklassen wie Intel Atom sind geeignet, um mehrere Applikationen gleichzeitig zu bewältigen. Diese sogenannte Workload-Consolidation wird besonders intensiv mit Prozessoren der High-End-Klasse genutzt, wodurch sogar mehrere Systeme in einem Gerät zusammengefast werden können. Meist sind x86-Prozessoren auch mit leistungsfähigen Grafik-Controllern (GPU) ausgestattet.
Diese werden nicht nur für typische Grafik-Anwendungen genutzt, sondern können auch im Bereich Bildverarbeitung und Vektorberechnung enorme Effizienzsteigerungen erreichen. Dieser erste Überblick zeigt, dass sich die einzelnen Architekturen im Allgemeinen sehr gut ergänzen anstatt in direkte Konkurrenz zu treten. Die Betrachtung erinnert an die Darstellung, wie man sie auch von der klassischen Automatisierungspyramide her kennt.
Hier gibt es eine klare Abgrenzung nach Feldebene mit Sensoren und Aktoren, der Steuerungsebene mit intelligenten Steuerungseinheiten, wie SPS, sowie den übergeordneten Leitebenen. Doch mit Industrie 4.0 und Industrial-IoT hat sich die Betrachtungsweise geändert. Hier geht es um Smart Devices, Smart Factory und Connected World, was oft auch durch die Schlagworte Edge-, Fog- und Cloud-Computing ausgedrückt wird. Es vermischen sich Aufgabenschwerpunkte, Leistungsfähigkeit und Konnektivität.
Intelligenz und Power
Sensoren und Aktoren werden immer intelligenter. Für die Erfassung von analogen Werten oder digitalen Signaleingängen wird in der Regel kaum Rechenleistung benötigt. Durch die direkte Einbindung in Netzwerke, werden Aspekte wie Security und die Kommunikation mit unterschiedlichsten Gegenstellen immer wichtiger, was auch zu höheren Anforderungen an den Prozessor führt. ARM-Prozessoren können hier durch ihren geringen Preis und die geringe Leistungsaufnahme punkten. Die Vorauswahl wird anhand der notwendigen Interfaces und Kommunikationsschnittstellen getroffen.
Bei Anwendungen, bei denen der zeitliche Bezug der bereitgestellten Daten wichtig ist oder ein spezielles Echtzeitverhalten im Netzwerk gefordert ist, sind noch weitere Aspekte zu berücksichtigen: Ins Spiel kommen hier Ethernet-Erweiterungen wie IEEE1588, die den Zeitbezug sicherstellen. Muss eine zeitliche Deterministik mit vorgegebenen Latenzzeiten eingehalten werden, so muss der Prozessor Feldbusschnittstellen wie EtherCat oder Technologien wie Time Sensitive Network (TSN) unterstützen.
Die moderne Datenerfassung im IIoT-Umfeld umfasst heute jedoch oft auch mehr: Intelligente Kameras liefern nicht nur Bilder, sondern können beispielsweise bereits 3D-Oberflächenstrukturen eines Werkstücks an das übergeordnete System liefern. Um hierbei aus Daten Informationen zu machen ist entsprechend Rechenleistung, angemessener Speicherausbau und gegebenenfalls Zusatzintelligenz notwendig. Je nach Aufgabenstellung ist hier die Performance-Betrachtung des jeweiligen Prozessors ausschlaggebend.
Die Herausforderung, alles unter einen Hut bekommen
Auch die Limits in Sachen Speicherausbau und -geschwindigkeit sind wichtige Auswahlkriterien. x86-Prozessoren bieten hier flexible Skalierungsmöglichkeiten. An dieser Stelle wird es für den Entwickler oft schwierig, eine Vorauswahl der Architektur oder eine Eingrenzung anhand von Datenblättern durchzuführen. Die Nutzung von Evaluierungssystemen ist hier ein pragmatischer Ansatz um mit geringem Aufwand die Tauglichkeit zu überprüfen und eine Vorauswahl zu treffen.
Eine der größten Herausforderungen für durchgängige Industrial-IoT-Anwendungen ist es, bestehende Infrastrukturen und Systeme sowie neue Installationen und Anforderungen unter einen Hut zu bekommen. Gateways helfen, die Vielzahl an Schnittstellen, Übertragungsprotokollen und Datenstrukturen so zu konvertieren, dass eine durchgängige Interoperabilität möglich ist. Oft wird diese Aufgabe unterschätzt. In vielen Fällen verrichten hier ARM-Prozessoren einen hervorragenden Dienst und bieten mit der Vielzahl an Schnittstellen eine einfache technische Umsetzung.
Bei intelligenten Gateways, die eine anspruchsvolle Datenvorverarbeitung oder Voranalyse übernehmen, kommen oft auch x86-Prozessoren zum Einsatz, da diese mehr Rechenleistung, einen größeren Arbeitsspeicher und mehr Bandbreite innerhalb des Systems zur Verfügung stellen. Sicherheitskritische Anwendungen sehen hier oft auch eine Container-basierende Implementierung vor, um interne Prozesse getrennt voneinander zu halten. Hier punkten die x86-Prozessoren mit einer großen Skalierbarkeit in Sachen Performance, Speicher und Bandbreite.
Edge- und Fog-Computing
Vom intelligenten Gateway hin zum Edge- oder Fog-Server ist es nicht mehr weit. Meist ist der Übergang sogar fließend. Denn Intelligenz vor Ort, sei es bei der Datenvorverarbeitung oder der zeitkritischen lokalen Analyse und Reaktion, kann durch modular aufgebaute und skalierbare Systeme entsprechend den jeweiligen Anforderungen leicht angepasst werden. Hier spielen die x86-Prozessoren ihre Stärken aus.
Durchgängige Softwarekompatibilität, einheitliche Schnittstellenkonzepte und zahlreiche Erweiterungsmöglichkeiten werden über das komplette Leistungsspektrum hinweg unterstützt. Werden zum Beispiel neue Deep-Learning-Konzepte umgesetzt, können Entwickler basierend auf einheitlichen Bibliotheken die Applikations-Software unabhängig vom später verwendeten x86-Prozessortyp realisieren. Je nach Anwendung kann so die jeweils optimale Kombination aus Rechenleistung, Verlustleistung und Preis zusammengestellt werden.
Fazit
Im Industrial-IoT-Umfeld spielen also alle Architekturen eine maßgebliche Rolle. „ARM, Layerscape oder x86?“ ist also keine technische Grundsatzfrage bei IoT, sondern oft nur eine künstlich herbeigeführte Vorabentscheidung, die den Blick für den jeweils optimalen Lösungseinsatz nur unnötig einschränkt. Vielmehr müssen sich Entwickler bei der Konzeption neuer IoT-Produkte darauf konzentrieren, das benötigte Feature-Set zu definieren, einen Abgleich mit verfügbaren Prozessoren durchzuführen und möglichst effizient die getroffene Auswahl zu verifizieren.
Die Zusammenarbeit mit Partnern, die ein breites Spektrum an Prozessorarchitekturen mit unterschiedlichsten Leistungsfaktoren im Angebot haben, erleichtert die Auswahl und Verifikation. Diese können objektiv beraten und bieten eine große Auswahl an Starterkits und Evaluierungsplattformen.