The performance of a storage system is often dictated by its caching strategy. An effective cache will significantly reduce data access latency and improve overall system throughput. The caching competition is an assignment designed to encourage students to learn and explore the design of cache eviction algorithms. Students will implement their own cache eviction strategies and compete against each other based on performance on a set of benchmark workloads.