Merrits of using File System Buffering

Software-based VM-centric and flash-friendly VM storage + free version

Moderators: anton (staff), art (staff), Max (staff), Anatoly (staff)

Post Reply
peekay
Posts: 27
Joined: Sun Aug 09, 2009 2:38 am

Thu Sep 10, 2009 7:26 pm

We have configured Starwind 4.2 on a Win2008 STD x64 server with 12GB of RAM. At this time, we have 3 devices (standard img files). At first, the images were connected with File System Buffering DISABLED, which is the default setting. We noticed that the system RAM was not really being used for caching of files. Once we removed and reconnected the image files with File System Buffering ENABLED, we noticed the system RAM use shot up to almost full use (11.8GB).

Are there any benefits to using File System Buffering? It would seem that RAM caching would increase the apparent disk performance, especially with almost 12GB of RAM cache. Are there any risks or other concerns?

Thanks! :D
User avatar
Aitor_Ibarra
Posts: 163
Joined: Wed Nov 05, 2008 1:22 pm
Location: London

Thu Sep 10, 2009 11:41 pm

Peekay,

I know this is probably not your intention, but you've made me feel really stupid and ignorant, and that's after a whole day of it...

1) Starwind 4.2? When did this arrive? Last time I downloaded, it was at 4.1!! Note to Robert & other starwind people: Please could you add a sticky thread where you simply post the current release notes? That way I can subscribe to the thread or make it a bookmark or something to keep up to date!

2) File System Buffering!! If this is back, it's a major thing. A while back it was removed, but the option was left in the ui. If I remember rightly, it was removed because there had been a few BAD issues with Windows cacheing (as in does bad things to your data), and Starwind decided it would be better to write their own cacheing code. If this has now been done, or if WIndows cacheing is now deemed safe again, then it's a major win, as being able to use system RAM as a read/write cache (providing you have a UPS of course) is going to improve your performance incredibly (especially if you have 10GbE to match!). I run a RAID controller with 4GB cache because of the performance benefits, and I know I could definitely use the massive amounts of RAM now possible on DDR3 equipped motherboards (some can handle 192GB!!)

Now yes, I feel stupid for not noticing this, but still, really happy if true... now I just need you to say that HA is done and I will open a bottle of wine to celebrate!

Risks: RAM is volatile. If your server crashes, for whatever reason, you lose the data that's in the cache but not yet on the disk. So, you need some kind of UPS (don't just rely on your datacentre's UPS, and definitely don't use a chassis that doesn't have redundant power supplies), you need a really reliable hardware set up (ECC RAM, and don't even think about thinking about overclocking), and you absolutely mustn't run anything that hasn't been rigourously tested. Don't plug in any USB devices, keep the box patched and firewalled, and make sure that all the drivers are totally reliable. Oh and don't use non-enterprise disks in your raids. I've seen RAID cards crash the entire box (which should never happen, but does) because they can't handle a drive with buggy firmware. If you trust everything, and cache is reliable, then with Starwind and lots of RAM, you can build the fastest iSCSI target that money can buy.

cheers,

Aitor
User avatar
Aitor_Ibarra
Posts: 163
Joined: Wed Nov 05, 2008 1:22 pm
Location: London

Fri Sep 11, 2009 12:15 am

a quick download of 4.2 later...

It doesn't seem to be in the release notes. So until Starwind repsond, the only way to establish whether the feature is really back is through experimentation(as I said before, the option was left in the UI and config files, but the setting was supposed to be ignored until the new code was baked)

The fact that you are seeing increased ram usage does suggest that the cacheing is happening... I've not installed this on a test box yet - will try this tomorrow or weekend. With 12GB of ram, you could set up a 4GB RAM disk and say a 16GB IMG, and use an iSCSI initiator to attach the two volumes to the Starwind box (that way your network won't be a bottleneck). Copy some stuff in to the RAM disk. The speed of this should be limited by your hard drive. Then copy the same stuff to the IMG volume, from the RAM disk. This should be near instananeous, as you've enough RAM to cache the write. Do this again, and eventually you should see a big slow down when you've filled your cache and it hasn't yet flushed to hard disk yet. Then reboot, and try the same test again, and it should be a lot slower.

Hopefully this isn't a build mistake(e.g. feature was accidentally re-enabled when the 4.2.1 build was compiled)
peekay
Posts: 27
Joined: Sun Aug 09, 2009 2:38 am

Fri Sep 11, 2009 2:09 am

Great insights Aitor_Ibarra! It seems like both of us really want a response from StarWind on this one. Version 4.2.1!!! Now I feel lost... going hunting.

:)
Robert (staff)
Posts: 303
Joined: Fri Feb 13, 2009 9:42 am

Fri Sep 11, 2009 11:49 am

Hi everyone,

Sorry for the confusion, but this is not ram caching yet. Use system file buffering option, as it was correctly mentioned, existed in the ui before. The reason of using a large amount of ram is that on Vista and on 2008 Server (I suppose on windows 7 too) is that it uses ANOMALLY large amount of ram in this case. This however does not bring any significant performance improvement and sometimes even lowers the performance.

Aitor, thank for your suggestion to post minor updates' release notes. We will start doing that.
As for not notifying you, do you remeber that I have promised to tell you right away once something major is released? I will not break my promise! :)

Thanks
Robert
StarWind Software Inc.
http://www.starwindsoftware.com
Post Reply