Skip to content

Roadmap

Ben Manes edited this page Feb 1, 2015 · 135 revisions
  1. Improve read buffer management
  • Benchmark different approaches
  • Cache implementation
  1. Dynamically grow read buffers
  • See Java 8's Striped64 for example heuristic
  • Reduces clean up penalty in low contention usages
  • Reduces memory usage
  1. Code generate policy configurations
  • Reduces the memory overhead for caches by only retaining the required fields
  1. Use relaxed reads and writes
  • Reduces memory usage by replacing atomics with volatile fields
  • Reduces CPU stalls due to memory barriers
  1. Improve write buffer algorithm
  • Use a multiple producer / single consumer unbounded queue (replacing ConcurrentLinkedQueue)
  • Add combining arena to existing implementation
  1. Tracing
  • Instrument the caches to capture tracing data
  1. Profile and code audit
  • Request external reviews
  • Implement atomic merge operation
  • Signal that incomplete async computations cannot expire
  • Extra care needed to review weak/soft value race conditions
  1. Implement JCache (jsr107) adapters
  • May be delayed until after initial release
  1. Release 1.0
  2. Advanced eviction policies
  • Simulator implementations (2Q, LIRS, TinyLFU, etc)
  • Evaluate and adopt

Clone this wiki locally