Overall Architecture
Table 1 describes the logical elements contained in the preceding architecture.
|
Module Name |
Abbreviation |
Description |
|---|---|---|
|
Cache client |
SDK |
Provides C APIs and works as the entry to the BoostIO distributed cache. It is responsible for instance management, network resource management, node/partition view management, and traffic control. |
|
Data mirroring module |
Mirror |
Manages multi-copy redundancy and distributes requests for cache objects. |
|
Write cache module |
WriteCache |
Manages write cache object data, index metadata, and eviction policies, and supports data write-back and write-through modes. |
|
Read cache module |
ReadCache |
Manages read cache object data, index metadata, and eviction policies, and supports object data prefetch. |
|
Flow space module |
Flow |
Provides APIs for applying for and releasing the infinite logical linear space and supports data write in append mode. |
|
Memory space management module |
MM |
Manages the cache memory space by block. The memory can be registered with RDMA and shared memory. |
|
Drive block device management module |
BDM |
Manages the cache drive space by block, and supports synchronous and asynchronous data read/write. |
|
Back-end storage management module |
UFS |
Manages multiple types of back-end storage systems. It provides a unified data access API to mask differences between various back-end storage systems. |
|
Cluster management module |
CM |
Manages cache clusters based on the open source software ZooKeeper, including status monitoring, partition view calculation, and troubleshooting. |