Einzelne Festplatten erzielen aktuell Schreib- bzw. Leseraten von maximal etwa 100 Mbyte/s. Für die Speicherung von großen Datenmengen werden daher oft RAID-Systeme (Redundant Array of Inexpensive Disks) eingesetzt. Hierbei handelt es sich um einen Verbund aus Festplatten, der eine gesteigerte Datenrate (RAID-0, Stripping) durch Aufsplitten eines Datenstroms auf mehrere Festplatten erreicht. Als andere Betriebsarten sind auch gesteigerte Datensicherheit (RAID-1, Mirroring) durch Spiegelung von Daten auf mehrere Festplatten oder eine Kombination (RAID-5) aus beiden Verfahren möglich.
Neben klassischen Festplatten werden auch zunehmend Solid-State-Disks (SSDs) eingesetzt, bei denen die Datenspeicherung durch Flash-Speicherbausteine realisiert wird, was durch den Wegfall an Mechanik eine besonders hohe Unempfindlichkeit gegen Erschütterungen und Vibrationen mit sich bringt.
National Instruments bietet beispielsweise mit dem NI HDD 8264 ein RAID-System (Bild 2) mit einer garantierten Übertragungsrate von 600 Mbyte/s und einer Speicherkapazität von 3 Tbyte. Das RAID ist aus zwölf Festplatten aufgebaut und kann für die höchste Geschwindigkeit als RAID-0 oder für Redundanz als RAID-5 konfiguriert werden. Im Betriebssystem verhält sich das RAID wie eine gewöhnliche Festplatte, so dass Dateien normal kopiert oder bearbeitet werden können. Selbstverständlich ist auch der Zugriff aus Programmiersprachen auf das RAID mit den Standard- Datei-I/O-Funktionen möglich. Die Anbindung des externen RAID-Systems an ein PXIe-System erfolgt mittels einer Steckkarte (NI 8262) über eine Cabled-PCI-Express- Verbindung.
In einem PXIe-System können durchaus mehrere RAID-Systeme parallel betrieben werden, da jeder Steckplatz durch jeweils vier unabhängige Lanes an den Chipsatz angebunden ist. Die maximal erzielbare Gesamt-Datenrate wird von der Leistungsfähigkeit des verwendeten Controllers und dessen Chipsatz bestimmt. Neben dem erwähnten NI-HDD- 8264-RAID mit 600 Mbyte/s sind das RAID NI HDD 8263 mit 200 Mbyte/s sowie eine PXIe-Einbauversion, ebenfalls mit 200 Mbyte/s, verfügbar.
Software-Architektur für Streaming-Applikationen
Um eine Applikation z.B. in der Entwicklungsumgebung LabVIEW optimal auf Streaming anzupassen, bietet sich das Konzept von „Producer-Consumer“ an. Hierbei handelt es sich um zwei unabhängig arbeitende Programmteile (Bild 3), von denen der eine auf die Hardware zum Erfassen der Daten (z.B. ein HF-Analysator oder Digitizer) zugreift und der zweite die Datenspeicherung durchführt. Der Datentransport vom ersten zum zweiten Programmteil wird durch einen FIFOSpeicher (Stapelspeicher bzw. Queue) realisiert.
Durch diese Architektur können beide Programmteile unabhängig auf verschiedenen Prozessorkernen ausgeführt werden, und Zugriffszeiten auf Datenerfassungsgerät und Speichermedium blockieren sich nicht gegenseitig. Mit diesem Ansatz sind sehr leicht Datenströme von 600 Mbyte/s auf ein RAID erreichbar, wobei mehrere parallele Datenströme in einem System möglich sind.
Was leistet Streaming?
Die beim Streaming erreichbaren Übertragungsraten hängen in erster Linie vom verwendeten Speichermedium (Festplatte, RAID) ab. National Instruments garantiert für die RAID-Systeme eine Mindest-Übertragungsrate. Bei dem hier erwähnten Typ HDD 8264 sind es beispielsweise 600 Mbyte/s für die ersten 80 % der Speichertiefe von 3 Tbyte. Von diesem Befüllungsgrad an sinkt die Übertragungsrate etwas, da unter Windows die Festplatten alle von außen nach innen beschrieben werden und daher die Umfangsgeschwindigkeit und damit die Schreibrate sinken.
Weiterhin spielt der Chipsatz des verwendeten PXIe-Controllers eine große Rolle bei dem maximal erreichbaren Datendurchsatz. Der Controller PXIe-8108 nutzt beispielsweise einen Intel-Core-2-Duo-T9400-2,53-Prozessor und einen Mobile-Intel-GM45-Express- Chipsatz. Mit dieser Konfiguration kann der Controller Datenströme bis zu 1 Gbyte/s verarbeiten. Der Controller PXIe-8130 hingegen nutzt einen 2,3-GHz-Dual-Core- AMD-Turion-64X2-Prozessor mit NVIDIA-MCP55-Pro-Chipsatz und erreicht mit diesem auf Datendurchsatz optimierten Aufbau einen maximalen Systemdurchsatz von 4 Gbyte/s.
Eine beispielhafte Applikation, bei der von acht Digitizern des Typs PXIe- 5622 mit je 100 MSamples/s Daten erfasst und auf vier NI-HDD-8264- RAID-Systemen gespeichert werden, bewegt etwa 1,6 Gbyte Daten pro Sekunde. Die Prozessorlast auf einem Controller des Typs PXIe-8130 liegt bei dieser Anwendung durchschnittlich im unteren zweistelligen Prozentbereich, lässt also noch Spielraum für andere Aufgaben auf dem System. Ein wichtiger Punkt bei der Konfiguration eines Streaming-Systems ist also die Wahl des PXIe-Controllers. Ebenso ist die Platzierung der Komponenten in einem System entscheidend für die Gesamtleistung beim Streaming.
Die maximalen Werte für den Datendurchsatz werden durch die Architektur des zu Grunde liegenden PCI Express nur bei ausgeglichenen Datenströmen in das System (von Datenerfassungsgeräten) hinein und wieder heraus (auf Signalgeneratoren oder zu RAID-Systemen) erreicht. Details hierzu sind unter www.ni.com/streaming verfügbar.