文章目录[隐藏]
The motivation dataset
CompuCache Design of VM
The comparison
Azure Mapper | Graph DBs | RDBMS | |
---|---|---|---|
Pros | Parallel Computing Recursive Ptr Deref | Chase edges across servers Various neighborhood queries | Extended buffer pool Semantic cache Temporary-data store |
Benefit by | Avoiding strictly serializing the roud tip RPC | Avoiding strictly serialized full round trip RPC overheads | Index lookups Predicates on MVs |
Sproc
(Stored Procedure) and eRPC
abstractions
Sproc |
CompuCache |
---|---|
An application specifies a sproc by calling the Register function and executes it by calling the Execute function. |
CompuCache uses eRPC , a user-space RPC library that runs on DPDK or RDMA. |
Sproc code is a parameter to Register and is broadcast to all CompuCache servers. | DPDK avoids OS kernel overhead by executing the networking in user space. |
On each server, the code is compiled locally as a dynamic library and loaded into the runtime of the server. | RDMA offers the further benefit of offloading the CPU by running most of the networking protocol on the network interface card (NIC). |
A CompuCache server might not have all the data needed to execute a sproc, which requires coordination with other CompuCache servers | To leverage the full bandwidth of high-speed networks, CompuCache batches small operations in a single network transfer. This includes batching small I/O requests and responses and all sproc execution requests. |
CompuCache Server
We have server-side Pointer Chasing by LocalTranslator
Data Structure provides Translate
.
An sproc
invokes this function to map virtual cache addresses into physical server locations.
Cross-Server Pointer Chasing Handling OOB exceptions.
Result
Possible Migration to CXL
- Highly correlated with far memory setup. and type 3 can be used for better memory access, without the need of using ptr chasing to leverage the info of far memory.
- Can also leverage the Near data processing for memory node in a memory polling setup.