Bonita Montero <Bonita.Montero@gmail.com>: Oct 16 01:48PM +0200 Amine, a quest for you: Database-servers and operating-system-kernels mostly use LRU as the scheme to evict old buffers from their cache. One issue with LRU is, that an LRU-structure can't be updated by multiple threads simultaneously. So you have to have a global lock. I managed to write a LRU-caching-class that can update the links in the LRU-list to put the most recent fetched block to the head of the list without any lock in almost any acccess. Only when flushing an entry or inserting a new I have to lock the structure completely; but in contrast to cache-hits this has usually a mag- nitude lower frequency because of the slowness of disk-/ssd-access, so this doesn't relly hurt. The algorithm is partitiylly locked, partitially lock-free. Even the case when putting cache hits to the head has to be processed in locked mode in very rare cases. And as I said inserting and flushing is conventional locked access. So the quest is for you: Can you guess what I did? |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:13PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:13PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:13PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:13PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:13PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:13PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:13PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:14PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:14PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:14PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:14PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:14PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:14PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:14PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:14PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:14PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:14PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:13PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Oct 15 08:13PM Article d'annulation posté via Nemo. |
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page. To unsubscribe from this group and stop receiving emails from it send an email to comp.programming.threads+unsubscribe@googlegroups.com. |
No comments:
Post a Comment