 BRPC与UCX集成指南poll –Busy poll可以有效降低时延,但是在空闲时浪费CPU ●Wait –会增加时延,但是节省CPU使用 ●通过ucp_worker_get_efd(*ucp_worker, efd)获得轮询文件句柄 ●调用poll(efd)等待有任务执行,然后再调用ucp_worker_progress() ●/dev/cpu_dma_latency 禁止power-saving模式 ● 缺省是none,是的本地通讯使用shared memory成为可能 ●--brpc_set_cpu_latency 非-1, 设置intel cpu节电模式,可能减少硬 件延迟。 –/dev/cpu_dma_latency ●root特权 –Busy poll下不要开启,可能导致电耗过高、cpu降速40 Ucp Worker ●创建UcpWorker,封装ucp worker和逻辑。0 码力 | 66 页 | 16.29 MB | 6 月前3 BRPC与UCX集成指南poll –Busy poll可以有效降低时延,但是在空闲时浪费CPU ●Wait –会增加时延,但是节省CPU使用 ●通过ucp_worker_get_efd(*ucp_worker, efd)获得轮询文件句柄 ●调用poll(efd)等待有任务执行,然后再调用ucp_worker_progress() ●/dev/cpu_dma_latency 禁止power-saving模式 ● 缺省是none,是的本地通讯使用shared memory成为可能 ●--brpc_set_cpu_latency 非-1, 设置intel cpu节电模式,可能减少硬 件延迟。 –/dev/cpu_dma_latency ●root特权 –Busy poll下不要开启,可能导致电耗过高、cpu降速40 Ucp Worker ●创建UcpWorker,封装ucp worker和逻辑。0 码力 | 66 页 | 16.29 MB | 6 月前3
 TGT服务器的优化doesn't support DPO or FUA • 这个对于curve驱动,Linux Initiator的dmesg不会显示这个信息TGT的性能问题 • 性能问题主要体现在不能有效使用多CPU • 对多个socket connection,在单线程里做event loop多路复用。 • 多个target时,如果挂的设备多,一旦客户端请求量大,就会忙不过来。 • 开源界有尝试修改 • loop依然是瓶颈对TGT的性能优化 • IO是使用多个epoll 线程,充分发挥多CPU能力 • 当前策略是每个target一个epoll线程,负责Initiator发过来的I/O • 好处是各target上的CPU使用由OS负责分配,CPU分配粒度更细 • 也可以多个卷的lun都分配到一个target上,这样多个卷共享一个target, 限制使用一个CPU。 • 管理平面不变。主线程里的事件循环及问题: 管理面是主线程,登录,增、删、改target0 码力 | 15 页 | 637.11 KB | 6 月前3 TGT服务器的优化doesn't support DPO or FUA • 这个对于curve驱动,Linux Initiator的dmesg不会显示这个信息TGT的性能问题 • 性能问题主要体现在不能有效使用多CPU • 对多个socket connection,在单线程里做event loop多路复用。 • 多个target时,如果挂的设备多,一旦客户端请求量大,就会忙不过来。 • 开源界有尝试修改 • loop依然是瓶颈对TGT的性能优化 • IO是使用多个epoll 线程,充分发挥多CPU能力 • 当前策略是每个target一个epoll线程,负责Initiator发过来的I/O • 好处是各target上的CPU使用由OS负责分配,CPU分配粒度更细 • 也可以多个卷的lun都分配到一个target上,这样多个卷共享一个target, 限制使用一个CPU。 • 管理平面不变。主线程里的事件循环及问题: 管理面是主线程,登录,增、删、改target0 码力 | 15 页 | 637.11 KB | 6 月前3
 PFS SPDK: Storage Performance Development KitPFS存储引擎10/17/22 2 Why ●为了减少使用cpu做内存copy,减少系统调用 ●发挥某些被操作系统屏蔽的功能,例如nvme write zero ●根据阿里《When Cloud Storage Meets RDMA》的说法 ●在100Gbps网络带宽时,内存带宽成为瓶颈 ●Intel Memory Latency Checker (MLC)测试得到的CPU内存带宽是 61Gbps10/17/22 61Gbps10/17/22 3 RDMA可以减轻CPU负担 ●可以减少CPU操作网络通讯的开销 ●读写内存都由网卡进行offload ●应用程序不再通过系统调用在内核和用户态来回切换10/17/22 4 磁盘的读写 ●基于EXT4的存储引擎,依然需要通过系统调用来回切换 ●读写都需要CPU拷贝数据 ●不能发挥某些NVME的功能,例如write zero10/17/22 5 为什么用PFS ●对代码比较熟悉0 码力 | 23 页 | 4.21 MB | 6 月前3 PFS SPDK: Storage Performance Development KitPFS存储引擎10/17/22 2 Why ●为了减少使用cpu做内存copy,减少系统调用 ●发挥某些被操作系统屏蔽的功能,例如nvme write zero ●根据阿里《When Cloud Storage Meets RDMA》的说法 ●在100Gbps网络带宽时,内存带宽成为瓶颈 ●Intel Memory Latency Checker (MLC)测试得到的CPU内存带宽是 61Gbps10/17/22 61Gbps10/17/22 3 RDMA可以减轻CPU负担 ●可以减少CPU操作网络通讯的开销 ●读写内存都由网卡进行offload ●应用程序不再通过系统调用在内核和用户态来回切换10/17/22 4 磁盘的读写 ●基于EXT4的存储引擎,依然需要通过系统调用来回切换 ●读写都需要CPU拷贝数据 ●不能发挥某些NVME的功能,例如write zero10/17/22 5 为什么用PFS ●对代码比较熟悉0 码力 | 23 页 | 4.21 MB | 6 月前3
 Curve for CNCF Mainframework • Use bthread (M bthread map N pthread) for scalability and performance on Multi-thread CPU • Lock free queue design • Memory zero copy design • Cloud native supportCloud native for CurveBS0 码力 | 21 页 | 4.56 MB | 6 月前3 Curve for CNCF Mainframework • Use bthread (M bthread map N pthread) for scalability and performance on Multi-thread CPU • Lock free queue design • Memory zero copy design • Cloud native supportCloud native for CurveBS0 码力 | 21 页 | 4.56 MB | 6 月前3
 OID CND Asia Slide: CurveFSCURVE Community You can take awayWhy develop Storage requirements ● Hardware requirements ○ more CPU cores, faster Network, nvme storage ● Problems for stateful apps ○ storage capacity expansion ○0 码力 | 24 页 | 3.47 MB | 6 月前3 OID CND Asia Slide: CurveFSCURVE Community You can take awayWhy develop Storage requirements ● Hardware requirements ○ more CPU cores, faster Network, nvme storage ● Problems for stateful apps ○ storage capacity expansion ○0 码力 | 24 页 | 3.47 MB | 6 月前3
 新一代云原生分布式存储基于在架构上的选择和优秀的工程实践,Curve 在性能、运维、稳定性、工程实践质量上都优于Ceph主要亮点 — 高性能 测试环境:3台服务器*8块NVME, Intel(R) Xeon(R) Gold 5318Y CPU @ 2.10GHz ,256G,3副本,使用自带fio 高性能 NVME 块存储场景,Curve随机读写性能远优于Ceph 单卷 多卷主要亮点 — 易运维 运维场景 Curve0 码力 | 29 页 | 2.46 MB | 6 月前3 新一代云原生分布式存储基于在架构上的选择和优秀的工程实践,Curve 在性能、运维、稳定性、工程实践质量上都优于Ceph主要亮点 — 高性能 测试环境:3台服务器*8块NVME, Intel(R) Xeon(R) Gold 5318Y CPU @ 2.10GHz ,256G,3副本,使用自带fio 高性能 NVME 块存储场景,Curve随机读写性能远优于Ceph 单卷 多卷主要亮点 — 易运维 运维场景 Curve0 码力 | 29 页 | 2.46 MB | 6 月前3
 Curve文件系统元数据持久化方案设计测试对比: 10 万条随机生成 inode 耗时 (MS) 内存 (KB) 顺序编码 13 5079 protobuf 序列化 81 4996 从对比结果来看,10 万条 inode 耗时相差不大(CPU 并不是瓶颈),内存 protobuf 消耗却更少,推介使用 protobuf 进行序列化 2、KVStore 将当前实现中的 MemoryDentryStorage 和 MemoryInodeStorage0 码力 | 12 页 | 384.47 KB | 6 月前3 Curve文件系统元数据持久化方案设计测试对比: 10 万条随机生成 inode 耗时 (MS) 内存 (KB) 顺序编码 13 5079 protobuf 序列化 81 4996 从对比结果来看,10 万条 inode 耗时相差不大(CPU 并不是瓶颈),内存 protobuf 消耗却更少,推介使用 protobuf 进行序列化 2、KVStore 将当前实现中的 MemoryDentryStorage 和 MemoryInodeStorage0 码力 | 12 页 | 384.47 KB | 6 月前3
 Raft在Curve存储中的工程实践在curve自动容错和负载均衡时,需要进行raft配 置变更。 • 自动容错保证常见异常(如坏盘、机器宕机)导 致的数据丢失不依赖人工处理,可以自动修复。 • 负载均衡和资源均衡保证集群中的磁盘、cpu、内 存等资源的利用率最大化。 Curve块存储和文件存储的配置变更实现基本一致CURVE的RAFT配置变更 异常场景下配置变更 • ReplicaSchedule • RecoverSchedule0 码力 | 29 页 | 2.20 MB | 6 月前3 Raft在Curve存储中的工程实践在curve自动容错和负载均衡时,需要进行raft配 置变更。 • 自动容错保证常见异常(如坏盘、机器宕机)导 致的数据丢失不依赖人工处理,可以自动修复。 • 负载均衡和资源均衡保证集群中的磁盘、cpu、内 存等资源的利用率最大化。 Curve块存储和文件存储的配置变更实现基本一致CURVE的RAFT配置变更 异常场景下配置变更 • ReplicaSchedule • RecoverSchedule0 码力 | 29 页 | 2.20 MB | 6 月前3
 Curve核心组件之mds – 网易数帆存储系统的核心问题,也是 curve 是否能上生产环境的决定因素之一。 • 自动容错保证常见异常(如坏盘、机器宕机)导致的数据丢失不依赖人工处理,可 以自动修复。 • 负载均衡和资源均衡保证集群中的磁盘、cpu、内存等资源的利用率最大化。SCHEDULE Schdedule的具体实现 Coordinator: 调度模块的对外接口。心跳会将 chunkserver上报上来的copyset信息提交给 Coo0 码力 | 23 页 | 1.74 MB | 6 月前3 Curve核心组件之mds – 网易数帆存储系统的核心问题,也是 curve 是否能上生产环境的决定因素之一。 • 自动容错保证常见异常(如坏盘、机器宕机)导致的数据丢失不依赖人工处理,可 以自动修复。 • 负载均衡和资源均衡保证集群中的磁盘、cpu、内存等资源的利用率最大化。SCHEDULE Schdedule的具体实现 Coordinator: 调度模块的对外接口。心跳会将 chunkserver上报上来的copyset信息提交给 Coo0 码力 | 23 页 | 1.74 MB | 6 月前3
共 9 条
- 1













