Concurrent read and write performance

Started by Ross Smith

Ross Smith

Concurrent read and write performance   09 May 2020, 08:51

We are contemplating using your RAM Disk product as a means of buffering a 5 GB/Sec data stream in a Windows 10 based data acquisition and analysis system. We are doing this to provide a buffer since the data acquisition rate of 5 GB/Sec exceeds the write speed of the system's SSDs, so we plan to allocate a 300 GB RAMDISK for this purpose. This RAMDISK would enable us to write 60 seconds of data (60 sec x 5 GB/Sec = 300 GB) to the RAMDISK which would then be written to the SSDs at about 2 GB/Sec.

In addition to buffering between the data acquisition and the storage subsystems, we would also like to support an analysis task that would concurrently access the data as it comes in (albeit with a little latency). Accordingly, we would have three tasks accessing the RAMDISK concurrently: 1) Data Acquisition Task streaming the data from the A-to-D Converters to the RAMDISK at 5 GB/Sec, 2) Storage Task reading the data from the RAMDISK and writing it to the SSDs at about 2 GB/Sec and 3) Analysis task that will is reading the data from the RAMDISK and analyzing it at up to 5 GB/Sec.

We plan to implement this on a AMD Epyc 7000 dual CPU system and we can have up to 2TB of DDR4 per CPU that runs at about either 80 GB/Sec or 200 GB/Sec, depending on CPU choice (4 or 8CH). The data acquisition time is one minute, so 5 GB x 60 Sec = 300 GB, hence the size of the RAMDISK.

Questions:
1) Assuming we have the 80 GB/Sec DDR4 memory architecture, can we support 1 task writing to the RAMDISK and 2 tasks reading from the RAMDISK, concurrently at up to 5 GB/Sec Write Speed and 2 x 5 = 10 GB/Sec Read Speed?

2) If not, then what about with the 200 GB/Sec DDR4 memory architecture?

3) If still not, then how would you suggest we accomplish this feat?

Thanks,
Ross
SoftPerfect Support forum - Andrew avatar image

Re: Concurrent read and write performance   10 May 2020, 09:36

Sorry it's hard to predict what rates can be achieved on your hardware, so it's best to try it out. Please download a trial copy of RAM Disk and a tool called DiskMark.

Then simply create a RAM disk and run DiskMark against it. To simulate parallel I/O it might be worth running two DiskMark tests at the same time. You may also see better results with exFAT (less overhead than NTFS) and a larger cluster size (can be set in disk's properties).

All in all, depending on block size 5 GB/s sounds easily attainable. I got ~10 GB/s sequential I/O from a regular laptop:

SoftPerfect support forum
Ross Smith

Re: Concurrent read and write performance   11 May 2020, 02:55

Thanks for the quick response. We do intend to benchmark the system. We are waiting to get the server so we can do so.

Does DiskMark measure concurrent access? That's really the key difference for us on this application, in that our data acquisition process will be writing to the RAMDISK at 5 GB/Sec and we will have to processes reading from the RAMDISK at up to 5 GB/Sec also, so we would need concurrent write speed of 5 GB/Sec and read perf of about 10 GB/Sec.

My gut tells me that with fast enough memory (and enough CPU cores) we will be ok.

By the way... thanks for making this product... I think it's going to be a lifesaver for us on this project.

Ross
SoftPerfect Support forum - Andrew avatar image

Re: Concurrent read and write performance   11 May 2020, 10:00

It does actually: there are a few profiles and a "mix" mode where it reads and writes concurrently. It is also possible to adjust the ratio between reads and writes. In the screen shot below I tested a RAM disk with 70% reading, 30% writing. It only gets a little slower than reading and writing separately.

SoftPerfect support forum
Ross Smith

Re: Concurrent read and write performance   12 May 2020, 12:41

Thanks! That's perfect. You have been most helpful.

Ross

Reply to this topic

Sometimes you can find a solution faster if you try the forum search, have a look at the knowledge base, or check the software user manual to see if your question has already been answered.

Our forum rules are simple:

  • Be polite.
  • Do not spam.
  • Write in English. If possible, check your spelling and grammar.

Author:

Email:

Subject

A brief and informative title for your message, approximately 4–8 words:

     

Spam prevention: please enter the following code in the input field below.

 **    **  **     **  ********   **     **   *******  
 **   **   ***   ***  **     **  ***   ***  **     ** 
 **  **    **** ****  **     **  **** ****         ** 
 *****     ** *** **  **     **  ** *** **   *******  
 **  **    **     **  **     **  **     **         ** 
 **   **   **     **  **     **  **     **  **     ** 
 **    **  **     **  ********   **     **   *******  

Message: