PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

PXIe 8262 streaming performance with HDD 8264 on a PXIe 1062Q chassis

Solved!
Go to solution

Hello,

 

I have a PXIe 1062Q chassis, running Win XP, with one 8262 connected to an HD8264 and two PXIe 6537 installed, all the three board being on the express slots (3, 4 and 5). Running the benchmark application for testing the streaming speed (Win32FileIO) I get something like 100 MB/s with data chunks of about 4 MB, and around 140 MB/s with chunk of 64 M. How can improve these results toward the theoretical limit off 600 MB/s? Is there any software/driver trick to be applied?

 

And, in case, which is the best way to exploit the 8262 from C++ written code (using the NI libraries)? Is there anything similar to the Win32FileIO library? I tried using the RAID system from a c++ test program, and the performance seems very poor, while I would need, if not the 600 MB/s rate, at least something around 200 MB/s of continuous streaming.

 

Thanks in advance,

Piero.

0 Kudos
Message 1 of 15
(6,747 Views)

I'm guessing you have a controller that only supports x1 PCI Express.  The PXIe-8130 is our highest-bandwidth controller, with four x4 links going to the chassis.  In the case of the 1062, each of slots 3, 4 and 5 get a dedicated link from the controller.  x1 links max out at about 200 MB/s and x4 links max out at 800 MB/s.

 

So your first step is to use an embedded controller or use MXI Express x4 instead of x1 back to a host computer.  While the PXIe-8130 is the best for high-bandwidth data transfers, the PXIe-8106 should also be sufficient for your needs.

 

If you want to stream data to disk from a PXIe-6537, it is already built into DAQmx.  You simply specify a file name, and the data goes to disk.  If you want to stream *from* disk, you'll have to do that on your own.  Here is a C/CVI example for streaming digitizers to disk using a C API and the Windows File I/O functions.

 

Neil

Principal Engineer

National Instruments

 

Neil Feiereisel
Principal Engineer, Modular Instruments, National Instruments
0 Kudos
Message 2 of 15
(6,726 Views)
Solution
Accepted by topic author Piero Giubilato

Hi Neil,

 

I actually have a 8130 controller, and in fact that was not the problem: I found the problem being the file-caching performed by Windows file system. If you use standard fstream calls from C source code you cannot bypass it, but by using Windows native call (CreateFile(...), WriteFile(...) APIs) and setting the flag for no data caching or buffering inside the call, I managed to get the full bandwith of 600 MBytes/s.

 

Anyway thanks for the quick reply!

Piero

 

I'm guessing you have a controller that only supports x1 PCI Express.  The PXIe-8130 is our highest-bandwidth controller, with four x4 links going to the chassis.  In the case of the 1062, each of slots 3, 4 and 5 get a dedicated link from the controller.  x1 links max out at about 200 MB/s and x4 links max out at 800 MB/s.

 

So your first step is to use an embedded controller or use MXI Express x4 instead of x1 back to a host computer.  While the PXIe-8130 is the best for high-bandwidth data transfers, the PXIe-8106 should also be sufficient for your needs.

 

If you want to stream data to disk from a PXIe-6537, it is already built into DAQmx.  You simply specify a file name, and the data goes to disk.  If you want to stream *from* disk, you'll have to do that on your own.  Here is a C/CVI example for streaming digitizers to disk using a C API and the Windows File I/O functions.

 

Neil

Principal Engineer

National Instruments

 

0 Kudos
Message 3 of 15
(6,721 Views)

Here is the link to the CVI Reference Application using C for File I/O:

http://zone.ni.com/devzone/cda/tut/p/id/9412

 

Neil

 

Neil Feiereisel
Principal Engineer, Modular Instruments, National Instruments
0 Kudos
Message 4 of 15
(6,720 Views)

Excellent - you should do very well with an 8130 controller.  Sounds like you're programming in C, but for those customers who are using LabVIEW, I added a few examples to LV 2009 called Write to File Speed Test and Read from File Speed Test.  They each have an input (called Disable Buffering?) for turning off the Windows file I/O buffering, and it's quite shocking to see the performance difference (as you saw, it can go from 140 MB/s to 600 MB/s).

 

One last tidbit - If you want to read from disk and generate out the 6537 at 200 MB/s (50 MS/s), put the 6537 in slot 4.  In slots 3 and 5, you'll max out at around 180 MB/s.  This is a bonus feature of the 8130 controller - certain links (3 and 4) return 128 byte read completions (instead of the normal 64 bytes like almost all other chipsets on all other controllers).  On a 1065 chassis, slots 9-14 are connected to link 3, and on a 1075 chassis, slots 10-13 are connected to link 3 and slots 14-18 are connected to link 4.  No worries in the other direction (acquisition), as all links are capable of 128 byte payloads.

 

Neil

 

 

 

Neil Feiereisel
Principal Engineer, Modular Instruments, National Instruments
Message 5 of 15
(6,716 Views)

This is an old topic, but I need some updates.  How it will be if I use 8133 or 8388 controllers in 1075 chassis?

 

I need streaming out at 500MB/s with 5673 and 8262 (8265) RAID.

0 Kudos
Message 6 of 15
(5,161 Views)

Hi Ex-NISH2,

 

Yep, this should work fine. The PXIe-1075 supports up to 1 GB/s per slot, with a maximum system bandwidth of 4 GB/s. The PXIe-8133 will also support these bus rates (in fact, the controller itself can handle higher bus rates than the chassis). The PXIe-8388 will work also, however, keep in mind that this MXI connection is only validated to work with the RMC-8354 rackmount controller. The HDD-8265 supports up to 750 MB/s, so this should be fine also.

 

Keep in mind also that all these data rates are theoretical and you may not get exactly these speeds.

 

Hopefully this helps,

 

Chris G

Applications Engineer
National Instruments
0 Kudos
Message 7 of 15
(5,147 Views)

It works with my 8133, even in link #1 and 2.  I put 5450 in slot 5 and 8262 in slot 9.

 

However I have 2 issues:

1, the 8262 boot up failure.  I don't see the RAID BIOS boot up and can not find the disks under windows after boot up.  I open device manager and found LSI Logic MegaRAID SAS 84016E RAID Controller failed to boot up.  Even time I need to un-install it and refresh to get the RAID working.  I changed another 8133 and that was OK, however after some more PXI devices plugged in and out, the issue comes back and never recovered.  I am using Win7.

 

2, I tried with ECM 8354, but the streaming always failed with buffer overflow even with low speed as 1MS/s.  I guess there is some settings problem.  And I see the LED of MXI flashes between green and amber.  I installed Win7 again.

0 Kudos
Message 8 of 15
(5,143 Views)

Hi Ex-NISH2,

 

When you get the 8262 failed to boot up error, what do the LED indicators on the 8262 show under this set up?

Do you have any other MXI x4 cables, RAID drives, or chassis to switch out in this system? This can help us narrow down the issue to a single piece of hardware.

 

Also, for the second question, which LED on the 8262 (Pwr or Link) is flashing between green and amber? Or is this an LED on the RMC-8354?

 

Have a great day!

Peter E
Applications Engineer
National Instruments
0 Kudos
Message 9 of 15
(5,128 Views)

Actually that's 2 different HW configurations.

 

The 1st is 8133- 2x(8262-8264).  many times, I need to delete and re-scan the LSI cards under device manager.  The LEDs on 8262 are both green no mater windows recognizes the RAID or not.

 

The 2nd configuration is RMC 8354 - 1075 - 2x(8262-8264).  The Link LED on the PXIe-8388 is flashing between green and amber.

0 Kudos
Message 10 of 15
(5,103 Views)