Dor Hovav, M.Sc. Thesis Seminar
For Password to lecture, please contact: firstname.lastname@example.org
Advisor: Prof. Roy Friedman
In-network caching promises to improve the performance of distributed and networked applications.
This is by storing so-called hot items in the network switches on-route between clients who need access to the data and the storage servers who maintain it.
Since the data flows through those switches in any case, it is natural to cache hot items there.
Programmable switches enable managing such caches in software, where the program gets compiled and then executed at ASIC speed.
Yet, their limited programming model makes this task non-trivial.
Most software-managed caches treat the cache as a fully associative region.
Alas, a fully associative design seems to be at odds with programmable switches' goal of handling packets in a short-bounded amount of time, as well as their restricted programming model.
Recently, the benefits of applying limited associative designs to software caches were studied and demonstrated.
In this work, we present PKache, a generic limited associativity cache implementation in the programmable switches' domain-specific P4 language and demonstrate its utility by realizing multiple popular cache management schemes.