Adaptive Replacement Cache

Поділитися
Вставка
  • Опубліковано 16 гру 2024

КОМЕНТАРІ • 4

  • @parsifal335
    @parsifal335 9 років тому

    Great lecture! Got a question, though. What would the initial size of T1 be? Should it be c (total amount of blocks) in order to accommodate as many blocks as possible, say, during an initial cache "warm-up" phase. Or should T1 be c/2? If so, it will have an initial poor hit-rate for frequently-used blocks, until a balance has been achieved.

    • @DavidEvans
      @DavidEvans  9 років тому

      Thanks, +Johan Fredrik Varen. This paper (which introduced ARC) provides a lot more details: www.usenix.org/legacy/event/fast03/tech/full_papers/megiddo/megiddo.pdf. Would need to read this more carefully to understand what they thought was the best initial sizing (and the actual best start would depend on the workload, configuration, etc.), but I think your suggestion of starting with an initial size of T1 close to c makes sense. Assuming the system runs for a reasonable length of time, the initial setting shouldn't matter too much in the long run.

  • @kumbhamsrikanth92
    @kumbhamsrikanth92 10 років тому

    That's an awesome video. I have one basic doubt regarding the performance of Adaptive Replacement Cache. How do you think its efficient then a general LRU map? (In both cases we are pruning out Least Recently Used entries) ?
    Thank you :)

    • @DavidEvans
      @DavidEvans  10 років тому

      Thanks! It depends a lot on the workload, but I think for most disk workloads ARC should be better since it adapts to balancing recency and frequency based on the workload as it adjusts the cache size. For a particular workload, you would need to do experiments based on specific policies to be sure which is best.