Fancycache for Pro Audio

Report bugs or suggestions around FancyCache
Post Reply
Metallian
Level 1
Level 1
Posts: 1
Joined: Sun Mar 06, 2011 10:59 am

Fancycache for Pro Audio

Post by Metallian »

Hi,

I just discovered the software FANCYCACHE and I think it can provide me great performance improvements for my PRO AUDIO setup

I'm using softwares like EAST WEST PLAY, NATIVE INSTRUMENTS KONTAKT and VIENNA SYMPHONIC LIBRARY
See : http://www.soundsonline.com; http://www.nativeinstruments.com,http://www.vsl.co.at
These virtual instruments are streaming a lot of tiny files from HDD

At the moment, I have 2.4 TB of samples.
About 1.500.000 files ! :o

Streaming those files from standard HDDs is quite slow because of the large number of tiny files, even on my 4x1Tb RAID 0 setup (LSI 9260-8I MEGARAID card)
Therefore, all these software programmers recommend using SSD drives because of their slow access time on tiny files.
The problem is that there samples libraries are huge and I really can't afford 2.4TB of SSD storage ! :(

But here comes FANCYCACHE !
It offers me the possibility to use an SSD as a cache for my HDD RAID 0 array
And this is a major performance improvement ! :!:


Indeed, the first thing to know about these sample streaming softwares is that they never use all the 1.200.000 files at the same time.
It depends on what virtual instruments you're loading
A single instruments never uses more than around 3.000 or 4.000 files and one composer never uses more than 15 or 20 instruments in a single song.
To work on a song, I therefore only use around 60Gb of my huge 2.4 Tb library

Before using FANCY CACHE, the best way to get good performance was to copy the 60Gb of needed files to the SSD drive manually.
That was ULTRA boring and slow, especially when you switch songs very often.
Furthermore, the software EAST WEST PLAY doesn't provide an easy way to extract the files from one instrument only. You had to copy huge parts of their library which includes lots of unused files that wasted SSD space

Now, with FANCY CACHE, I just setup my HDD RAID 0 array to use another SSD RAID 0 array as a cache disk.
The first time I load the song, I can see no speed improvements, but when the song is loaded, everything runs very smooth from the cache drive and i can stream 6x or 8x more samples than before ! :o


I think FANCY CACHE should be advertised on the PRO AUDIO FORUMS, and especially on www.soundsonline.com (home of EAST WEST PLAY)
Your team should definitely work with them to develop a custom cache algorithm for their software.
Note that these streaming softwares only need READ ONLY cache as nothing is ever written to the disks.
I suggested the SSD cache idea weeks ago on the soundsonline forums, before discovering FANCYCACHE.
The idea came from my MEGARAID RAID controller documentation as the card offers a similar option called CACHECADE. But it's quite expensive and new hardware is needed.



To finish, can I suggest a new feature for the next FANCYCACHE version ?
Please allow us to disable the L1 CACHE
I really don't want to waste RAM .
The pre-mentioned streaming softwares already handle the RAM caching part. (and it takes a lot of RAM : i have 16 Gb and It's sometimes not enough !)
I only need SSD caching and I need to save my RAM.


Last question :
As I'm running 2 RAID 0 arrays, (one 4x1TB HDD and one 2x120Gb SSD) am I supposed to use FANCYCACHE DISK edition or VOLUME edition ?
What's the difference ?


Keep the good work on FANCYCACHE
V0.6 is running very well !


Lionel
From France (which explains the bad english sorry :D )
User avatar
Support
Support Team
Support Team
Posts: 3628
Joined: Sun Dec 21, 2008 2:42 am

Re: Fancycache for Pro Audio

Post by Support »

:) Great! Thank you for sharing the use experience.

Regarding your suggestion, I'm afraid that we can't disable L1 cache. The L1 cache here can provide better performance. More L1 cache, better performance.

The Volume Edition allows to set individual caches for each volumes, while the Disk Edition for each disks. Assume a raid0 consists of two disks, the Volume Edition can set a single cache for the raid0, because raid0 makes up one volume. But the Disk Edition can set individual caches for each disks. Of course, in normal cases, one disk has one or more volumes, then the Volume Edition allows to set individual caches for each volumes.
SSDAW
Level 1
Level 1
Posts: 3
Joined: Sun May 01, 2011 10:51 pm

Re: Fancycache for Pro Audio

Post by SSDAW »

I plan to get an SSD for exactly the same szenario like Lionel.

Some things aren't clear yet:

1.) Which data gets cached? As much as I understand, it's simply every file, once it is used. Or is there some algorithm involved? (Is there a way to simply monitor exactly, which data is cached?)

