 BRPC与UCX集成指南1个 UcpContext: N个 UcpWorker42 连接管理器UcpCm ●连接管理类 –全局唯一对象 –通过UcpCm * get_or_create_ucp_cm(void)获取 –完成连接的接受 –完成连接的创建 ●监视brpc::Socket类关闭文件句柄 ●连接以文件句柄表示43 连接管理器UcpCm ● 连接以文件句柄返回 –int Accept(ucp_conn_request_h req); –int Connect(const butil::EndPoint &peer); –UcpConnectionRef GetConnection(int fd1);44 连接管理器UcpCm ●Brpc socket代码不少地方需要文件句柄表示连接,使用句柄可以减少代码修改。例如 SocketOptions.fd为-1表示尚未连接。 ●UcpCm返回的文件句柄实际上是pipe的写端句柄 减少了修 改。UcpCm检测到pipe读端可读,关闭UcpConnection。 ●以上修改实际上绕过了BRPC的Event dispatcher触发读写机制,UCX自己完成发送接收45 连接管理器UcpCm ●连接管理类 –全局唯一对象 –通过UcpCm * get_or_create_ucp_cm(void)获取 –完成连接的接受 –完成连接的创建 ●监视brpc::Socket类关闭文件句柄0 码力 | 66 页 | 16.29 MB | 6 月前3 BRPC与UCX集成指南1个 UcpContext: N个 UcpWorker42 连接管理器UcpCm ●连接管理类 –全局唯一对象 –通过UcpCm * get_or_create_ucp_cm(void)获取 –完成连接的接受 –完成连接的创建 ●监视brpc::Socket类关闭文件句柄 ●连接以文件句柄表示43 连接管理器UcpCm ● 连接以文件句柄返回 –int Accept(ucp_conn_request_h req); –int Connect(const butil::EndPoint &peer); –UcpConnectionRef GetConnection(int fd1);44 连接管理器UcpCm ●Brpc socket代码不少地方需要文件句柄表示连接,使用句柄可以减少代码修改。例如 SocketOptions.fd为-1表示尚未连接。 ●UcpCm返回的文件句柄实际上是pipe的写端句柄 减少了修 改。UcpCm检测到pipe读端可读,关闭UcpConnection。 ●以上修改实际上绕过了BRPC的Event dispatcher触发读写机制,UCX自己完成发送接收45 连接管理器UcpCm ●连接管理类 –全局唯一对象 –通过UcpCm * get_or_create_ucp_cm(void)获取 –完成连接的接受 –完成连接的创建 ●监视brpc::Socket类关闭文件句柄0 码力 | 66 页 | 16.29 MB | 6 月前3
 TGT服务器的优化--op update --tid 1 --lun 1 --params disksize=auto • Initiator 重新发送SCSI READ CAPACITY命令 • Windows 磁盘管理器refresh • Linux open-iscsi, iscsiadm --mode node -RDPO & FUA • DPO是disable page out的缩写,FUA是force unit0 码力 | 15 页 | 637.11 KB | 6 月前3 TGT服务器的优化--op update --tid 1 --lun 1 --params disksize=auto • Initiator 重新发送SCSI READ CAPACITY命令 • Windows 磁盘管理器refresh • Linux open-iscsi, iscsiadm --mode node -RDPO & FUA • DPO是disable page out的缩写,FUA是force unit0 码力 | 15 页 | 637.11 KB | 6 月前3
 CurveFS方案设计部分空间的回收。 blustore/polarfs 直接在块设备上构建分布式fs。一个文件的数据对应块设备上某个空间,因此需要知道块设备的哪些空间是空闲的,哪些是已经分配出去的, 需要一个空间分配管理器。blustore有两个空间分配器bitmap和stupid。polarfs开源部分有空间映射关系,但空间分配器没有公布。 当前curve已经实现了块设备。curve的数据节点采用了chunkfi0 码力 | 14 页 | 619.32 KB | 6 月前3 CurveFS方案设计部分空间的回收。 blustore/polarfs 直接在块设备上构建分布式fs。一个文件的数据对应块设备上某个空间,因此需要知道块设备的哪些空间是空闲的,哪些是已经分配出去的, 需要一个空间分配管理器。blustore有两个空间分配器bitmap和stupid。polarfs开源部分有空间映射关系,但空间分配器没有公布。 当前curve已经实现了块设备。curve的数据节点采用了chunkfi0 码力 | 14 页 | 619.32 KB | 6 月前3
共 3 条
- 1













