spcl/rFaaS

Add C++ allocator

開放

#18 建立於 2023年3月6日

 (7 則留言) (0 個反應) (1 位負責人)C++ (19 個分叉)auto 404
enhancementgood first issue

倉庫指標

星標
 (59 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Currently, we expose a very low-level interface for allocating memory - as shown in this documentation:

  rdmalib::Buffer<char> in(opts.input_size, rdmalib::functions::Submission::DATA_HEADER_SIZE), out(opts.input_size);
  in.register_memory(executor._state.pd(), IBV_ACCESS_LOCAL_WRITE);
  out.register_memory(executor._state.pd(), IBV_ACCESS_LOCAL_WRITE | IBV_ACCESS_REMOTE_WRITE);

While rdmalib::Buffer is applicable, we need a higher-level concept based on the CX++ std::allocator to integrate RDMA-managed memory into user applications.

  • Add allocator implementation in rfaaslib.
  • Encapsulate the memory registration in rdmalib - provide generic enums for local/remote read/write ops + atomics.
  • Support in allocator registration and deregistration of memory.
  • Add test demonstrating standard memory allocation.
  • Add test demonstrating allocation with std::vector and our custom allocator.

貢獻者指南