Parallele Ausführung mit NI LabVIEW führt zu höherem Prüfdurchsatz
Inhaltsverzeichnis
Übersicht
Frank Lloyd Wright, ein bedeutender Architekt des 20. Jahrhunderts, sagte einmal, „jeder große Architekt … muss ein großer ursprünglicher Deuter seiner Zeit, seiner Tage, seiner Ära sein“. Dasselbe gilt für Entwickler von Prüfsystemen. Sie müssen neue Technologien, wie etwa Multicore-Prozessoren, Field-Programmable Gate Arrays (FPGAs) und Hochgeschwindigkeitsdatenbusse wie PCI Express, richtig deuten und einschätzen, während sie Prüfsysteme entwerfen, entwickeln und implementieren.
Werden diese Technologien mit der Software NI LabVIEW und der Testmanagementsoftware NI TestStand kombiniert, können Prüfingenieure leistungsstarke Prüfsysteme erstellen, die sich für eine parallele Verarbeitung eignen, parallele Messungen umsetzen und sogar komplett parallele Tests auf Produktionsebene durchführen.
Nutzt man bei PC-basierten Technologien die parallele Ausführung, können Geräte bis zu 10-mal schneller geprüft werden als mit herkömmlichen Systemen.
Parallele Verarbeitung
Bei traditionellen Prozessordesigns ist die Leistung durch pragmatische Herausforderungen wie z. B. Wärmeabgabe aufgrund hoher Taktraten beschränkt. Um sicherzustellen, dass die PC-Plattform mit dem wachsenden Verarbeitungsbedarf Schritt halten kann, entwickeln Chiphersteller neue Prozessoren mit mehreren Prozessorkernen. Damit automatisierte Prüfanwendungen das Leistungspotenzial der Multicore-Technologie voll ausnutzen können, müssen Umgebungen für die Anwendungsentwicklung die Erstellung mehrerer Threads erlauben und in der Lage sein, mehrere Prozessorkerne zu integrieren. Die einzelnen Threads können dann dediziert auf den Prozessorkernen ausgeführt werden.

Abbildung 1: Der LabVIEW Compiler erstellt separate Ausführungs-Threads für parallele Abschnitte des Codes. Dazu ist keine benutzerspezifische Konfiguration erforderlich.
Jedoch ist die Entwicklung multithreading-fähiger Anwendungen in einer textbasierten Programmiersprache wie etwa ANSI C für die meisten Design- und Prüfingenieure recht kompliziert und setzt Fachkenntnisse in der Semantik der Erstellung und Verwaltung von Threads und dem thread-sicheren Datenaustausch voraus. Durch den Einsatz grafischer Programmierumgebungen wie etwa NI LabVIEW können Ingenieure die Leistung der Multicore-Verarbeitung voll ausnutzen. Wie aus Abbildung 1 ersichtlich wird, werden zwei Schleifen in LabVIEW, die nicht von denselben Daten abhängig sind, automatisch in separaten Threads ausgeführt. So muss sich der Entwickler nicht um die Details der Thread-Verwaltung kümmern. Ein Beispiel dafür, wie sich Multicore-Prozessoren einsetzen lassen, wird im Whitepaper "Optimierung automatisierter Prüfanwendungen für Multicore-Prozessoren mit NI LabVIEW" beschrieben.
Für rechenintensive Daten- und Signalverarbeitung ist es oft notwendig, einen konstanten Teil der verfügbaren Verarbeitungsleistung nur für diese Tasks bereitzustellen. Multicore-Controller bieten dafür eine geeignete Möglichkeit, doch für die maximale Leistung bei der parallelen Programmierung führt kein Weg an einem FPGA vorbei. FPGAs sind in Prüfsystemen unvergleichlich leistungsstark und zuverlässig und stellen deshalb eines der besten Beispiele für heute erhältliche parallele, programmierbare Rechenhardware dar. Das NI LabVIEW FPGA Module nutzt die LabVIEW-Embedded-Technologie, um die grafische Entwicklung von LabVIEW auch für FPGAs in rekonfigurierbarer I/O-Hardware von NI einsetzen zu können. LabVIEW eignet sich besonders gut für die Programmierung von FPGAs, da es in der Lage ist, Parallelität und Datenfluss eindeutig abzubilden. Mit dem LabVIEW FPGA Module lässt sich Hardware für benutzerdefinierte Mess-, Steuer- und Regelanwendungen erstellen, ohne dass Low-Level-Beschreibungssprachen oder Design auf Hardwareebene erforderlich wären. Die benutzerdefinierte parallele Hardware kann zur Erstellung von individuellen Timing- und Trigger-Routinen, Hochgeschwindigkeits-Steuer- und -Regelanwendungen, zur Anbindung an digitale Protokolle, Verarbeitung digitaler Signale und weiteren Anwendungen, die zuverlässige Hardware für hohe Geschwindigkeiten und hohen Determinismus erfordern, eingesetzt werden.
Mit FPGAs ist es auch möglich, Anwendungen mit Koprozessor zu implementieren (siehe Abb. 2). Mit der neuen Festkomma-Arithmetik von LabVIEW FPGA und der unter ni.com/ipnet verfügbaren Fast-Fourier-Transformation (FFT) können Anwender bis zu 40 parallele FFT-Operationen auf dem Virtex-4-LX50-FPGA des Moduls NI PXI-7852 der R-Serie von NI platzieren. Aufgrund der dedizierten Bandbreite von PXI Express (bis zu 1 GB/s in jede Richtung) und dem in naher Zukunft verfügbaren Peer-to-Peer-Streaming steigt der Nutzen dieser Fähigkeit weiter an.

