-
Die vorliegende Erfindung betrifft eine Vorrichtung zum Erproben eines Regelsystems. Die vorliegende Erfindung betrifft darüber hinaus ein entsprechendes Rechensystem.
-
Stand der Technik
-
In der Softwaretechnik wird die Nutzung von Modellen zur Automatisierung von Testaktivitäten und zur Generierung von Testartefakten im Testprozess unter dem Oberbegriff „modellbasiertes Testen“ (model-based testing, MBT) zusammengefasst. Hinlänglich bekannt ist beispielsweise die Generierung von Testfällen aus Modellen, die das Sollverhalten des zu testenden Systems beschreiben.
-
Insbesondere eingebettete Systeme (embedded systems) sind auf schlüssige Eingangssignale von Sensoren angewiesen und stimulieren wiederum ihre Umwelt durch Ausgangssignale an unterschiedlichste Aktoren. Im Zuge der Verifikation und vorgelagerter Entwicklungsphasen eines solchen Systems wird daher in einer Regelschleife dessen Modell (model in the loop, MiL), Software (software in the loop, SiL), Prozessor (processor in the loop, PiL) oder gesamte Hardware (hardware in the loop, HiL) gemeinsam mit einem Modell der Umgebung simuliert. In der Fahrzeugtechnik werden diesem
- - zusammenfassend als „XiL“ bekanntem - Prinzip entsprechende Simulatoren zur Prüfung elektronischer Steuergeräte je nach Testphase und -objekt mitunter als Komponenten-, Modul- oder Integrationsprüfstände bezeichnet.
-
DE10303489A1 offenbart ein derartiges Verfahren zum Testen von Software einer Steuereinheit eines Fahrzeugs, bei dem durch ein Testsystem eine von der Steuereinheit steuerbare Regelstrecke wenigstens teilweise simuliert wird, indem Ausgangssignale von der Steuereinheit erzeugt werden und diese Ausgangssignale der Steuereinheit zu ersten Hardware-Bausteinen über eine erste Verbindung übertragen werden und Signale von zweiten Hardware-Bausteinen als Eingangssignale zur Steuereinheit über eine zweite Verbindung übertragen werden, wobei die Ausgangssignale als erste Steuerwerte in der Software bereitgestellt werden und zusätzlich über eine Kommunikationsschnittstelle in Echtzeit bezogen auf die Regelstrecke zum Testsystem übertragen werden.
-
Derartige Simulationen sind auf verschiedenen Gebieten der Technik verbreitet und finden beispielsweise Einsatz, um eingebettete Systeme in Elektrowerkzeugen, Motorsteuergeräten für Antriebs-, Lenk- und Bremssysteme oder gar autonomen Fahrzeugen in frühen Phasen ihrer Entwicklung auf Tauglichkeit zu prüfen.
-
Offenbarung der Erfindung
-
Die Erfindung stellt eine Vorrichtung zum Erproben eines Regelsystems sowie ein entsprechendes Rechensystem gemäß den unabhängigen Ansprüchen bereit.
-
Einen Ausgangspunkt des vorgeschlagenen Ansatzes stellt die Verwendung von Grafikprozessoren (graphics processing units, GPUs) und FPGAs als Beschleuniger für Trainings- und Inferenzmaschinen von wissensbasierten Systemen innerhalb eines Supercomputers dar. Das nachfolgend beschriebene Verfahren fußt auf dem Grundgedanken, solche im Rahmen einer künstlichen Intelligenz (Kl) genutzten FPGAs im selben Supercomputer auch für die oben umrissene Simulation von Steuergeräten (electronic control units, ECUs) zu deren Erprobung einzusetzen.
-
Vorzüge dieser Lösung umfassen die hohe Dichte und Vielzahl von Beschleunigern wie GPUs und FPGA für die Berechnung, die Möglichkeit deren enger Vernetzung mit einem Datensee (data lake), die Reduzierung von Ein-/Ausgabe-Verkehr und -Latenzen, ihre hohe Skalierbarkeit hinsichtlich Daten und Berechnung, die Erhöhung der Simulationsgeschwindigkeit, welche wiederum eine Verkürzung der Markteinführungszeit oder die Berechnung größerer Modelle gestattet, die Kostensenkung durch zentrale Bündelung von Rechenressourcen mit einem nutzungsabhängigen Cloud-Ansatz sowie die Erschließung aller Möglichkeiten zur Nutzung zentraler Rechenzentrums-Infrastrukturen: Verfügbarkeit, Sicherheit, Energieeffizienz und tiefgreifendes IT-Know-how.
-
Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich.
-
Figurenliste
-
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
- 1 ein XiL-Simulationsplattformkonzept.
- 2 ein XiL-Rechenknotenkonzept mit GPUs und FPGAs.
- 3 ein Netzwerksverbindungskonzept.
- 4 den Konzeptentwurf eines FPGAs zur Simulation von Regelsystemen.
- 5 eine FPGA-Beschleunigerkonfiguration.
- 6 die Hardwareansicht eines einzelnen Datenflusses für mehrere Regelsysteme.
- 7 die algorithmische Ansicht eines einzelnen Datenflusses für mehrere Regelsysteme.
- 8 den zeitlichen Ablauf von sequenzieller Simulation im Vergleich zu paralleler Simulation, wobei n die Zeitschritte für die Simulation und c jene für die Initialisierung bezeichnet.
- 9 eine Hardwaresicht des Datenflusses mit partitionierten Simulationsdaten.
- 10 eine Simulationsdatenstrompartitionierung.
- 11 eine algorithmische Ansicht der Simulation mit mehreren Regelsystemen auf unterschiedlichen Knoten.
-
Ausführungsformen der Erfindung
-
1 illustriert die Komponenten einer erfindungsgemäßen XiL-Simulationsplattform. Vorausgesetzt sei ein sogenannter Datensee (34) für eine große Vielfalt von Daten aus einer Vielzahl unterschiedlicher Quellen wie paralleler Hochleistungsspeicher, Massendaten (big data), Hauptspeicher- (in-memory) oder Zeitstempeldatenbanken sowie Objektspeicher.
-
Diese Rechenplattform als zentraler Bestandteil der Simulationsplattform wird im Folgenden ausführlich beschrieben. Hauptsächlich wird hier vorgeschlagen, eine Servergruppe (farm) von Knoten (10) mit parallelen Prozessen zu betreiben, wie sie im Bereich des Hochleistungsrechnens (supercomputing, high-performance computing, HPC) bekannt ist. Dabei gibt es jedoch besondere Arten von Beschleunigern auf der Basis von FPGAs (17).
-
Auch das Netzwerk verdient eine gewisse Beachtung, da verschiedene Arten von Netzwerkverbindungen für die Knotenvernetzung, Datenbereitstellung und Programmierschnittstellen zu den FPGA-basierten Beschleunigern benötigt werden. Die Werkzeugumgebung entspricht weitgehend derjenigen, die für den Betrieb eines herkömmlichen HPC-Verbundes zum Einsatz kommt. Lediglich die Programmierung der FPGAs (17) erfordert Spezialhardware, die in die Planung zu integrieren ist.
-
Das in 2 exemplarisch dargestellte Konzept eines einzelnen Rechenknotens (10) basiert auf einem Hochleistungsrechner mit zwei bis vier CPU-Sockeln (15) und mindestens zwei Grafikkarten (16), jedoch maximal einer Grafikkarte (16) je CPU-Sockel. Der XiL-Rechenknoten (10) verfügt über mindestens einen Hochleistungs-Ein-/Ausgabe-Controller (56) zum Herstellen einer Hochleistungsverbindung (40 - 1) zum Datensee (34) und die Kommunikation mit anderen Knoten (10). Dieser Ein-/Ausgabe-Controller (56) sollte entfernten Direktspeicherzugriff (remote direct memory access, RDMA) unterstützen. Zusätzlich stehen mehrere Netzwerkgeräte für Verwaltungszwecke zur Verfügung, die in der Zeichnung nicht dargestellt sind. Alle anderen verfügbaren internen Hochleistungs-Ein-/Ausgabe-Controller werden mit FPGAs (17) zur Simulation (18 - 1) von Regelsystemen (11 - 1) wie ECUs und Ein-Chip-Mehrprozessorsystemen (multiprocessor system-on-chip, MPSoCs) sowie mit als Beschleuniger (19) für deren Optimierung (21 - 1) konfigurierten FPGAs (17) bestückt. Als interne Hochleistungs-Ein-/Ausgabe-Controller kommen beispielsweise die von sogenannten POWER-Prozessoren bekannten (open)CAPI- oder PCle (Gen4)-Schnittstellen in Betracht.
-
Mit diesem Aufbau ist es möglich, komplexe Regelsysteme (11) aus verschiedenen Steuergeräten aufzubauen. Die unterschiedlichen Hochleistungs-Ein-/Ausgabe-Controller (56) erlauben es zudem, Regelsysteme (11) unterschiedlicher Prägung zu realisieren: ein oder mehrere Regelsysteme (11) auf einem einzigen FPGA (17), ein einziges Regelsystem (11) auf mehreren FPGAs (17), die innerhalb eines einzigen Knotens (10) untergebracht sind, oder ein einziges Regelsystem (11), das auf mehrere FPGAs (17) unterschiedlicher Knoten (10) verteilt ist.
-
Beim Entwurf eines Regelsystems (11), das nicht mehr auf einem einzelnen FPGA (17) Platz findet, wird es direkte Hochleistungsverbindungen zu den verschiedenen FPGAs (17) des Systems geben. Andererseits besteht die Möglichkeit, verschiedene Regelsysteme (11) parallel auf einem einzigen Rechenknoten (10) zu betreiben.
-
Ein Umschalten zwischen den beiden Arten von FPGAs (17) ist ebenfalls von großem Vorteil, da auf diese Weise die XiL-Simulationsumgebung mühelos an wechselnde Anforderungen angepasst werden kann.
-
Außerdem stehen alle Arten von Beschleunigertechnologien in einem einzigen hochdichten Knoten (10) zur Verfügung, die für Anwendungen von Nutzen sind, welche nach Kl-Methoden entwickelt werden: für die Inferenz mit den neuronalen Netzen FPGAs (17) und für deren Training sowie anderweitige Datenanalysen die Grafikprozessoren (16) und als Beschleuniger (19) konfigurierten FPGAs (17).
-
3 zeigt ein typisches HPC-Netzwerkkonzept. Seine Besonderheit besteht darin, dass jeder FPGA (17) neben der Hochleistungsverbindung (40) seines Knotens (10) eine eigene Hochleistungs-Ethernetverbindung hat. Dies verleiht ihm die Flexibilität, mehrere Regelsysteme (11) - wie in 4 verdeutlicht - lokal zu simulieren oder einzelne Regelsysteme (11) über die Grenzen des einzelnen Rechenknotens (10) hinaus auszuweiten. Gleiches gilt zweifellos für hardwarebeschleunigte Anwendungen.
-
Auch die Anzahl der auf einem FPGA (17) installierten Beschleuniger (19) neuronaler Netze hängt vom Anwendungsfall ab und kann zur Laufzeit eingestellt werden. Der Begriff „Beschleuniger“ wird in diesem Zusammenhang stellvertretend für jedwede Art von FPGA-beschleunigter Kl-Anwendung verwendet. Da eine Neukonfiguration für jede Partition auf dem FPGA (17) getrennt möglich ist, steht ein vollkommen modularer Aufbau zur Verfügung, der sich zur Laufzeit problemlos anpassen lässt. 5 beleuchtet eine entsprechende Konfiguration.
-
In einem Szenario, in welchem ein einziger Knoten (10) unterschiedlich kalibrierte Regelsysteme (11) beherbergt, empfiehlt sich der in 6 skizzierte Parallelisierungstyp. Dies gilt insbesondere, wenn der Umfang des Regelsystems (11) die Kapazität des FPGAs (17) nicht überschreitet.
-
Wie 7 zeigt, wird der Strom der Simulationsdaten (35 - 1) vollständig von der Hardware (14) aufgenommen, bis die Stimulationsschicht (52) der Simulation (18) übernimmt, um ihn auf die einzelnen Sensoren (53) aufzuteilen. Dies ist möglich, da sowohl Datensee (34) als auch XiL-Simulationsknoten (10) RDMA unterstützen und der Hochleistungs-Ein-/Ausgabe-Controller (56) fortschrittliche Mechanismen wie die Auslagerung unterstützt. Daher ist der Hauptprozessor (15) vorrangig damit befasst, die Simulationsdaten (35) aus dem Knotenspeicher in den Speicher des Grafikprozessors (16) zu übertragen und anschließend die Stimulation (52) auszuführen.
-
Ein großer Vorteil dieses Ansatzes besteht darin, dass nur eine einzige Simulationsinstanz auf dem jeweiligen Knoten (10) läuft, während die Simulation (18) parallel für mehrere Regelsysteme (11) ausgeführt wird. Der Rechenaufwand für die Stimulation (52) ist etwas höher, da dieser Prozess mehrere parallele Threads abzweigen muss, um geeignete Stimuli (51) für die Sensoren (53) der Regelsysteme (11) zu liefern. Auch die Ausgabe-Auswertung (20) kann parallel erfolgen, da die erwarteten Reaktionen (55) aus den Simulationsdaten (35) im Datensee (34) abgerufen werden. Dieser Datenstrom muss ebenfalls nur einmal bezogen werden.
-
Mit Blick auf die Simulation (18), die in der Regel die längste Rechenzeit im gesamten Modell benötigt, verdeutlicht 8 die Größenordnung der Laufzeitverkürzung durch Parallelisierung (32) im Vergleich zu einer sequenziellen (31) Simulation (18).
-
Die in 9 veranschaulichte Parallelisierungsart eignet sich am besten für ein Szenario, in dem die Regelsysteme (11) auf mehrere XiL-Simulationsknoten (10) verteilt werden müssen. Um ihre Komplexität zu reduzieren, sei zunächst angenommen, dass nur ein Regelsystem (11) auf jedem Knoten (10) betrieben wird. Ferner ist es vorläufig zielführend, die Regelsysteme (11) als identisch kalibriert zu definieren.
-
Fasst man die durch Partitionierung gewonnenen disjunkten Teile (
1,
2,
3) des Simulationsdatenstroms zusammen, erhält man den vollständigen Simulationsdatenstrom zurück. Aus der Perspektive des Datensees (
34) wird deshalb ein einziger Simulationsdatenstrom übertragen, der nur auf die verschiedenen Knoten (
10) aufgeteilt ist. Dieser Simulationsdatenstrom kann als Folge
betrachtet werden, wobei S die Stimuli (
51), A die Aktoren (
54 -
7) und n die Anzahl unteilbarer Zeitscheiben (
28 -
5) bezeichnet. Ferner sei j die Anzahl verfügbarer übereinstimmend kalibrierter Regelsysteme (
11). j bezeichnet somit zugleich die Anzahl der Partitionen, in welche die vollständige Folge des Simulationsdatenstromes unterteilt wird. Die Anzahl von Zeitscheiben (
28), die eine zeitlich disjunkte Folge bilden, beträgt folglich
-
Wie
10 anhand eines Beispiels verdeutlicht, lassen sich die Partitionen D
i für i ∈ {1,2,3, ..., j} somit definieren zu
-
Die Implementierung der Partitionierung (
57) ist sorgfältig abzuwägen. Der Anfangszeitpunkt für die einzelnen Partitionen ergibt sich aus der Anzahl der verfügbaren Regelsysteme (
11): für das erste Regelsystem t
0, für das zweite Regelsystem
für das dritte
und so weiter. Auch der Endpunkt der Sequenz für jede Partition lässt sich aus der Anzahl der Regelsysteme (
11) leicht als
bestimmen. Da die Anzahl der Regelsysteme (
11) vor Beginn der Simulation (
18) zur Verfügung steht, können diese Zeitpunkte bereits bei der Inbetriebnahme berechnet und als Zeiger dargestellt werden. Eine Vorverarbeitung der Simulationsdatenfolge (
35) ist daher in der Regel nicht erforderlich.
-
Wie 11 abschließend illustriert, können die beschriebenen Parallelisierungsansätze in einer gemeinsamen Simulation (18) mehrerer Regelsysteme (11) auf unterschiedlichen Knoten (10) vereint werden, ohne den Rahmen der Erfindung zu verlassen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-