acd_cli icon indicating copy to clipboard operation
acd_cli copied to clipboard

Request: Caching algorithm.

Open bobloadmire opened this issue 10 years ago • 11 comments

It would be nice to dedicate a few hundred GBs of local storage for the most recently accessed or put data. This would also reduce the amount of bandwidth need to access files since they wouldn't need to be pulled as often. Similar software, Stablebit CloudDrive has this feature, it is very useful. You can set up 500GB of the latest data locally and have lower latency and reduced bandwidth usage. Out of cache data is accessed normally.

bobloadmire avatar Nov 24 '15 18:11 bobloadmire

:+1:

acornspaul avatar Nov 24 '15 18:11 acornspaul

Would be nice if directory listings were included!

hazcod avatar Nov 24 '15 18:11 hazcod

Stablebit caches Directory listings and the files Metadata. This allows programs like Plex to index the folder structure and files as if they were local.

bobloadmire avatar Nov 24 '15 18:11 bobloadmire

@bobloadmire acd_cli currently stores all the node data offline.

msh100 avatar Nov 25 '15 12:11 msh100

@msh100 I have about 20,000 music tracks and it takes roughly 6-8 hours to index. off my local hard drive it takes about 30 minutes. not sure why the difference then

ratherDashing avatar Nov 25 '15 17:11 ratherDashing

@ratherDashing it's simply less efficient as your host file system. I don't think that's crazy considering how vastly different they are.

That's why this issue exists, to try and optimise it a little bit.

msh100 avatar Nov 25 '15 22:11 msh100

Just wanted to request the same feature :+1:

marcelowa avatar Dec 25 '15 19:12 marcelowa

I will look into whether it's possible to simply use cachfilesd/FS-Cache for (read) caching.

yadayada avatar May 04 '16 17:05 yadayada

I think write caching could be a way to mimic non-sequential writes ... could it be?

baro77 avatar Sep 09 '16 11:09 baro77

I've been trying to get non-sequential writes working with the FUSE-mount for some time. The solutions I looked into were bcache and EnhanceIO. Both those solutions are originally intended to have an SSD serve as cache for an HDD. Unfortunately they're made to work with block level devices.

They implement write-back caching, which is exactly what is needed here, just on a higher level in the fs. The thing about write-back caching is that all writes go to the cache (local) and are then written asynchronuously and sequentially to the backend (acd fuse).

Something like this should make the fuse implementation fast (local cache) and working with any type of read or write.

xelra avatar Oct 21 '16 17:10 xelra

I've just seen that this is already heavily discussed in this PR #374.

xelra avatar Oct 21 '16 18:10 xelra