EldoS | Feel safer!

Software components for data protection, secure storage and transfer

In memory storage and concurrency

Also by EldoS: CallbackFilter
A component to monitor and control disk activity, track file and directory operations (create, read, write, rename etc.), alter file data, encrypt files, create virtual files.
#17661
Posted: 09/27/2011 01:15:14
by Xuesong Wu (Basic support level)
Joined: 09/27/2011
Posts: 3

Suppose I create an in-memory storage in a process, and there will be multiple worker threads in the process and the same number of external processes accessing the storage concurrently, how well will the performance be? Is it possible or a good idea to create an SolFSStorage instance for each worker thread?
#17662
Posted: 09/27/2011 01:56:31
by Eugene Mayevski (EldoS Corp.)

I assume that you are asking about OS Edition. In-memory storage requires requests to travel to kernel mode (as with any file requests) and then back to user-mode via callbacks. All these operations are performed asynchronously via own worker threads. So it doesn't matter how many threads and processes access the storage exposed as a virtual disk - requests will go the same way and having a storage per process won't give any benefit. The only exception is when you have many worker processes which create or open many small files. In this case global locking of single storage might cause certain slowdown. Yet even in this case you need to test both scenarios to ensure that you gain benefits from creating several storages.

If you are asking about Application Edition, there you can have one storage for multiple threads (and probably having a "personal" storage for each thread would give you certain speed benefit), but you technically can't access one storage from several processes so you will have at least one storage per each process.


Sincerely yours
Eugene Mayevski

Reply

Statistics

Topic viewed 1537 times

Number of guests: 1, registered members: 0, in total hidden: 0




|

Back to top

As of July 15, 2016 EldoS Corporation will operate as a division of /n software inc. For more information, please read the announcement.

Got it!