Software Architecture
Figure 1 shows the Global Cache software architecture.
The modules in the figure are described as follows:
- Client adapter: intercepts message requests related to Global Cache. The client adapter also sends specific requests to the smart prefetch engine as the data input. The calculation result of the smart prefetch engine is synchronized to the read cache module of Global Cache.
- Server adapter: sends requests to each module, performs read and write operations on the cache, and returns the execution result to the client.
- Write cache: Operations are persistently written to the high-speed persistence layer as write-ahead logs (WALs). After data is written to the memory cache, a write completion message is returned to the client, achieving high performance. In addition, the drive flushing module writes data offline to the large-capacity and slow-speed Ceph cluster at the underlying layer.
- Read cache: consists of L1 Rcache and L2 Rcache. The L1 Rcache is used as the high-speed memory cache, and the L2 Rcache manages the large-capacity NVMe SSD read cache.
- Index layer: a high-performance distributed data management layer based on the log-structured merge-tree (LSM Tree) that provides the index service for global objects using the key-value (KV) semantics.
- Persistence layer: Based on high-performance persistent media and new network technologies (compatible with conventional network technologies), a high-performance distributed persistent storage pool is constructed to provide global object access services for applications using the Plog semantics.
- Cache cluster management: cluster management module in the distributed global cache solution. It mainly serves cache nodes and clients in the distributed Global Cache cluster, which performs node management, view management, status monitoring, and fault management.
Parent topic: Feature Description