[+] Bild vergrößern
Abbildung 2: Die Fähigkeiten von LabVIEW FPGA in Bezug auf Festkomma-Arithmetik ermöglichen Anwendungen mit Koprozessor und FFT auf PXI-basierten FPGA-Zielgeräten und führen damit zu höherer Leistung.
Parallele Messungen
Parallele Messungen setzen voraus, dass alle Subkomponenten eines Prüfsystems die parallele Verarbeitung unterstützen. Das gilt nicht nur für den Prozessor, sondern auch für Datenerfassung und -übertragung.

Abbildung 3: PCI Express stellt statt eines untereinander geteilten Datentransfers eine dedizierte Bandbreite bereit. Dadurch erhöht sich die Datenmenge, die der Anwender erfassen und auf die Festplatte übertragen kann, erheblich.
Die gängigsten Bussysteme in der Datenübertragung für die modulare Messgerätetechnik von heute – darunter PCI, USB, Ethernet und GPIB – unterstützen kein echtes paralleles Datentransfermodell, weil sich die Geräte am Bus die Bandbreite aufteilen. Falls die gesamte Rate der Erfassung oder Erzeugung der I/O-Geräte höher ist als die Rate, die das Bussystem unterstützt, könnten Daten verloren gehen. Eine übliche Lösung für dieses Problem besteht darin, Messungen sequenziell durchzuführen und das I/O-Gerät um große Puffer an integriertem Speicher zu erweitern, damit Daten nicht verloren gehen, während auf die Verfügbarkeit des Kommunikationsbusses gewartet wird.
Dagegen bietet PCI Express, eines der neuesten leistungsstarken Bussysteme für die Datenübertragung, eine dedizierte Bandbreite für jedes Gerät, während es zugleich einen Durchsatz liefert, der höher ist als bei den zuvor erwähnten handelsüblichen Bussen. PCI Express ist mit x1-, x4-, x8- und x16-Lanes („mal 1“, „mal 4“ usw.) erhältlich und bietet einen nutzbaren Durchsatz von 250 MB/s pro Lane in jede Richtung. Die x1- und x4-Verbindungen werden häufig für Messhardware verwendet und bieten einen dedizierten Durchsatz von 250 MB/s bzw. 1 GB/s (vier Lanes zu je 250 MB/s).
Durch die Verwendung der PCI-Express-Technologie in der Backplane erhöht PXI Express den möglichen Datendurchsatz um mehr als das 45fache von 132 MByte/s (Peak) auf 6 GByte/s. Die Hard- und Softwarekompatibilität mit PXI-Modulen bleibt dabei erhalten. PXI Express ist vollständig in die PXI-Plattform integriert und ermöglicht eine Bandbreite von 1 GB/s pro Steckplatz in jede Richtung. Des Weiteren liefert es die industrieweit leistungsstärksten Timing- und Synchronisationsfunktionen.
Abbildung 4: PCI Express und modulare Messgeräte bieten ein skalierbares Modell für parallele Messungen.
Ein PCI-Express-Modul erfasst Daten, die vom integrierten Speicher über eine dedizierte PCI-Express-Lane übertragen und auf eine Festplatte oder an den Systemspeicher übertragen werden. Wenn die Daten im Systemspeicher sind, kann die LabVIEW Applikation auf diese Daten zugreifen. Kommt dabei ein Multicore-Prozessor zum Einsatz, ist die parallele Messung (vom Signal bis zur letzten Messung) abgeschlossen.
Parallele Tests
Mithilfe der Multicore-Verarbeitung, PCI Express und LabVIEW können Prüfentwickler parallele Messsysteme entwickeln, die in der Lage sind, jeweils einen einzelnen Prüfling zu testen. Die Definition von parallelen Tests besagt jedoch, dass mehrere Prüflinge simultan getestet werden können. Die Alternative dazu ist, Prüflinge sequenziell, also hintereinander, zu testen. Obgleich parallele Tests die gesamte Testzeit deutlich reduzieren, den Prüfdurchsatz erhöhen und die Ausnutzung der Messgeräte verbessern, kann die Komplexität der Entwicklung eines parallelen Testsystems eine unüberwindliche Hürde darstellen. Die Entwicklung einer Testmanagementsoftware, die das Testen mehrerer Prüflinge sofort implementiert, erfordert ein systemnahes Verständnis hinsichtlich der Funktionsweise des Betriebssystems bei parallelen Operationen, wie etwa Windows Critical Sections, und ein genaues Abwägen, wie ein gemeinsames Nutzen der Messgeräte durch mehrere Prüflinge realisiert werden soll, ohne Konflikte oder Blockaden zu verursachen.
Eine Alternative zur Entwicklung eines benutzerspezifischen parallelen Testsystems von Grund auf ist der Einsatz kommerzieller Standard-Testmanagementsoftware wie beispielsweise NI TestStand. Diese Software vermindert die systemnahe Komplexität der Entwicklung eines parallelen Testsystems, da integrierte Funktionen zur Ausführung paralleler Prüfsequenzen in mehreren Threads und zur Verwaltung des Betriebssystems sowie der Geräteressourcen genutzt werden.
Der Einsatz des neuen Resource-Profiler ermöglicht die Verkürzung von Prüfzeiten bei gleichzeitiger Erhöhung des Prüfdurchsatzes, da Entwickler Messgeräte besser einsetzen und parallele Prüfanwendungen schneller ausführen können. Der TestStand Resource Profiler analysiert die Ausführung der Prüfsysteme und identifiziert kritische Faktoren, so dass Prüfcode optimiert und zukünftige Investitionen in Messgeräte priorisiert werden können. Der Profiler zeigt die eingesetzten Messgeräte und Ressourcen in Echtzeit an (siehe Abbildung 5).

