EldoS | Feel safer!

Software components for data protection, secure storage and transfer


Also by EldoS: CallbackRegistry
A component to monitor and control Windows registry access and create virtual registry keys.
Posted: 03/23/2011 01:15:32
by Chris Schirlinger (Standard support level)
Joined: 02/18/2010
Posts: 38

Attached is an example app plus source code that reproduces the issue. Simply point to a virtual CBFS drive (any sample app) and run it

All it does is many small read/writes to the same file (or several files, there are options)

edit: I tried the download link in this message and it didn't work well for me, basically opened as a new page. The file uploaded is a zip file, I guess you can just right click, save link as, and call it "temp.zip" or whatever

[ Download ]
Posted: 03/23/2011 13:23:53
by Eugene Mayevski (EldoS Corp.)

Thank you for a test. We have investigated and discussed the question locally.

In CBFS before 3.0 the system cache was used internally. However, as requests went to the user mode and the users often used the system cache (either directly or indirectly, not knowing about such uses), deadlocks happened. A deadlock in callback is a very bad situation as the whole system becomes unresponsive for certain time (in exact, for the timeout set by your application). The only solution was to disable system cache altogether.

To address the problem in future versions we will implement our own cache with controllable parameters. Deadlocks are very unlikely in this situation, and even if they happen, we will be able to deal with them (or at least diagnose them more easily).

I can't say anything definitive about time to complete such task, because diagnosis and support of specific users' problems takes most of time now - we need to reproduce very specific issues. But the function is nice and important so it will be on the top of our ToDo list.

Sincerely yours
Eugene Mayevski
Posted: 03/23/2011 21:33:36
by Chris Schirlinger (Standard support level)
Joined: 02/18/2010
Posts: 38

Thank you for the response. This issue is basically the main (if not only) problem anyone has brought up about our CBFS project, but was almost a product killer.

Thanks for the support.
Posted: 05/05/2011 18:04:25
by Chris Schirlinger (Standard support level)
Joined: 02/18/2010
Posts: 38

I noticed a reference to a new version coming out soon. Is the cache feature likely to be in this release, or if not, do you have any idea on when you will be looking at it?
Posted: 05/06/2011 00:16:42
by Eugene Mayevski (EldoS Corp.)

There will be no cache in 3.2. Neither there's an estimated timeline for it.

Sincerely yours
Eugene Mayevski
Posted: 05/06/2011 01:22:42
by Chris Schirlinger (Standard support level)
Joined: 02/18/2010
Posts: 38

OK, thank you for the response.

It's a bit of a disappointment to us as we are hampered without a cache, with our main target program simply loading a folder structure too slowly in the current state. We can't really release except for limited testing at the moment.
Posted: 05/08/2011 16:13:00
by Bob Ferguson (Standard support level)
Joined: 01/24/2011
Posts: 6

We understood before purchase that CBFS would not be slower than a physical HDD.
Our product cannot be released until this bug is fixed.

So we need a fix date so we can decide whether to stay with CBFS or seek an alternative product.
Posted: 05/09/2011 01:16:51
by Eugene Mayevski (EldoS Corp.)

1) There's no bug here. Callback File System in many cases will be slower than anything in kernel-mode, because of context switches. Callback File System offers a balance between speed and ease of development and speed of operations.

2) You and your colleagues have been using an evaluation version for 2 months and an installment plan for another 6 months. Complaining about slow speed now makes not much sense.

3) Your alternatives are IFS (now part of Windows Driver Kit) and OSR's file system development kit. Both require expertise in kernel mode development and 6+ months of such development (and more time for testing).

4) As I said, we will implement caching as part of future CBFS version. If you want to speed up the process - no problems, hire a kernel-mode developer and ask him to write a cache manager in kernel mode. And I will see how long it will take him to do this. I can bet that he will be slower than our developers.

To summarize, your only realistic option is to wait.

Sincerely yours
Eugene Mayevski
Posted: 05/09/2011 03:08:41
by Bob Ferguson (Standard support level)
Joined: 01/24/2011
Posts: 6

Thanks for your reply Eugene.
There is no need to get defensive.

I simply asked when you can fix the "slowness issue" (which you have acknowledged) so we can decide whether to stay with the CBFS platform or seek an alternative.
Our preference would be to stay with CBFS.

However, if it is going to take a long time, obviously we will have to seek an alternative.

So please give us some clue as to when this may be addressed.
Posted: 05/09/2011 03:35:55
by Oleg Savelos (Standard support level)
Joined: 08/25/2008
Posts: 21

I have the same problem with one application that was creating a temp file and was doing multiple reads and writes of 2-3 bytes and seeks before each call! So i decided to create a custom cached stream where operation are done in memory and flushed to disk once a big ammount of data is buffered. I still havent finished it but i hope to have it ready in a week or so. Perhaps it could help you out.
Also by EldoS: CallbackDisk
Create virtual disks backed by memory or custom location, expose disk images as disks and more.



Topic viewed 16542 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!