High Performance Datenerfassung am Beispiel WEGA Langmuir 5. Mai 2010 High Performance Datenerfassung am Beispiel WEGA
Hardware Timing Netzwerk Hardware zwei identische Systeme bestehend aus Controller & Chassis Controller 19 PC CPU: Intel Core2 Quad RAM: 2GB OS: Windows XP SP3 32bit Netzwerk: 2x1Gbit optisch, 1x1Gbit elektrisch (onboard) PCIe-Brücken-Adapter PXI Chassis NI PXI-1033 (maximale Datenrate: 110 MB laut s Spezikation) integrierter PXI-Brücken-Adapter CompactPCI TDC 4x NI-PXI6133 mit je 8 Kanälen Front-End Elektronik entwickelt von TD 64 Analoge Eingänge, 1x Sample-Clock, 2x externe (Start-)Trigger 8x SCSI High Performance Datenerfassung am Beispiel WEGA
Hardware Timing Netzwerk Timing gemeinsame Sample Clock für alle 64 Messkanäle und Zeitmessungen - generiert von PPG der TDC-Karte des 1. Systems getrennte Gate/Start-Trigger generiert von der TDC-Karte des jeweiligen Systems High Performance Datenerfassung am Beispiel WEGA
Hardware Timing Netzwerk Netzwerkanbindung Verbindung DAQ-Rechner Switch: jeweils 1Gbit Verbindung DB-Server Switch: 1 Gbit 2x1Gbit sowohl zwischen Switch & DAQ-Rechner als auch zwischen Switch & DB-Server theoretisch verfügbar aber: Probleme mit Trunking Senden der Datenströme über verschiedene Netzwerk-Karten technisch möglich aber nicht implementiert? Empfang der Daten über verschiedene Netzwerkkarten server-seitig nicht umsetzbar? High Performance Datenerfassung am Beispiel WEGA
zwei verschieden Arten von : 1. ohne Archivierung zum Testen der Leistungsfähigkeit der CoDaStation Software unabhängig von Beschränkungen durch Netzwerk-Bandbreite normale Datenerfassung (Auslesen der Hardware, Management der lokalen Puer, Steuerungs-Kommunikation,...) bis auf das Verschicken der Datenboxen über Netzwerk 2. mit Archivierung um Netzwerkauslastung zu testen Datenvolumen vergröÿert sich im Vergleich zu 1. durch Vervielfachung der Zeitstempel Zeitstempel werden einmal pro Mess-System erfasst, aber für jedes Datenmodul/Datenstrom extra archiviert 2*8 Byte/Sample gemessen 8*8 Byte/Sample auf Netzwerk High Performance Datenerfassung am Beispiel WEGA
Test #1 - ohne Archivierung Mess-Parameter: Sample-Frequenz: 1MHz 32 Kanäle Laufzeit: 10 min Datenrate: (2Byte 32 + 8Byte) 1MHz 70 MB s Ergebnis: durchschnittliche CPU-Belastung: 5% Keine Fehler! High Performance Datenerfassung am Beispiel WEGA
Test #2 - ohne Archivierung Mess-Parameter: Sample-Frequenz: 2MHz 32 Kanäle Laufzeit: 10 min Datenrate: (2Byte 32 + 8Byte) 2MHz 140 MB s Ergebnis: durchschnittliche CPU-Belastung: 10% Fehler beim Auslesen der DAQ-Hardware (durch Überschreitung der maximalen Transferrate) High Performance Datenerfassung am Beispiel WEGA
Test #3 - ohne Archivierung Mess-Parameter: Sample-Frequenz: 2MHz 24 Kanäle Laufzeit 10 min Datenrate: (2Byte 24 + 8Byte) 2MHz 106 MB s Ergebnis: durchschnittliche CPU-Belastung: 10% Keine Fehler! High Performance Datenerfassung am Beispiel WEGA
Schlussfolgerungen keine Beschränkungen durch Datenerfassungs-Software vollständige Ausnutzung der technisch möglichen Datenraten High Performance Datenerfassung am Beispiel WEGA
Test #1 - mit Archivierung Mess-Parameter: Sample-Frequenz: 500kHz 1x32 Kanäle Laufzeit: 10 min Datenrate (auf dem Netz): (2Byte 32 + 8Byte 4) 500kHz 45 MB s Ergebnis: durchschnittliche CPU-Belastung: 15% durchschnittlich Netzwerk-Last: 45% Überlauf der Software-Puer (RAM) nach ca. 9min Wiederholung des mit erhöhter Prozess-Priorität Keine Fehler! unklar, ob Verbesserung durch erhöhte Prozess-Priorität oder nur temporäres Problem in Durchlauf #1 High Performance Datenerfassung am Beispiel WEGA
Test #2 - mit Archivierung Mess-Parameter: Sample-Frequenz: 1MHz 1x32 Kanäle Laufzeit: 10 min Datenrate (auf dem Netz): (2Byte 32 + 8Byte 4) 1MHz 90 MB s Ergebnis: Überlauf der Software-Puer nach ca. 10s durchschnittliche CPU-Belastung: 15% durchschnittliche Netzwerk-Last: anfänglich 70%, nach ca. 2min plötzliches Absinken auf 30% - Ursache unklar Daten der ersten 10s werden vollständig archiviert High Performance Datenerfassung am Beispiel WEGA
Test #3 - mit Archivierung Mess-Parameter: Sample-Frequenz: 500kHz 2x32 Kanäle Laufzeit: 10 min Datenrate (auf dem Netz): (2Byte 64 + 8Byte 8) 500kHz 90 MB s Ergebnis: noch ausstehend wegen Problemen mit Clock-Signal High Performance Datenerfassung am Beispiel WEGA
Schlussfolgerungen die beschränkende Gröÿe für kontinuierliche Datenerfassung ist momentan die Netzwerkbandbreite Datenerfassung mit hohen Datenraten über kurze Zeiträume möglich, solange Daten lokal gepuert werden können (beschränkt durch den lokalen RAM / Betriebssystem) bei Vergröÿerung der Netzwerkbandbreite muss serverseitig auch eine entsprechende Schreib-Kapazität gewährleistet werden High Performance Datenerfassung am Beispiel WEGA
Versuch der Entlastung des Netzwerks durch Zwischenspeichern der Daten auf der lokalen Festplatte 1. Auslesen der Hardware 2. Schreiben der im RAM gepuerten Daten auf die Festplatte 3. paralleles Lesen der Daten von der Festplatte und Übertragung zur Datenbank Ergebnis: gleichzeitige schreibende und lesende Zugrie für mehrere Datenströme nicht schnell genug möglich Datendurchsatz schlechter als beim direkten Verschicken über Netzwerk High Performance Datenerfassung am Beispiel WEGA