H2C: a Hierarchical Two-layer Caching Design for Networked System
Packet-level caching is becoming increasingly important as it is exploited by several network applications today, and proposed as basic building block of future Internet architectures. This demands for high-speed caching designs that leverage heterogeneous storage technologies to scale the storage space up to TBs, and off-the-shelf general purpose hardware to simplify cache deployment and reuse by multiple services. However, existing designs do not meet those requirements. In this paper we present H2C, a two-layer packet-level caching system designed with those goals in mind. H2C is based on aggressive prefetching, batching and parallelism exploitation at all layers of the system in order to hide memory access latencies. We implement H2C in user space on a general purpose architecture for Named Data Networking future Internet architecture proposal. Experimental results show H2C sustain cache operations at multi-Gbps with advanced management policies.