自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1204)
  • 论坛 (14)
  • 收藏
  • 关注

原创 【ceph】ceph通信 message的数据结构

网络通信的接口 在src/msg 的目录里,定义了网络模块的接口。 在源代码src/msg 里实现了ceph 的网络通信模块。在msg目录下,定义了网络通信的抽象接口。 msg/Message.cc msg/Message.h 定义了message msg/Connection.h 关于connection 的接口定义 msg/Dispat...

2021-11-14 11:43:00 17

原创 【ceph】ceph分层存储(分层缓存Tiering Cache)--未消化

目录 分层存储概述 ceph分层存储步骤 警告 分层存储概述 1,首先肯定要弄清Ceph分层存储的结构 ,结构图大概就是下图所示 缓存层(A cache tier)为Ceph客户端提供更好的I/O性能,而数据存储在存储层(a backing storage tier)。用相对快速/昂贵的设备(比如SSD)创建poo...

2021-11-07 22:42:00 8

原创 【Ceph】Cpeh总目录--编辑中

Cpeh通信模块msg AsyncMessenger代码流程分析:https://blog.csdn.net/bandaoyu/article/details/119728808

2021-11-07 22:16:00 107

原创 【shell】Linux Shell远程执行命令

目录 shell远程执行 前提条件: 对于简单的命令: 对于脚本的方式: SSH命令格式 主要参数说明 ssh控制远程主机,远程执行命令步骤 准备工作 基于公私钥认证远程登录可能存在的不足 ssh 执行远程命令格式 打开远程shell ssh的-t参数 在多个节点上并行执行命令的三种方法 使用bash执行命令∞(Execut...

2021-11-07 11:41:00 5

原创 【C/C++】Boost::pool内存链/池

目录 Boost::pool说明 boost::pool 的实现原理 部分源码 总结 经验 使用boost::pool<>遇到严重的性能问题 Boost::pool说明 原文boost::pool 库速记 - 开学五年级了 - 博客园 boost::pool 的实现原理 pool去按照一定的增长规则,从操作系统申请一大块...

2021-11-06 10:19:00 3

原创 【linux】Linux资源监控统计--sar|cpu+内存+换页+文件+IO队列+设备负载

目录 即可即看 简介 实例 sar 中的三个工具:sa1 、sa2 、sadc的区别 sar 即可即看 要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来 怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看 怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看 怀疑I/O存在瓶颈,可用...

2021-11-05 19:26:00 92

原创 【测试】磁盘、CPU统计iostat工具

目录 iostat 例子 iostat 的输出项说明 iostat 中的 %util 指标说明 iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。 iostat 例子 下面...

2021-11-03 17:34:00 195

原创 【存储】什么是iSER(iSCSI Extensions for RDMA)

什么是 ISER? iSER 代表“用于 RDMA 的 iSCSI 扩展”(iSCSI Extensions for RDMA)。它是 iSCSI 数据传输模型的扩展,iSCSI 是 TCP/IP 的存储网络标准。iSER在利用 iSCSI 组件的同时使用RDMA 协议套件 。 即RDMA可以和成熟的iSCS协议配合,优化iSCSI...

2021-11-01 22:29:00 8

原创 【协议】NVMe over RoCE 初探 SATA、PCIe 接口和AHCI、NVMe 协议

原文:NVMe over RoCE 初探 - 知乎 常见的 SSD 主要分为 SATA和 PCIe 接口,其接口协议对应着 AHCI、NVMe 协议。相比于最原始的 ATA 协议,AHCI有 2 个特点,第 1 个支持热插拔,第 2 个支持 NCQ(Native Command Queueing)技术,NCQ 最大深度为 32,则使用 fio 进行性...

2021-10-31 23:43:00 2

原创 【ceph】ceph性能分析工具之perf dump代码打点调试统计

目录 简介 一、查ceph自带的统计 1 命令格式 2 dump 命令输出结果 二、自己添加统计 三、分析案例 io耗时初分析 继续分析 进一步分析 代码修改和验证 四、报错记录 五、附录 1、代码修改和验证 简介 Ceph 性能计数器(performance counters)是内部模块指标的收集统计器。它采集到的...

2021-10-22 20:58:00 32

原创 【git】git命令手册--编辑中

git checkout git checkout迁出一个分支的特定版本。默认是迁出分支的HEAD版本 一此用法示例: $ git checkout master #//取出master版本的head。 $ git checkout tag_name #//在当前分支上 取出 tag_name 的版本 ...

2021-10-22 19:47:00 9

原创 【gerrit】git push origin HEAD:refs/for/xxx的意思

1.git push <remote 名字> <本地分支的名字> : <远程库的名字> git push origin HEAD:refs/for/xxx git push 推送 origin : 是远程的库的名字 xxx:就是填你的分支名 HEAD: 是一个特别的指针,它是一个指向你正在工作的本地分支的指针,可...

2021-10-22 19:40:00 26

原创 【Linux C】man查看C函数原型|定义

目录 用法 报错处理 用法 man 3 printf 解释: man read,我想看的是ANSI C中stdio的read函数原型和说明,没想到出来的确是BASH命令的说明,这是怎么回事呢? 原来read本身是man命令的一个参数,这样输入man就会以为你要使用read的功能,而不是查看read函数,那么要怎样查看read...

2021-10-21 10:45:00 9

原创 【linux】认真分析mmap:是什么 为什么 怎么用

目录 有什么用? 1、文件映射 2、分配内存 mmap基础概念 mmap内存映射原理 mmap和常规文件操作的区别 mmap优点总结 mmap相关函数 mmap使用细节 ​​​​​​​ 有什么用? 1、文件映射 示例: linux mmap使用例子-wallwind-ChinaUnix博客 int main(int arg...

2021-10-19 14:25:00 6

原创 【RDMA】降低CPU除了RDMA (vbers)还是VMA ?|使用socket进行RDMA编程?

前言 看介绍,像是mellonx针对其kernel bypass网卡(RDMA网卡)提供的一个lib库,该lib库对外提供socket api,使得用户的程序不需要修改就可以直接使用kernel bypass网卡(如RDMA网卡)。 我们都知道RDMA 网卡目前使用的是rdma_cm和vbers api编程,和socket不一样,如果能用socket...

2021-10-12 17:01:00 20

原创 【RDMA】RDMA编程:事件通知机制

RDMA通过kernel-bypass和协议栈offload两大核心技术,实现了远高于传统TCP/IP的网络通信性能。尽管RDMA的性能要远好于TCP/IP,但目前RDMA的实际落地业务场景却寥寥无几,这其中制约RDMA技术大规模上线应用的主要原因有两点: 主流互联网公司普遍选择RoCE(RDMA over Converged Ethernet)作为R...

2021-10-12 14:44:00 15

原创 【RDMA】优化 RDMA 代码的提示和技巧

RDMA is used in many places, mainly because of the high performance that it allows to achieve. In this post, I will provide tips and tricks on how to optimize RDMA code in severa...

2021-10-11 22:11:00 15

原创 【GDB】GDB报错记录|经验教训

1、No source file named. or 没有在断点的地方停止 No source file named. Make breakpoint pending on future shared library load (gdb) b mps_guide_db.c:1699 No source file named mps_guide_d...

2021-10-11 20:56:00 8

原创 【性能】perf工具简介

perf 架构图总览 Events 事件主要有哪些 hardware events:CPU performance monitoring counters software events: 基于kernel counters的低水平事件,比如cpu迁移、minor faults、major faults等等 kernel tracepoi...

2021-10-11 14:42:00 32

原创 【分布式】分布式系统之Quorum机制|WARO|强一致性|若一致性

在了解Quorum机制之前,先回顾一下数据一致性 强一致性vs弱一致性 强一致性:在任意时刻,从任意不同副本取出的值都是一样的。弱一致性:有时泛指最终一致性,是指在任意时刻,可能由于网络延迟或者设备异常等原因,不同副本中的值可能会不一样,但经过一段时间后,最终会变成一样。显然,我们更想要做到强一致性的这种效果,那么有哪些方式可以实现呢,其中最为简单...

2021-10-09 22:09:00 10

原创 【C++】linux多线程设置线程名字

目录 1. prctl() (只能给当前线程设置名称) 2、pthread_setname_np 1. prctl() (只能给当前线程设置名称) #include <sys/prctl.h> iErr = prctl(PR_SET_NAME, “Hello_project”); 第一个参数是操作类型,指定PR_SET_NAM...

2021-10-09 21:18:00 11

原创 【vbers】libibverbs 线程安全级别|libibverbs thread safe level

让我们从底线开始: verbs API 是完全线程安全的,并且可以从进程中的每个线程调用verbs。线程安全的一部分在 libibverbs 级别实现,一部分在底层驱动程序库级别实现。甚至可以从不同的线程处理相同的资源(操作的原子性得到保证)。 支持的多线程操作包括但不限于: 使用 RDMA 设备打开上下文。读取异步事件 - 每个事件将由一个线程准...

2021-10-09 11:20:00 6

原创 【shell】shell字符串分割|文件分割

目录 一、字符串分割 1、awk分割 2、利用shell 中 变量 的字符串替换成空格分割 3、设置分隔符,通过 IFS 变量 4、利用tr 指令实现字符替换 二、文件分割 附录 【转】linux下awk内置函数的使用(split/substr/length) 四、gsub函数 五、正则表达式 一、字符串分割 1、awk分割...

2021-10-08 21:07:00 11

原创 【shell】shell数值计算(加减乘除)或将字符串转换成数字

数值计算 shell 包含三个命令:bc、expr、let可用于数值计算。 输入:整数,let和expr都无法进行浮点运算,但是bc和awk可以。 输出:bc、expr可直接显示计算结果;let则丢弃计算结果,可通过传递结果到变量,取变量值获得计算结果。 格式示例: bc [root@localhost ~]# echo 300 + 5 |...

2021-10-08 17:26:00 8

原创 【vbers】ibv_req_notify_cq()

ibv_req_notify_cq() - RDMAmojo RDMAmojo 描述 ibv_req_notify_cq() 在完成队列 (CQ) 上请求完成通知。 当一个请求的下一个WC添加到 CQ ,ibv_req_notify_cq() 请求一个通知。 (bv_req_notify_cq()requests a notification ...

2021-10-07 21:51:00 4

原创 【vbers】ibv_get_async_event()

原文:ibv_get_async_event() - RDMAmojo RDMAmojo 描述 ibv_get_async_event() 读取 RDMA 设备上下文context的下一个异步事件。 在调用 ibv_open_device() 之后,所有异步事件都被加入到这个上下文中,并且调用 ibv_get_async_event() 将按照它们...

2021-10-07 20:58:00 16

原创 【verbs】ibv_create_comp_channel()

原文:ibv_create_comp_channel() - RDMAmojo RDMAmojo 描述 ibv_create_comp_channel() 为 RDMA 设备上下文创建完成事件通道。 这个 Completion event channel是 libibverbs(库) 引入的抽象,在 InfiniBand 架构verbs规范或 RD...

2021-10-07 15:13:00 6

原创 【C++】join()和detach|不join()也不detach()的后果

一、join()和detach() join join():主线程调用d2.join()后,需要等d2待子线程运行结束了,才会继续往下走。 int main() { d2 = std::thread(download2); download1(); d2.join(); //主线程main需要等d2子线程(downl...

2021-09-30 13:03:00 5

原创 【GDB】GDB多线程查看崩溃时线程的堆栈

例子 2021-09-29 16:37:17.931204 7fff637f7700 422708 59 ERROR RDMAStack in polling_start 2021-09-29 16:37:17.931227 7fff637f7700 422708 59 ERROR RDMAStack polling_start start poll...

2021-09-29 16:58:00 9

原创 【GDB】GDB调试总目录

【gdb&core】Linux中gdb 查看core堆栈信息1 https://blog.csdn.net/bandaoyu/article/details/83312828 【gdb&core】Linux中gdb 查看core堆栈信息2_bandaoyu的笔记-CSDN博客 【GDB】GDB 调试多线程和多进程总结 https:...

2021-09-28 20:45:00 6

原创 【C/C++】环形队列实现原理

环形队列是在实际编程极为有用的数据结构,它有如下特点。 它是一个首尾相连的FIFO的数据结构,采用数组的线性空间,数据组织简单。能很快知道队列是否满为空。能以很快速度的来存取数据。 因为有简单高效的原因,甚至在硬件都实现了环形队列. 环形队列广泛用于网络数据收发,和不同程序间数据交换(比如内核与应用程序大量交换数据,从硬件接收大量...

2021-09-28 03:02:00 3

原创 【SSH】Server responded “Algorithm“ negotiation failed“ Key exchange with the remote host failed....

使用SSH Secure Shell工具连接报错如下: Server responded "Algorithm" negotiation failed"Key exchange with the remote host failed. This can happen for example if the remote hostcomputer do...

2021-09-27 12:00:00 162

原创 【多线程】pthread_kill用法|判断线程是否在运行

目录 即看即用 1、向线程发送向线程发送signal 2、判断线程是否在运行 详细说明 即看即用 1、向线程发送向线程发送signal int pthread_kill(pthread_t thread, int sig); 线程内用signal()去抓信号并加上处理函数。 2、判断线程是否在运行 int kill_rc = pth...

2021-09-26 16:01:00 8

原创 【C++】C++多线程资料总目录

目录 基础知识 编程实践 编码 线程同步 性能 资源 测试和调试 注意事项 基础知识 【多线程】c++11多线程编程(一)——初识 https://blog.csdn.net/bandaoyu/article/details/106084199 【多线程】c++11多线程编程(二)——理解线程类的构造函数_bandaoyu的笔记...

2021-09-26 14:24:00 13

原创 【RDMA】RDMA 学习资料总目录

目录 RDMA技术分享 RDMA技术分享 RDMA技术详解 RDMA编程 RDMA 网络 ROCE|iWarp 性能优化 配置和特性优化 Qos流控 命令和测试 文档和相关资料 @UESTC RDMA技术分享 RDMA技术分享 1. RDMA概述https://blog.csdn.net/bandaoyu/arti...

2021-09-26 11:42:00 15

原创 【RDMA】16. RDMA之DDP(Direct Data Placement)

【RDMA】RDMA 学习资料总目录_bandaoyu的笔记-CSDN博客SavirRDMA 分享1. RDMA概述https://blog.csdn.net/bandaoyu/article/details/112859853https://zhuanlan.zhihu.com/p/1388747382. 比较基于Socket与RDMA的通信https...

2021-09-26 11:38:00 15

原创 【RDMA】15. RDMA之RoCE & Soft-RoCE

【RDMA】RDMA 学习资料总目录_bandaoyu的笔记-CSDN博客SavirRDMA 分享1. RDMA概述https://blog.csdn.net/bandaoyu/article/details/112859853https://zhuanlan.zhihu.com/p/1388747382. 比较基于Socket与RDMA的通信https...

2021-09-26 11:35:00 19

原创 【RDMA】14. RDMA之Memory Window

【RDMA】RDMA 学习资料总目录_bandaoyu的笔记-CSDN博客SavirRDMA 分享1. RDMA概述https://blog.csdn.net/bandaoyu/article/details/112859853https://zhuanlan.zhihu.com/p/1388747382. 比较基于Socket与RDMA的通信https...

2021-09-26 11:27:00 8

原创 【C++】C++对象数组的定义和初始化

目录 即看即用 一、赋值初始化 二、用指针数组 三、上面的只适合静态数组,动态数组用C++11的allocator 更多详情 即看即用 一、赋值初始化 1、如果类有默认构造函数 object *p = new object[3]; 2、如果类没有构造函数 没有默认构造函数,有自定义的构造函数object(contx* c,sta...

2021-09-24 15:14:00 37

原创 【存储】快照备份技术写时重定向ROW和写时拷贝COW区别|小IO聚合

ROW(Redirect-on-Write):ROW在写入数据的时候直接写入到快照卷;读源卷时,创建快照前的数据从源卷读,创建快照后产生的数据,从快照卷读。 COW(Copy-on-Write):COW就是每当你写入数据之前,快照先对源卷数据进行复制,然后新数据才写进源卷;快照进行读操作时,首先由快照系统判断,上层业务需要读取的数据是否在快照卷中,若在...

2021-09-22 19:33:00 14

空空如也

关于通信中线程同步的问题?(分多)

发表于 2020-07-12 最后回复 2020-08-20

如何向queue中加入自定义的数据类型?

发表于 2020-07-21 最后回复 2020-07-22

关于C++11 function和 bind的一个问题

发表于 2020-07-16 最后回复 2020-07-19

C++11 比C++98 多了哪些特性?

发表于 2020-04-20 最后回复 2020-07-12

除了开发界面程序,QT还会用在什么地方吗?

发表于 2020-04-17 最后回复 2020-04-17

嵌入式编程,函数是不是尽量避免调用层次太深?

发表于 2020-04-12 最后回复 2020-04-17

python怎么删掉文档中含'null' 且不包含'{'的行?

发表于 2019-04-06 最后回复 2020-04-13

C++ 是不是每个类单独占一个文件好一些?

发表于 2019-03-27 最后回复 2020-04-13

为什么Django 与javaweb比显得那么蠢?

发表于 2019-05-27 最后回复 2020-04-13

MySql如何定义变量?

发表于 2019-04-03 最后回复 2020-04-13

HTTP 协议传输文件的时是否需将二进制数据转成BCD码然后上传?

发表于 2020-04-08 最后回复 2020-04-12

typedef void (*uv_fs_cb)(uv_fs_t* req); 这句代码是什么意思

发表于 2020-04-02 最后回复 2020-04-03

有了 libevent、libev、libuv等库,C++的小伙伴还有人在手撸epoll吗?

发表于 2020-04-01 最后回复 2020-04-01

你们用什么工具测试代码覆盖率?VS 哪个版本的免费版可以测试代码覆盖率?

发表于 2019-04-20 最后回复 2019-04-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除