Prefetch loads multiple partitions of the same disk at the same time

FAQ, getting help, user experience about PrimoCache
Post Reply
npelov
Level 6
Level 6
Posts: 60
Joined: Thu Jun 30, 2016 3:01 pm

Prefetch loads multiple partitions of the same disk at the same time

Post by npelov »

Hi,

I noticed that prefetch is running in all cache tasks for multiple partitions of the same disk. That shouldn't be happening because partitions are spread over the whole disk and the head will seek a lot. Prefetch should read data from one physical disk at a time.
Noticed on v2.5
User avatar
Jaga
Contributor
Contributor
Posts: 694
Joined: Sat Jan 25, 2014 1:11 am

Re: Prefetch loads multiple partitions of the same disk at the same time

Post by Jaga »

Prefetch operates on a per-volume basis. I had thought however it was a queued operation in older versions of PrimoCache. I remember prior to my system rebuild that multiple volumes would prefetch in order (not simultaneously), when in the same Cache Task. I think different cache tasks are allowed to prefetch from their assigned volumes simultaneously.

Support can correct me if I'm mistaken. I've changed my entire cache strategy after replacing the primary boot drive with a SSD, so I no longer use multiple volumes on the same physical.
User avatar
Support
Support Team
Support Team
Posts: 3731
Joined: Sun Dec 21, 2008 2:42 am

Re: Prefetch loads multiple partitions of the same disk at the same time

Post by Support »

Jaga is right. In the same cache task, PrimoCache prefetch its volumes in order. But in different cache tasks, prefetch is operated simultaneously.
npelov
Level 6
Level 6
Posts: 60
Joined: Thu Jun 30, 2016 3:01 pm

Re: Prefetch loads multiple partitions of the same disk at the same time

Post by npelov »

Well, I agree that's the current situation, but I think primocache should never prefetch from two volumes of the same disk regardless if it's the same cache task or different. The whole idea of prefetch is to make things faster and it's not faster when two threads read from the same disk for 10 minutes.

And yes there is a reason I keep other partitions in a different task. I think OS partition cache is the most important and shoud never be replaced by other cache, so I give OS partition 50-60% of the cache. Other partitions I have in another task. I also use third task for a partition dedicated to temp directories which has 5 minutes deffered write, since I don't care of temp files that much. So, imagine these 3 tasks prefetch at the same time. For that reason I disabled prefetch for temp partition. But prefetch for the others is useful.

Even in SSDs when two threads read at the same time it's slower. So, please consider implementing the fewture I requested.
User avatar
Support
Support Team
Support Team
Posts: 3731
Joined: Sun Dec 21, 2008 2:42 am

Re: Prefetch loads multiple partitions of the same disk at the same time

Post by Support »

Thank you for the suggestion! Yes, we'll consider this issue and try to improve it.
Post Reply