【技术实现步骤摘要】
基于多核的数据处理方法及装置
[0001]本申请涉及计算机领域,尤其涉及一种基于多核的数据处理方法及装置。
技术介绍
[0002]远程直接内存访问(remote direct memory access,RDMA)是传输层网络协议,使用队列对(queue pair,QP)进行消费者(consumer)数据的网络发送和接收。如图1所示,QP包含1个发送队列(send queue,SQ)和1个接收队列(receive queue,RQ)。其中SQ负责请求端的RDMA操作,RQ负责响应端的RDMA消息处理。QP与完成队列(completion queue,CQ)队列关联。
[0003]在RDMA操作的请求端,处理器根据consumer进程提交的工作请求(work request,WR),在其对应的SQ中提交工作队列元素(work queue element,WQE)后,网卡将WQE指示的RDMA操作,以及该RDMA操作对应的数据封装成报文并通过端口发送到网络。当网卡执行完成1个WQE指示的RDMA操作后,则在该SQ关联的CQ中写入1个完成队列条目(completion queue entry,CQE),以使处理器处理到该CQE时,通知consumer其提交的某个WR已完成RDMA操作处理。
[0004]在现有技术中,若处理器包括多个处理核(例如包括处理核0和处理核1),且该多个处理核对应一个QP。这样的话,当处理核0轮询与该QP关联的CQ中的CQE时,可能会将处理核1所提交的WQE对应的CQE轮询到并处理。 ...
【技术保护点】
【技术特征摘要】
1.一种基于多核的数据处理方法,其特征在于,应用于处理器,所述处理器包括至少两个处理核,所述至少两个处理核与至少一个完成队列CQ对应,所述至少一个CQ包括第一CQ;所述方法包括:访问所述第一CQ,所述第一CQ中包括至少一个完成队列条目CQE;所述至少一个CQE中包括第一CQE,所述第一CQE包括指示信息,所述指示信息用于指示所述至少两个处理核中的一个处理核;基于所述指示信息处理所述第一CQE。2.根据权利要求1所述的方法,其特征在于,所述第一CQE是所述第一CQ的头部CQE。3.根据权利要求1或2所述的方法,其特征在于,所述基于所述指示信息处理所述第一CQE,包括:如果所述指示信息是所述至少两个处理核中任一个处理核的身份标识ID,则通过所述任一个处理核处理所述第一CQE。4.根据权利要求1-3中任一项所述的方法,其特征在于,所述处理器和远程直接内存访问网络接口卡RNIC连接通信;如果所述第一CQE用于指示所述RNIC作为请求端已执行完成一个远程直接内存访问RDMA操作,则所述指示信息是所述至少两个处理核中任一个处理核的ID;其中,所述任一个处理核是提交与所述第一CQE对应的工作队列元素WQE的处理核,所述WQE用于指示待所述RNIC执行的RDMA操作。5.根据权利要求4所述的方法,其特征在于,所述RDMA操作包括发送操作、带立即数的发送操作、带远端内存失效指示的发送操作、读操作、写操作、带立即数的写操作或原子ATOMIC操作中的任一个。6.根据权利要求4或5所述的方法,其特征在于,所述RNIC包括至少一个队列对QP,所述至少一个QP中的第一QP与所述第一CQ关联;所述第一QP包括第一发送队列SQ;在所述访问所述第一CQ之前,所述方法还包括:在所述第一SQ中提交第一WQE,所述第一WQE包括所述任一个处理核的ID,所述第一WQE用于所述RNIC生成所述第一CQE;所述第一CQE中的指示信息是所述任一个处理核的ID。7.根据权利要求1或2所述的方法,其特征在于,所述基于所述指示信息处理所述第一CQE,包括:如果所述指示信息是预设信息,则通过所述至少两个处理核中的任一个处理核处理所述第一CQE。8.根据权利要求7所述的方法,其特征在于,如果所述第一CQE用于指示所述RNIC作为响应端已接收完成一个RDMA消息,则所述指示信息是所述预设信息;其中,所述RDMA消息包括send消息、带立即数的send消息、带远端内存失效指示的send消息、或带立即数的write消息中的任一个。9.一种基于多核的数据处理方法,其特征在于,应用于网络接口卡NIC;所述NIC与处理器连接通信,所述处理器包括至少两个处理核,所述至少两个处理核与至少一个完成队列CQ对应;所述方法包括:生成第一完成队列条目CQE;在所述至少一个CQ中的第一CQ写入所述第一CQE;
其中,所述第一CQE包括指示信息,所述指示信息用于指示所述至少两个处理核中的一个处理核;所述第一CQE用于当所述至少两个处理核中任一个处理核在访问到所述第一CQE时,基于所述指示信息处理所述第一CQE。10.根据权利要求9所述的方法,其特征在于,所述NIC是远程直接内存访问网络接口卡RNIC。11.根据权利要求10所述的方法,其特征在于,如果所述第一CQE用于指示所述RNIC作为请求端已执行完成一个远程直接内存访问RDMA操作,则所述指示信息是所述至少两个处理核中任一个处理核的ID;其中,所述任一个处理核是提交与所述第一CQE对应的工作队列元素WQE的处理核,所述WQE用于指示待所述RNIC执行的RDMA操作。12.根据权利要求11所述的方法,其特征在于,所述RDMA操作包括发送操作、带立即数的发送操作、带远端内存失效指示的发送操作、读操作、写操作、带立即数的写操作或原子ATOMIC操作中的任一个。13.根据权利要求11或12所述的方法,其特征在于,所述NIC包括至少一个队列对QP,所述至少一个QP中的第一QP与所述第一CQ关联;所述第一QP包括第一发送队列SQ;所述生成第一完成队列条目CQE,包括:基于所述第一SQ中的第一WQE,生成所述第一CQE;其中,所述第一WQE是所述至少两个处理核中的第一处理核在所述第一SQ中提交的WQE,所述第一WQE包括所述第一处理核的ID;所述第一CQE中的指示信息是所述第一处理核的ID。14.根据权利要求10所述的方法,其特征在于,如果所述第一CQE用于指示所述RNIC作为响应端已接收完成一个RDMA消息,则所述指示信息是预设信息;其中,所述RDMA消息包括send消息、带立即数的send消息、带远端内存失效指示的send消息、或带立即数的write消息中的任一个。15.一种基于多核的数据处理装置,其特征在于,应用于处理器,所述处理器包括至少两个处理核,所述至少两个处理核与至少一个完成队列CQ对应,所述至少一个CQ包括第一CQ;所述装置包括:访问单元,用于访问所述第一CQ,所述第一CQ中包括至少一个完成队列条目CQE;所述至少一个CQE中包括第一CQE,所述第...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。