【技术实现步骤摘要】
【国外来华专利技术】一种任务处理方法以及网卡
本申请涉及通信领域,尤其涉及一种任务处理方法以及网卡。
技术介绍
以太网络中的一项业务可以包括多种任务,举例来说,传输控制协议卸载(英文:TCPoffloadengine,缩写:TOE)业务就包括接收任务以及发送任务。现有的以太网络的任务处理一般由服务器实现,服务器通过交换机接入以太网络(英文:ethernet)中,请参阅图1。其中服务器上插入有网卡,用于处理服务器与交换机之间的数据交换。网络设备在收发数据包的过程中会触发网络I/O中断,因此服务器在工作时要响应大量的I/O中断信号。例如,若网络任务以64Kbps的速率发送传输控制协议(英文:transmissioncontrolprotocol,缩写:TCP)数据,则单单将数据封装成以太网数据包以及响应网络接受确认信号,每秒钟就会在服务器和网卡间触发60多个I/O中断。大量的中断处理会占用服务器相当可观的计算资源,拉低网络的整体性能。为了解决上述问题,现阶段将协议栈的相关处理从服务器侧卸载到网卡上实现,以求解放服务器的计算资源,减少服务器和网卡之间的数据交互,进而提升网络的性能。例如现阶段的某些网卡已经能够支持融合以太网远程直接数据访问(英文:RDMAoverconvergedethernet,缩写:RoCE)功能、基于以太网的光纤通道(英文:fibrechanneloverethernet,缩写:FCoE)功能等。但是,现阶段的网卡执行任务处理的性能较低,不能满足以太网络中大量任务的处理需求。
技术实现思路
本申请提供了任务处理方法以及网卡,用于提升网卡的任务处理性能。本申请第一方 ...
【技术保护点】
一种任务处理方法,用于网卡对网络中的报文执行任务处理,其特征在于,所述任务处理按照执行顺序分为N个阶段,所述网卡的处理器运行多个线程,所述N为正整数,所述方法包括:获取待处理的P个报文,所述P为正整数;分别确定所述P个报文中每个报文对应的线程,并将所述P个报文加载到对应的线程,其中,每个报文对应一个线程;通过所述每个报文对应的线程对所述每个报文依次执行所述N个阶段的任务处理,得到所述每个报文的第N阶段的任务处理结果。
【技术特征摘要】
【国外来华专利技术】1.一种任务处理方法,用于网卡对网络中的报文执行任务处理,其特征在于,所述任务处理按照执行顺序分为N个阶段,所述网卡的处理器运行多个线程,所述N为正整数,所述方法包括:获取待处理的P个报文,所述P为正整数;分别确定所述P个报文中每个报文对应的线程,并将所述P个报文加载到对应的线程,其中,每个报文对应一个线程;通过所述每个报文对应的线程对所述每个报文依次执行所述N个阶段的任务处理,得到所述每个报文的第N阶段的任务处理结果。2.根据权利要求1所述的任务处理方法,其特征在于,所述网卡的网卡内存中包括所述任务处理的上下文信息,所述上下文信息包括N个信息块,其中第i信息块包括执行第i阶段的任务处理所需要使用的上下文信息;所述P个报文中的第Q报文对应第Q线程,所述Q为不大于所述P的任意正整数;在对所述第Q报文执行第j阶段的任务处理时,为所述第Q线程加载第j信息块,通过所述第Q线程,根据所述第j信息块以及所述第Q报文的第j-1阶段的处理结果,对所述第Q报文执行第j阶段的任务处理,得到所述第Q报文的第j阶段的处理结果,1≤j≤N,其中,所述第Q报文的第0阶段的处理结果为所述第Q报文。3.根据权利要求1或2所述的任务处理方法,其特征在于,所述P个报文中包括第一报文以及第二报文,所述第一报文对应第一线程,所述第二报文对应第二线程;所述方法还包括:待所述第一线程执行完对所述第一报文的第j阶段的任务处理后,再为所述第二线程加载所述第j信息块。4.根据权利要求2或3所述的任务处理方法,其特征在于,所述方法还包括:在通过所述第Q线程对所述第Q报文执行第j阶段的任务处理时,为所述第Q线程锁定所述第j信息块;在通过所述第Q线程执行完对所述第Q报文的第j阶段的任务处理后,解锁所述第j信息块。5.根据权利要求4所述的任务处理方法,其特征在于,所述方法在所述解锁所述第j信息块后还包括:若当前j<N,则为所述第Q线程锁定第j+1信息块。6.根据权利要求1至5中任一项所述的任务处理方法,其特征在于,所述方法还包括:在通过所述第Q线程执行完对所述第Q报文的第j阶段的任务处理后,将所述第Q线程挂起,并在为所述第Q线程加载了所述第j+1信息块后唤醒所述第Q线程。7.根据权利要求1至6中任一项所述的任务处理方法,其特征在于,所述方法在所述获取待处理的P个报文之后还包括:对所述P个报文进行加速处理,得到加速后的P个报文;所述确定所述P个报文中每个报文对应的线程,并将所述P个报文发送给对应的线程包括:确定所述P个报文中每个报文对应的线程,并将所述加速后的P个报文分别发送给所述P个报文对应的线程。8.根据权利要求2至7中任一项所述的任务处理方法,其特征在于,所述网卡内存中还包括全局配置表,所述全局配置表用于记录所述N个信息块的地址信息;所述为所述第Q线程加载第j信息块包括:根据所述全局配置表中第j信息块的地址信息,为所述第Q线程加载所述第j信息块。9.根据权利要求8所述的任务处理方法,其特征在于,所述方法还包括:若所述任务处理由所述N个阶段更新为M个新阶段,则接收修改指令,所述修改指令用于将所述全局配置表中记录的所述N个信息块的地址信息修改为M个新信息块的地址信息,所述M个新信息块中,第k新信息块包括执行第k新阶段的任务处理所需要使用的上下文信息,1≤k≤M。10.根据权利要1至9中任一项所述的任务处理方法,其特征在于,所述网卡内存中还保存有所述任务处理的可执行文件,所述可执行文件包括N个程序段,其中第i程序段包括用于执行所述第i阶段的任务处理的程序指令;所述方法还包括:在通过所述第Q线程对所述第Q报文执行第j阶段的任务处理之前,为所述第Q线程加载第j程序段,并调整所述第Q线程的指针指向所述第j程序段;所述根据所述第j信息块以及所述第Q报文的第j-1阶段的处理结果,对所述第Q报文执行第j阶段的任务处理包括:根据所述第j信息块以及所述第Q报文的第j-1阶段的处理结果,执行所述第j程序段,以对所述第Q报文进行第j阶段的任务处理。11.一种网卡,用于对网络...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。