Curve文件系统元数据管理
https://github.com/begeekmyfriend/bplustree,(MIT),实现了落 盘 BST O(log(n)) O(n) c++ stl 模板© XXX Page 4 of 24 skip list O(log(n)) O(n) level db,https://github.com/google/leveldb/blob/master/db/skip list com/happyfish100/libfastcommon/tr ,(LGPL) ee/master/src hash table O(1)~O(n) O(n) + table 需要占用额外空间,性能和hash表的大小有关,最理想可以达到O(1)复杂度,最差O(n)复杂度。 c++ stl unordered_map moose,使用c实现 4、curve文件系统的元数据内存组织0 码力 | 24 页 | 204.67 KB | 5 月前3Curve设计要点
Cloud Storage」数据组织形式 • PageFile • 地址空间到—>chunk: 1 : N chunk有先后关系 • 创建时指定大小,lazy分配chunk • 提供4kb随机读写能力数据组织形式 • PageFile • 地址空间到—>chunk: 1 : N chunk有先后关系 • 创建时指定大小,lazy分配chunk • 提供4kb随机读写能力 • 支撑块设备应用场景 Client通知用户请求完成。背景 01 02 03 04 总体设计 系统特性 近期规划单卷4K随机读写IOPS 102k 39.7k 41.7k 127k 4K随机写 4K随机读 Ceph(L/N) Curve 151.89% 204.56% 单卷4K随机读写平均延迟(ms) 1.244 3.2 3.1 0.998 4K随机写 4K随机读 61.12 % 67.8% 测试环境:6台服务器*20块SATA filepool落盘零放大 • 轻量级线性一致性读 • io路径上用户空间零拷贝 10卷4K随机读写IOPS 294k 185k 330k 565k 4K随机写 4K随机读 Ceph(L/N) Curve 58.92% 71.21% 10卷4K随机读写平均延迟(ms) 4.34 7 3.7 2.423 4K随机写 4K随机读 38% 34.5% 测试环境:6台服务器*20块SATA0 码力 | 35 页 | 2.03 MB | 5 月前3Curve质量监控与运维 - 网易数帆
: 计数器,默认0, varname << N相当于varname += N bvar::LatencyRecorder : 专用于记录延时和qps的变量。 bvar::Maxer: 记录最大值,默认std::numeric_limits::min(), varname << N相当于varname = max(varname, N)。 bvar::Miner : : 记录最小值,默认std::numeric_limits::max(), varname << N相当于varname = min(varname, N)。 bvar::Window : 获得某个bvar在一段时间内的累加值。 Window衍生于已存在的bvar,会自动更新。 bvar::PerSecond : 获得某个bvar在一段时间内平均每秒 的累加值。 0 码力 | 33 页 | 2.64 MB | 5 月前3Curve文件系统元数据持久化方案设计
----+---------+ | key_1_length | key_1 | value_1_length | value_1 | ... | key_n_length | key_n | value_n_length | value_n | +--------------+-------+----------------+---------+-----+--------------+----0 码力 | 12 页 | 384.47 KB | 5 月前3CurveFs 用户权限系统调研
line by itself. There is no value, just the # presence of the option. user_allow_other # mount_max = n - this option sets the maximum number of mounts. # Currently (2014) it must be typed exactly as shown 11 of 33 * must be set both here *and* passed to fuse_session_new() * using the ``-o max_read=<n>`` mount option. At some point * in the future, specifying the mount option will no longer * be physical walk, do not follow symbolic links -t, --tabular use tabular output format -n, --numeric print numeric user/group identifiers© XXX Page 22 of 33 -p, --absolute-names0 码力 | 33 页 | 732.13 KB | 5 月前3BRPC与UCX集成指南
1 用UCX实现BRPC对RDMA的支持 徐逸锋2 BRPC简介 ●BRPC是Curve的基础通讯框架 ●支持远程过程调用 –C++ –TCP传输 –bthread协程(m:n调度,减少基于内核的下文切换 ,减少cache miss) ●多协议支持 –baidu_std,http,grpc… ●protobuf3 BRPC简介 ●Client/Server架构 ●使用Protobuf定义协议文件 pContext。 ●不同的连接分配到不同的worker,一般情况下只需要一个worker足够应付网络通讯。 ●worker逻辑在一个pthread中运行。41 1个 UcpContext: N个 UcpWorker42 连接管理器UcpCm ●连接管理类 –全局唯一对象 –通过UcpCm * get_or_create_ucp_cm(void)获取 –完成连接的接受 –完成连接的创建 cept(conn_request);48 UcpConnection ●封装ucp_ep ●支持读写接口 – ssize_t Read(butil::IOBuf *out, size_t n); – ssize_t Write(butil::IOBuf *buf); – ssize_t Write(butil::IOBuf *data_list[], int ndata);49 UcpWorker的实现0 码力 | 66 页 | 16.29 MB | 5 月前3新一代云原生分布式存储
由中心节点MDS在各Copyset中 根据权重进行选择架构简介 — 一致性协议 复制策略 • 主动拷贝,由 leader 向 follower 并发拷贝 异常处理 • 自动leader选举 • 2N+1 副本数可以容忍 N 副本数异常 Quorum一致性协议 • 大多数副本写完成返回客户端 • 延迟取决于所有副本中最快的大多数主要亮点 高性能 更稳定 跟各 更稳定 具备可视化的开发页面, 直观查看任务运行情况,0 码力 | 29 页 | 2.46 MB | 5 月前3Curve元数据节点高可用
resp, ok := <-observer: if !ok { fmt.Printf("Observe() channel closed permaturely\n") return C.ObserverLeaderInternal }© XXX Page 17 of 30 if string(resp.Kvs[0] { continue } fmt.Printf("Observe() leaderChange, now is: %v, expect: %v\n", resp.Kvs[0].Value, goLeaderName) return C.ObserverLeaderChange // observetimeoutcontext0 码力 | 30 页 | 2.42 MB | 5 月前3Estimation of Availability and Reliability in CurveBS
reliability in the three- replicas case Assume that the total number of disks in Curve system is N, the number of replicas is R, and the data recovery Time in the case of failed disks is T. The Annual0 码力 | 2 页 | 34.51 KB | 5 月前3Curve for CNCF Main
Precreated chunk file for volume space mapping • high performance framework • Use bthread (M bthread map N pthread) for scalability and performance on Multi-thread CPU • Lock free queue design • Memory zero0 码力 | 21 页 | 4.56 MB | 5 月前3
共 14 条
- 1
- 2