Abb. 5: Der NI TestStand Resource Profiler erhöht den Durchsatz, da Entwickler die Ausführung paralleler Prüfsysteme besser verstehen können.
Um die Leistungsvorteile der parallelen Prüfarchitektur zu veranschaulichen, stelle man sich eine einfache WCDMA-Testsequenz vor, die mit der PXI-Plattform anstatt mit traditionellen Messgeräten entwickelt wurde. In Übereinstimmung mit den WCDMA-Prüfspezifikationen sollte ein Leistungsvergleich sowohl die Dauer als auch die Genauigkeit von Messungen wie etwa Adjacent Channel Power (ACP), Occupied Bandwidth (OBW), Complementary Cumulative Distribution Function (CCDF) und Error Vector Magnitude (EVM) ergeben. Wie in Abbildung 6 dargestellt, bietet eine parallele Prüfplatform auf Basis von NI TestStand, LabVIEW und der PXI-Plattform eine Verbesserung der Messgeschwindigkeit um das bis zu Fünffache. Dadurch kann der Endverbraucher nicht wenig Geld sparen. Weitere Informationen zu diesem Leistungsvergleich bietet das Whitepaper „Neue Technologien ermöglichen schnellere RF-Messungen“.
Abbildung 6: Die parallele Prüfplattform von NI, basierend auf LabVIEW, NI TestStand und PXI, bietet eine bis zu fünf Mal schnellere Messgeschwindigkeit und eine höhere Genauigkeit als traditionelle Messsysteme.
Zusammenfassung
Multicore-Prozessoren und PCI Express verändern die Landschaft moderner PCs und tragen dazu bei, dass die grafische Programmierung in LabVIEW ihr Versprechen einlöst, eine echte parallele Verarbeitung und parallele Messungen auf Grundlage des Datenflusses der Applikationslogik eines Ingenieurs zu ermöglichen. NI TestStand vervollständigt die parallele Prüfarchitektur. Das Ergebnis sind Prüfsysteme mit erhöhtem Datendurchsatz beim Einsatz von PCI Express, eine erhöhte Verarbeitungsleistung beim Einsatz von LabVIEW und der Multicore-Verarbeitung und letztendlich verringerte Gesamtprüfkosten pro Prüfling beim Einsatz von NI TestStand.
Mehr über LabVIEW 8.6
- Erfahren Sie mehr zu den neuen Funktionen in LabVIEW 8.6.
- Um die neuen LabVIEW-Funktionen zu testen, starten Sie bitte die Online-Evaluierungsversion.
- Aktuelle LabVIEW-Evaluierungsversion herunterladen
- Sehen Sie den Webcast "Was ist neu in LabVIEW 8.6?"
Weiterführende Informationen
- NI TestStand 4.1 – Schnellere Ausführung paralleler Prüfanwendungen
- Höhere Leistung durch parallele Tests
- Optimierung der Leistung von Prüfsystemen mit parallelen Prüftechnologien
- Parallele Prüfarchitekturen reduzieren Testkosten
AGB
Dieses Tutorium ("Tutorium") wurde von National Instruments ("NI") entwickelt. Auch wenn National Instruments dieses Tutorium technisch unterstützt, ist es jedoch möglich, dass dieses Tutorium nicht umfassend getestet und überprüft wurde. NI übernimmt weder Garantien bezüglich der Qualität des Tutoriums noch bezüglich der weiteren technischen Unterstützung neuer Versionen ähnlicher Produkte und Treiber. DIESES TUTORIUM WIRD IM "IST-ZUSTAND" ZUR VERFÜGUNG GESTELLT UND NI ÜBERNIMMT KEINERLEI GARANTIEN. AUSFÜHRLICHERE ERLÄUTERUNGEN ZU ANDEREN EINSCHRÄNKUNGEN ENTNEHMEN SIE BITTE DEN NUTZUNGSBEDINGUNGEN AUF NI.COM (http://ni.com/legal/termsofuse/unitedstates/us/).


