A Cache Abstraction Framework