2.) What happens, when L2 is full? (Which won't be an exception in this scenario, but the rule. It's not a bug, it's a feature). If I got it right, it's the same like in the L1 (LFU or LRU) provided MBU is active for L2, isn't it?.

At first sight, it would be the best thing for us, if it simply did that way. Cache every data immediately once it is requested, until the L2-SSD is full, then drop the files least used and "replace" them by new ones in the minute they are requested. This way the data should match the respective projects really quickly. (This will result in quite massive "writing-action", but I think it's worth the performance boost.)

@Lionel: Do you know, if it caches the audiosamples as a whole from the very beginning or does it cache only these tiny parts of the audiosamples which Play and Kontakt usually preload into RAM? The latter case would be way much "healthier" for our SSD, because "useless" files, won't be written to the SSD at all.

As Lionel mentioned, for us L1 is quite useless, or rather bad, as we have no RAM to waste and our applications already manage RAM very well. But ok - sacrificing 128 MB of RAM won't hurt too much.
As some other users in this forum mentioned, it would be great to have the option of a persistent L2 cache, which "survives" a reboot (i.e considering the excessive writing our SSDs will have to suffer from in this scenario). BTW: Does it persist, when I go to sleep mode, which is very essential for me (not only in regard to this issue)?

Thanks & Regards!
User avatar
Support
Support Team
Support Team
Posts: 3628
Joined: Sun Dec 21, 2008 2:42 am

Re: Fancycache for Pro Audio

Post by Support »

Hi SSDAW,
SSDAW wrote:1.) Which data gets cached?
FancyCache caches the partial data of the file which is used, not necessary the whole file.
SSDAW wrote:2.) What happens, when L2 is full? (
The old data will be discarded according to the caching algorithm (MBU). For the algorithm definition, see
http://www.romexsoftware.com/en-us/fanc ... /help.html

For the L2 caching (SSD), the caching data persists when entering sleep or hibernation mode.
SSDAW
Level 1
Level 1
Posts: 3
Joined: Sun May 01, 2011 10:51 pm

Re: Fancycache for Pro Audio

Post by SSDAW »

This sounds VERY promising! Great!
support wrote:Hi SSDAW,
FancyCache caches the partial data of the file which is used, not necessary the whole file.
Great, this answers my question regarding audio-related sampling software (Kontakt, Play, etc.). But just to be perfectly clear: Actually I wanted to know, data of which files gets cached? It's simply everything coming from the repective disc or volume?
The old data will be discarded according to the caching algorithm (MBU). For the algorithm definition, see
http://www.romexsoftware.com/en-us/fanc ... /help.html
To be honest I simply don't get it :oops: This might be due to my bad english or my limited technical knowledge.
When the L2 cache is full, the algorithm discards the data in both L1 cache and L2 cache first.
Does this mean data, which is in L1 ans L2 at the same time? I don't understand why there should be the same data in both caches. But however, it says "first". Whatever data might be dicarded "first", what happens afterwards?
For the L2 caching (SSD), the caching data persists when entering sleep or hibernation mode.
This is very great news!

Thanks & Regards!
User avatar
Support
Support Team
Support Team
Posts: 3628
Joined: Sun Dec 21, 2008 2:42 am

Re: Fancycache for Pro Audio

Post by Support »

SSDAW wrote:Actually I wanted to know, data of which files gets cached? It's simply everything coming from the repective disc or volume?
Yes, it's almost everything coming from or written to the disk/volume. For eg. If one program try to read or write a file, then the data of this file will be cached.
SSDAW wrote:Does this mean data, which is in L1 ans L2 at the same time? I don't understand why there should be the same data in both caches. But however, it says "first". Whatever data might be dicarded "first", what happens afterwards?
Sorry, it is our problem that we don't express it clear, we'll correct it. MBU algorithm discards/replaces data in the L2 cache when it is full, while LBW doesn't replaces data in the L2 cache. Hope it helps.
SSDAW
Level 1
Level 1
Posts: 3
Joined: Sun May 01, 2011 10:51 pm

Re: Fancycache for Pro Audio

Post by SSDAW »

Thanks, this sounds perfect.

While I'm thinking more and more about this, I think it might be useful - not only for DAW applications - to be able to change MBU/LBW on-the-fly, without having to destroy the L2-cache. An option to "freeze" it so to speak. If you consider such an option, I can explain the reasons, why I think this could be very useful. In short: When I already know, that the data I request - say the next 5 minutes - is only of temporary use (e.g. because I'm simply experimenting with some new sounds), I would freeze L2, to avoid useless and counterproductive data-swapping.
User avatar
Support
Support Team
Support Team
Posts: 3628
Joined: Sun Dec 21, 2008 2:42 am

Re: Fancycache for Pro Audio

Post by Support »

Hi SSDAW,

Actually you can hold caching by click "Pause Caching" button. It freezes the caching data and pauses the cache functions.
At present we wouldn't support changing the configuration on-the-fly because it introduces lots of complexity and might increase instability. Anyway, thank you for your suggestions.
Post Reply