BRPC与UCX集成指南
●支持RDMA,TCP,Shared memory等 ●能透明支持多个链路传输,例如多网卡bond ●编译成.so或lib的方式,可以集成到应用程序里 ●有完善的配置功能,ucx_info可以dump配置信息 ●有性能测试工具 ●比较详细的文档2223 UCS ●是一些工具代码,例如 –链表 –hash table –epoll event loop – memory register cache t查询和 memory domain的打开 ●一个component包含若干 memory domain resource,一个memory domain又可以包含若干个 transport ●当前支持的memory domain:ibverbs, tcp, shared memory ●详情可以见examples/uct_hello_world.c25 UCT ●Memory domain domain open/close ●Active message ●Memory get/put ●Memory atomic fetch, compare and set ●Tag match ●client/server模式的Listener, Ep(endpoint)26 UCP ●构建于uct之上,实现更加高级的功能,容易使用,但有一定开销。 ●UCT和UCP两者都有contex0 码力 | 66 页 | 16.29 MB | 5 月前3Raft在Curve存储中的工程实践
• raft snapshot,为避免快照对正常操作的影 响,利用操作系统的内存写时复制技术, fork一个进程创建完整的状态机的内存快照, 后台遍历内存,把内存的数据持久化到本地 磁盘 基于memory的存储引擎 • 存储元数据量不受内存大小限制 • raft apply请求,数据保存在rocksdb,向 rocksdb插入记录。 • raft snapshot,利用rocksdb的快照功能, • 写日志的方式与Curve块存储基本一致,实现细节略有差异。 • raft apply和raft snapshot的实现和Curve块存储不同。 • metaserver有两套存储引擎,基于memory和基于rocksdb。 Curve文件系统与Curve块存储的实现区别CURVE的RAFT配置变更 心跳 • 通过心跳维持mds和chunkserver/metaserve的 数据交互 •0 码力 | 29 页 | 2.20 MB | 5 月前3Curve for CNCF Main
map N pthread) for scalability and performance on Multi-thread CPU • Lock free queue design • Memory zero copy design • Cloud native supportCloud native for CurveBS • CSI plugin for CurveBS • Deploy0 码力 | 21 页 | 4.56 MB | 5 月前3OID CND Asia Slide: CurveFS
The test environment ● A cluster consists of six nodes. Each node consists of 20 x SSDS, 256GB memory, and 2 x e5-2660 cpus Performance using RDMA ● Compared with TCP, I/O throughput increases by0 码力 | 24 页 | 3.47 MB | 5 月前3PFS SPDK: Storage Performance Development Kit
●发挥某些被操作系统屏蔽的功能,例如nvme write zero ●根据阿里《When Cloud Storage Meets RDMA》的说法 ●在100Gbps网络带宽时,内存带宽成为瓶颈 ●Intel Memory Latency Checker (MLC)测试得到的CPU内存带宽是 61Gbps10/17/22 3 RDMA可以减轻CPU负担 ●可以减少CPU操作网络通讯的开销 ●读写内存都由网卡进行offload0 码力 | 23 页 | 4.21 MB | 5 月前3CurveFS对接S3方案设计
{}© XXX Page 9 of 11 uint64_t NextChunkId() { auto id = chunkId_.fetch_add(1, std::memory_order_relaxed); return id; } private: std::atomicchunkId_;© XXX Page 0 码力 | 11 页 | 145.77 KB | 5 月前3CurveFS Copyset与FS对应关系
id的个数为2^24,最后一片metapartition管理剩下的一直到2^63-1的Inode id。创建meta partition的时候,选择的3个meta node组成一个复制组。如何选择?论文上写的是按照存储节点的memory和disk usage来选的,通常选择内存和disk使用率最低的节点。 并去对应的meta node上去创建对应的meta partition。 如何选择partition的host,通过这个函数去选择。0 码力 | 19 页 | 383.29 KB | 5 月前3
共 7 条
- 1