|
Now let me introduce the overall architecture of GCCache.
As shown in this figure, GCCache consists of three main subsystems, each highlighted in a different color.
On the left in green is the Scheduler Subsystem. It handles incoming requests from multiple RNIC pipelines and dispatches responses back. The key components here include the Request Handler, Response Handler, and Target Handler with a PID Pool for tracking requests.
In the middle in yellow is the Cache Subsystem , the core of our design. It contains the Cache Core with TAG, LRU, and status RAM, along with the data RAM. Several processing modules handle cache hits, replacements, and state transitions through a central finite state machine.
On the right in blue is the ORP Subsystem ,which stands for Outstanding Request Processing. This subsystem manages cache misses. It includes the Context Adapter, which interfaces with the RNIC DMA engine via AXI, and the Outstanding Manager with its Outstanding Table to track in-flight requests.
|