Overall Architecture
Table 1 describes the logical elements contained in the preceding architecture.
|
Module Name |
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 Shmemory. |
|
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. |