Trading: SSD write speeds

Discussion in 'Hardware' started by rsi80, Feb 21, 2011.

  1. rsi80


    To kiwi and other computer-savvy folks on ET:

    How important is the write speed (sequential and random) of an SSD used in a computer exclusively for trading (including charting)?

    I already use a Ramdisk to hold the execution and charting programs, and am trying to figure out how best to add/utilize an SSD (with mediocre write speeds) in the current hardware configuration.

    For instance, Sierra Chart and NinjaTrader charting seem to do plenty of (4K) random writes. Leaving aside the longevity issue, does it follow that putting such a charting program on the SSD, instead of a Ramdisk, is better in performance terms?

    Thanks in advance for any feedback!
  2. Once the program is loaded into memory there should be next to no hard drive access. Using a ramdrive doesn't make sense unless program bootup times really matter that much, because you are sacrificing memory space. No application worth its salt makes frequent hard drive calls. At worse you'll run out of ram and the OS is forced to swap stuff out to virtual memory.
  3. The programs could be writing log files or storing historical data in its database.

    That being said, it likely isn't doing a lot of hard drive access at all, at least not enough to affect your performance. Even if it were writing, it's likely getting written to either OS file-level cache (if you have write-caching enabled) or hard drive physical cache, so your program won't be blocked waiting for i/o to complete.

    SSD most likely won't make any difference in terms of the run-time behavior of your program, just in the load time.
  4. Eight


    AMIBroker runs in the processor cache! It hardly even uses the RAM or so they claim, I've not tested it personally, little need for speed in what I do at all but if I needed something that ran fast I'd get that package...

    Regarding SSD speed, I saw a demo of a Striped Raid Quad SSD drive. It was ten times faster than whatever is in second place... a supercomputer is in reach nearly..
  5. You would only see an improvement in performance if the writing of the data and subsequent reading of it, is a bottleneck in the first place.

    Depending on what your doing - write speed may not be at all important . If you have a high frequency trading system, then putting it all in ramdisk would be the best solution - certainly couldn't get any faster than that.

    A charting program like Ninjatrader is writing the incoming data to storage as an archive. The latest incoming data is still held in ram, so the charting and execution procedures are run from ram copy anyway. Unless your algorithms require reading back a lot of old data from the archive, the hard drive is just idling away storing the data. If there is an issue with the data i/o from your drive, you would have noticed by now?

    If you are thinking of installing a 'mediocre' SSD, you should check out independent reviews of its random write speed - as that is the weakest aspect of SSDs, and you may find it is slower than a hard drive anyway. The Intel SSDs are the best for random writes by a long shot - but are also the most expensive.
  6. You seem to have most of the good advice there.

    Despite this I run the following on my ram disk:
    - tws
    - browser cache
    - temp files
    - sierrachart

    Part of the reason is that I have an early OCZ disk, pre trim, so the write speeds are slower and there is the possibility of stutter effects. Also, the rate at which it was using write cycles up disturbed me.

    I'm using the OCZ like Apple will be using it in their mid range systems ... to give me fast reads so that my machine and programs boot faster.
  7. rsi80


    Thanks, guys, for all your helpful pointers and advice!

    Digesting... :)
  8. GTS


    Wow, folks still use RAM drives in this day and age? Interesting.

    I would recommend using SysInternals Process Monitor to see which processes are accessing the disk (and which files) and then go from there, many times there is background disk I/O occurring that you may not even be aware of.

    In terms of your actual question "For instance, Sierra Chart and NinjaTrader charting seem to do plenty of (4K) random writes. Leaving aside the longevity issue, does it follow that putting such a charting program on the SSD, instead of a Ramdisk, is better in performance terms?"

    Putting side the question about whether it makes sense to dedicate RAM to a RAM drive, no SSD is ever going to outperform a RAM drive.

    Please note that putting a program on a RAM drive really doesn't buy you much since as others have noted, the program will only be read once into memory and that's it (it will not be constant accessed from the disk). What really matters is the program's configuration - it should be configured so that any directory it writes to is on the fastest (RAM or SSD) drive.