CN103634230A - 一种基于动态预测的网络驱动层数据包接收方法和*** - Google Patents

一种基于动态预测的网络驱动层数据包接收方法和*** Download PDF

Info

Publication number
CN103634230A
CN103634230A CN201310628565.XA CN201310628565A CN103634230A CN 103634230 A CN103634230 A CN 103634230A CN 201310628565 A CN201310628565 A CN 201310628565A CN 103634230 A CN103634230 A CN 103634230A
Authority
CN
China
Prior art keywords
data
module
network equipment
kernel thread
pack buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310628565.XA
Other languages
English (en)
Other versions
CN103634230B (zh
Inventor
陈进才
刘玉虎
周功业
周可
张英男
余乐
陈涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201310628565.XA priority Critical patent/CN103634230B/zh
Publication of CN103634230A publication Critical patent/CN103634230A/zh
Application granted granted Critical
Publication of CN103634230B publication Critical patent/CN103634230B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于动态预测的网络驱动层数据包接收方法,包括:建立空白链表和循环队列,并创建内核线程和内核定时器,接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断,判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则判断接收指令的接收描述符中数据到达位是否为0,如果不是则判断空白链表中数据包缓存的数量是否低于阈值,如果不是则从空白链表中获取一个新数据包缓存,判断是否成功获取,如果不是则统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据。本发明能够计算预分配数据包缓存的数量,以适应网络流量的变化,防止在数据流量较低时耗费过多内存。

Description

一种基于动态预测的网络驱动层数据包接收方法和***
技术领域
本发明属于网络技术领域,更具体地,涉及一种基于动态预测的网络驱动层数据包接收方法和***。
背景技术
网络驱动在接收数据包的过程中采用两种方式,传统中断I/O方式和NAPI(New API)方式。
传统中断I/O方式在每次网络设备中断过程中仅处理一个数据包,优点是在数据流量不是很大的情况下,响应及时,节省***资源;然而,如果数据流量较大,高频的中断调用将会过多的占用CPU时间,影响服务器的性能。
NAPI(NEW API)是Linux***中采用的有别于传统方式的数据包接收方式,NAPI方式结合中断触发和主动轮询方式接收数据,减少了数据包接收中断的频率以及高频中断调度造成的***开销;在数据流量较高并且数据包较小时具有较高的效率;但其仍然存在一些缺点:由于采用了软件中断的方式,会有一定的延迟,当数据流量较低时,NAPI方式比传统中断I/O方式效率更低,并且当数据包较大时,申请数据包缓存和复制数据将占用大量的处理时间。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于动态预测的网络驱动层数据包接收方法和***,其目的在于,加速网络设备中断处理过程,使得每次数据包接收中断不需要申请数据包缓存来拷贝数据,并在每次中断过程中尽可能多的接收数据包,降低网络设备的中断频率,通过记录每次中断过程中接收到的数据包数量,来动态预测网络流量的高低,并动态计算预分配数据包缓存的数量,以适应网络流量的变化,防止在数据流量较低时耗费过多内存。
为实现上述目的,按照本发明的一个方面,提供了一种基于动态预测的网络驱动层数据包接收方法,包括以下步骤:
(1)建立空白链表和循环队列,并创建内核线程和内核定时器,其中空白链表用于保存内核线程分配的数据包缓存,循环队列用于保存每次网络设备中断所产生的状态数据,内核线程用于分配数据包缓存和进行错误处理,并将数据包缓存***空白链表,内核定时器用于定时唤醒内核线程;
(2)接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断;
(3)判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则转入步骤(4),如果是错误指令,则转入步骤(10);
(4)判断接收指令的接收描述符中数据到达位是否为0,如果是则过程结束,转入步骤(12),如果不是则转入步骤(5);
(5)判断空白链表中数据包缓存的数量是否低于阈值,如果是则转入步骤(6),如果不是则转入步骤(7);
(6)设置数据包缓存分配标志,并唤醒内核线程,以分配数据包缓存:
(7)从空白链表中获取一个新数据包缓存,判断是否成功获取,如果是则转入步骤(8),如果不是则转入步骤(9);
(8)解除当前接收描述符对应的数据包缓存,并将新数据包缓存挂载到该接收描述符;
(9)统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据,不改变当前接收描述符数据包缓存;
(10)判断错误指令的类型,如果是致命错误,则转入步骤(11),否则统计错误数据;
(11)停止接收上层发送的数据包,设置网络设备错误标志,唤醒内核线程以进行错误处理;
(12)在循环队列中保存本次的状态数据,打开网络设备中断。
优选地,空白链表包括一个数据包缓存的指针和一个计数器,指针指向链表的第一个元素,初始时为空,计数器用于记录链表中元素的数量,初始时为0,循环队列是由n个元素的环形数组组成,用于保存状态数据,每个状态数据包括三个组成部分,分别用于记录一次中断当中接收到的数据包数量的计数器,用于记录开始接收第一个数据包的时间的变量,以及用于记录接收完最后一个数据包的时间的变量,初始时循环队列置为0。
优选地,内核线程和内核定时器在驱动程序加载时被创建,内核线程在完成数据包缓存分配或错误处理后,进入休眠状态,内核定时器时间到期后,唤醒休眠状态的内核线程,以进行数据包缓存分配,并修改定时器时间,以在下一次时间到期后再次唤醒内核线程。
优选地,步骤(6)中分配数据包缓存的步骤包括以下子步骤:
(6-1)根据循环队列保存的状态数据,计算需要分配的数据包缓存数量
(6-2)根据步骤(6-1)计算的需要分配的数据包缓存数量,分配对应数量的数据包缓存,对于分配的每一个数据包缓存,将其***空白链表;
(6-3)清除数据包缓存分配标志,内核线程进入休眠状态。
优选地,步骤(6-1)中的计算过程包括以下子步骤:
(6-1-1)计算接收单个数据包所需时间,并计算其与网络设备接收描述符数量的乘积TIME;
(6-1-2)获取循环队列中数据包的总数量SUM,以及接收完成最后一个数据包的时间与开始接收第一个数据包的时间的差值TN;
(6-1-3)根据乘积TIME与差值TN计算最多需要分配的数据包缓存数量,计算方式为SUM*(TIME/TN);
(6-1-4)获取总共需要分配的数据包缓存数量,其为最多需要分配的数据包缓存数量和当前空白链表中剩余数据包缓存数量的差值。
优选地,步骤(11)中的错误处理过程包括以下子步骤:
(11-1)根据错误指令的类型,调用错误处理函数进行处理;
(11-2)清除网络设备错误标志,开始接收上层发送的数据包,内核线程进入休眠状态。
按照本发明的另一方面,提供了一种基于动态预测的网络驱动层数据包接收***,包括:
第一模块,用于建立空白链表和循环队列,并创建内核线程和内核定时器,其中空白链表用于保存内核线程分配的数据包缓存,循环队列用于保存每次网络设备中断所产生的状态数据,内核线程用于分配数据包缓存和进行错误处理,并将数据包缓存***空白链表,内核定时器用于定时唤醒内核线程;
第二模块,用于接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断;
第三模块,用于判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则转入第四模块,如果是错误指令,则转入第十模块;
第四模块,用于判断接收指令的接收描述符中数据到达位是否为0,如果是则过程结束,转入第十二模块,如果不是则转入第五模块;
第五模块,用于判断空白链表中数据包缓存的数量是否低于阈值,如果是则转入第六模块,如果不是则转入第七模块;
第六模块,用于设置数据包缓存分配标志,并唤醒内核线程,以分配数据包缓存:
第七模块,用于从空白链表中获取一个新数据包缓存,判断是否成功获取,如果是则转入第八模块,如果不是则转入第九模块;
第八模块,用于解除当前接收描述符对应的数据包缓存,并将新数据包缓存挂载到该接收描述符;
第九模块,用于统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据,不改变当前接收描述符数据包缓存;
第十模块,用于判断错误指令的类型,如果是致命错误,则转入第十一模块,否则统计错误数据;
第十一模块,用于停止接收上层发送的数据包,设置网络设备错误标志,唤醒内核线程以进行错误处理;
第十二模块,用于在循环队列中保存本次的状态数据,打开网络设备中断。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、本发明的方法对于每个接收的数据包而言,不需要拷贝数据和申请数据包缓存操作,具有极高的响应时间;
2、本发明的方法在每次进入中断处理程序之后,关闭了网络设备中断,降低了网络设备对服务器***的中断频率;
3、本发明的方法通过数据包缓存预分配机制,在接收中断中可以直接使用预分配好的数据包缓存,减少了中断处理函数耗费的CPU时间;
4、本发明的方法使用内核定时器,每隔一定时间唤醒内核预分配线程,完善了数据包缓存预分配方法,减小了在中断处理程序中唤醒内核预分配线程的可能性;
5、本发明的方法通过记录过去中断中接收的数据包数量和处理时间,来预测下一次需要预分配的数据包缓存数量,降低了低速网络流量下内存的浪费;
6、本发明的方法通过加入内核线程,在不改变操作***网络驱动模型的情况下优化了数据接收的过程。
附图说明
图1是本发明空白链表的结构图。
图2是本发明状态数据组织的结构图。
图3是包含内核线程和定时器的框图。
图4是本发明基于动态预测的网络驱动层数据包接收方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图4所示,本发明基于动态预测的网络驱动层数据包接收方法包括以下步骤:
(1)建立空白链表和循环队列,并创建内核线程和内核定时器。其中空白链表用于保存内核线程分配的数据包缓存(在本发明中,该数据包缓存采用sk_buff结构体),循环队列用于保存每次网络设备中断所产生的状态数据,内核线程用于分配数据包缓存和进行错误处理,并将数据包缓存***空白链表,内核定时器用于定时唤醒内核线程;具体而言,如图1所示,空白链表包括一个数据包缓存的指针和一个计数器,指针指向链表的第一个元素,初始时为NULL,计数器记录链表中元素的数量,初始时为0。如图2所示,循环队列是由n个元素的环形数组组成(其中n为正整数),用于保存状态数据,每个状态数据包括三个组成部分,分别用于记录一次中断当中接收到的数据包数量的计数器,用于记录开始接收第一个数据包的时间的变量,以及用于记录接收完最后一个数据包的时间的变量,初始时循环队列使用memset函数置为0。如图3所示,内核线程和内核定时器在驱动程序加载时被创建,内核线程在完成数据包缓存分配或错误处理后,进入休眠状态,内核定时器时间到期后,唤醒休眠状态的内核线程,以进行数据包缓存分配,并修改定时器时间,以在下一次时间到期后再次唤醒内核线程;
(2)接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断;
(3)判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则转入步骤(4),如果是错误指令,则转入步骤(10),具体而言,判断类型是通过读取中断指令的描述符实现;
(4)判断接收指令的接收描述符中数据到达位是否为0,如果是则过程结束,转入步骤(12),如果不是则转入步骤(5),具体而言,接收描述符采用环形队列组织;
(5)判断空白链表中数据包缓存的数量是否低于阈值,如果是则转入步骤(6),如果不是则转入步骤(7),具体而言,阈值的取值是处于0和网络设备接收描述符的数量之间;
(6)设置数据包缓存分配标志,并唤醒内核线程,以分配数据包缓存,分配数据包缓存的步骤包括以下子步骤:
(6-1)根据循环队列保存的状态数据,计算需要分配的数据包缓存数量,具体而言,计算过程如下:
(6-1-1)计算接收单个数据包所需时间,并计算其与网络设备接收描述符数量的乘积TIME;
(6-1-2)获取循环队列中数据包的总数量SUM,以及接收完成最后一个数据包的时间与开始接收第一个数据包的时间的差值TN;
(6-1-3)根据乘积TIME与差值TN计算最多需要分配的数据包缓存数量,计算方式为SUM*(TIME/TN);
(6-1-4)获取总共需要分配的数据包缓存数量,其为最多需要分配的数据包缓存数量和当前空白链表中剩余数据包缓存数量的差值。
(6-2)根据步骤(6-1)计算的需要分配的数据包缓存数量,分配对应数量的数据包缓存,对于分配的每一个数据包缓存,将其***空白链表;
(6-3)清除数据包缓存分配标志,内核线程进入休眠状态;
(7)从空白链表中获取一个新数据包缓存,判断是否成功获取,如果是则转入步骤(8),如果不是则转入步骤(9);
(8)解除当前接收描述符对应的数据包缓存,并将新数据包缓存挂载到该接收描述符;
(9)统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据,不改变当前接收描述符数据包缓存;
(10)判断错误指令的类型,如果是致命错误,则转入步骤(11),否则统计错误数据,具体而言,判断类型是通过读取中断指令的描述符实现;
(11)停止接收上层发送的数据包,设置网络设备错误标志,唤醒内核线程以进行错误处理,错误处理包括以下子步骤:
(11-1)根据错误指令的类型,调用错误处理函数进行处理,具体而言,错误处理函数需要事先编写,例如发送出错处理函数,网络设备硬件出错处理函数;
(11-2)清除网络设备错误标志,开始接收上层发送的数据包,内核线程进入休眠状态。
(12)在循环队列中保存本次的状态数据,打开网络设备中断。
本发明基于动态预测的网络驱动层数据包接收***包括:
第一模块,用于建立空白链表和循环队列,并创建内核线程和内核定时器,其中空白链表用于保存内核线程分配的数据包缓存,循环队列用于保存每次网络设备中断所产生的状态数据,内核线程用于分配数据包缓存和进行错误处理,并将数据包缓存***空白链表,内核定时器用于定时唤醒内核线程;
第二模块,用于接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断;
第三模块,用于判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则转入第四模块,如果是错误指令,则转入第十模块;
第四模块,用于判断接收指令的接收描述符中数据到达位是否为0,如果是则过程结束,转入第十二模块,如果不是则转入第五模块;
第五模块,用于判断空白链表中数据包缓存的数量是否低于阈值,如果是则转入第六模块,如果不是则转入第七模块;
第六模块,用于设置数据包缓存分配标志,并唤醒内核线程,以分配数据包缓存:
第七模块,用于从空白链表中获取一个新数据包缓存,判断是否成功获取,如果是则转入第八模块,如果不是则转入第九模块;
第八模块,用于解除当前接收描述符对应的数据包缓存,并将新数据包缓存挂载到该接收描述符;
第九模块,用于统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据,不改变当前接收描述符数据包缓存;
第十模块,用于判断错误指令的类型,如果是致命错误,则转入第十一模块,否则统计错误数据;
第十一模块,用于停止接收上层发送的数据包,设置网络设备错误标志,唤醒内核线程以进行错误处理;
第十二模块,用于在循环队列中保存本次的状态数据,打开网络设备中断。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于动态预测的网络驱动层数据包接收方法,其特征在于,包括以下步骤:
(1)建立空白链表和循环队列,并创建内核线程和内核定时器,其中空白链表用于保存内核线程分配的数据包缓存,循环队列用于保存每次网络设备中断所产生的状态数据,内核线程用于分配数据包缓存和进行错误处理,并将数据包缓存***空白链表,内核定时器用于定时唤醒内核线程;
(2)接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断;
(3)判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则转入步骤(4),如果是错误指令,则转入步骤(10);
(4)判断接收指令的接收描述符中数据到达位是否为0,如果是则过程结束,转入步骤(12),如果不是则转入步骤(5);
(5)判断空白链表中数据包缓存的数量是否低于阈值,如果是则转入步骤(6),如果不是则转入步骤(7);
(6)设置数据包缓存分配标志,并唤醒内核线程,以分配数据包缓存:
(7)从空白链表中获取一个新数据包缓存,判断是否成功获取,如果是则转入步骤(8),如果不是则转入步骤(9);
(8)解除当前接收描述符对应的数据包缓存,并将新数据包缓存挂载到该接收描述符;
(9)统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据,不改变当前接收描述符数据包缓存;
(10)判断错误指令的类型,如果是致命错误,则转入步骤(11),否则统计错误数据;
(11)停止接收上层发送的数据包,设置网络设备错误标志,唤醒内核线程以进行错误处理;
(12)在循环队列中保存本次的状态数据,打开网络设备中断。
2.根据权利要求1所述的网络驱动层数据包接收方法,其特征在于,
空白链表包括一个数据包缓存的指针和一个计数器,指针指向链表的第一个元素,初始时为空;
计数器用于记录链表中元素的数量,初始时为0;
循环队列是由n个元素的环形数组组成,用于保存状态数据;
每个状态数据包括三个组成部分,分别用于记录一次中断当中接收到的数据包数量的计数器,用于记录开始接收第一个数据包的时间的变量,以及用于记录接收完最后一个数据包的时间的变量,初始时循环队列置为0。
3.根据权利要求1所述的网络驱动层数据包接收方法,其特征在于,内核线程和内核定时器在驱动程序加载时被创建,内核线程在完成数据包缓存分配或错误处理后,进入休眠状态,内核定时器时间到期后,唤醒休眠状态的内核线程,以进行数据包缓存分配,并修改定时器时间,以在下一次时间到期后再次唤醒内核线程。
4.根据权利要求1所述的网络驱动层数据包接收方法,其特征在于,步骤(6)中分配数据包缓存的步骤包括以下子步骤:
(6-1)根据循环队列保存的状态数据,计算需要分配的数据包缓存数量
(6-2)根据步骤(6-1)计算的需要分配的数据包缓存数量,分配对应数量的数据包缓存,对于分配的每一个数据包缓存,将其***空白链表;
(6-3)清除数据包缓存分配标志,内核线程进入休眠状态。
5.根据权利要求4所述的网络驱动层数据包接收方法,其特征在于,步骤(6-1)中的计算过程包括以下子步骤:
(6-1-1)计算接收单个数据包所需时间,并计算其与网络设备接收描述符数量的乘积TIME;
(6-1-2)获取循环队列中数据包的总数量SUM,以及接收完成最后一个数据包的时间与开始接收第一个数据包的时间的差值TN;
(6-1-3)根据乘积TIME与差值TN计算最多需要分配的数据包缓存数量,计算方式为SUM*(TIME/TN);
(6-1-4)获取总共需要分配的数据包缓存数量,其为最多需要分配的数据包缓存数量和当前空白链表中剩余数据包缓存数量的差值。
6.根据权利要求1所述的网络驱动层数据包接收方法,其特征在于,步骤(11)中的错误处理过程包括以下子步骤:
(11-1)根据错误指令的类型,调用错误处理函数进行处理;
(11-2)清除网络设备错误标志,开始接收上层发送的数据包,内核线程进入休眠状态。
7.一种基于动态预测的网络驱动层数据包接收***,其特征在于,包括:
第一模块,用于建立空白链表和循环队列,并创建内核线程和内核定时器,其中空白链表用于保存内核线程分配的数据包缓存,循环队列用于保存每次网络设备中断所产生的状态数据,内核线程用于分配数据包缓存和进行错误处理,并将数据包缓存***空白链表,内核定时器用于定时唤醒内核线程;
第二模块,用于接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断;
第三模块,用于判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则转入第四模块,如果是错误指令,则转入第十模块;
第四模块,用于判断接收指令的接收描述符中数据到达位是否为0,如果是则过程结束,转入第十二模块,如果不是则转入第五模块;
第五模块,用于判断空白链表中数据包缓存的数量是否低于阈值,如果是则转入第六模块,如果不是则转入第七模块;
第六模块,用于设置数据包缓存分配标志,并唤醒内核线程,以分配数据包缓存:
第七模块,用于从空白链表中获取一个新数据包缓存,判断是否成功获取,如果是则转入第八模块,如果不是则转入第九模块;
第八模块,用于解除当前接收描述符对应的数据包缓存,并将新数据包缓存挂载到该接收描述符;
第九模块,用于统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据,不改变当前接收描述符数据包缓存;
第十模块,用于判断错误指令的类型,如果是致命错误,则转入第十一模块,否则统计错误数据;
第十一模块,用于停止接收上层发送的数据包,设置网络设备错误标志,唤醒内核线程以进行错误处理;
第十二模块,用于在循环队列中保存本次的状态数据,打开网络设备中断。
CN201310628565.XA 2013-11-29 2013-11-29 一种基于动态预测的网络驱动层数据包接收方法和*** Expired - Fee Related CN103634230B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310628565.XA CN103634230B (zh) 2013-11-29 2013-11-29 一种基于动态预测的网络驱动层数据包接收方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310628565.XA CN103634230B (zh) 2013-11-29 2013-11-29 一种基于动态预测的网络驱动层数据包接收方法和***

Publications (2)

Publication Number Publication Date
CN103634230A true CN103634230A (zh) 2014-03-12
CN103634230B CN103634230B (zh) 2016-09-07

Family

ID=50214870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310628565.XA Expired - Fee Related CN103634230B (zh) 2013-11-29 2013-11-29 一种基于动态预测的网络驱动层数据包接收方法和***

Country Status (1)

Country Link
CN (1) CN103634230B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446898A (zh) * 2014-09-23 2016-03-30 Arm有限公司 描述符环管理
CN106484510A (zh) * 2016-09-27 2017-03-08 上海斐讯数据通信技术有限公司 一种基于Linux内核定时器的时间管理方法
CN112433835A (zh) * 2020-11-23 2021-03-02 国家电网有限公司 一种基于Linux***的中断处理方法及装置
CN115361451A (zh) * 2022-10-24 2022-11-18 中国人民解放军国防科技大学 一种网络通信并行处理方法及***
US11620154B2 (en) 2020-01-02 2023-04-04 International Business Machines Corporation Suppressing interrupts to an application thread

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101227341A (zh) * 2007-12-18 2008-07-23 浪潮电子信息产业股份有限公司 Linux***上以太网卡快速捕包的方法
CN101330433A (zh) * 2007-06-20 2008-12-24 中兴通讯股份有限公司 基于传输网的以太网设备共享缓冲区管理方法和装置
US7818470B2 (en) * 2007-09-27 2010-10-19 Integrated Device Technology, Inc. Adaptive interrupt on serial rapid input/output (SRIO) endpoint
JP2011061536A (ja) * 2009-09-10 2011-03-24 Ricoh Co Ltd 通信システム及び再送バッファ容量の測定装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330433A (zh) * 2007-06-20 2008-12-24 中兴通讯股份有限公司 基于传输网的以太网设备共享缓冲区管理方法和装置
US7818470B2 (en) * 2007-09-27 2010-10-19 Integrated Device Technology, Inc. Adaptive interrupt on serial rapid input/output (SRIO) endpoint
CN101227341A (zh) * 2007-12-18 2008-07-23 浪潮电子信息产业股份有限公司 Linux***上以太网卡快速捕包的方法
JP2011061536A (ja) * 2009-09-10 2011-03-24 Ricoh Co Ltd 通信システム及び再送バッファ容量の測定装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446898A (zh) * 2014-09-23 2016-03-30 Arm有限公司 描述符环管理
CN105446898B (zh) * 2014-09-23 2021-03-19 Arm 有限公司 用于数据处理的装置及方法
CN106484510A (zh) * 2016-09-27 2017-03-08 上海斐讯数据通信技术有限公司 一种基于Linux内核定时器的时间管理方法
US11620154B2 (en) 2020-01-02 2023-04-04 International Business Machines Corporation Suppressing interrupts to an application thread
CN112433835A (zh) * 2020-11-23 2021-03-02 国家电网有限公司 一种基于Linux***的中断处理方法及装置
CN115361451A (zh) * 2022-10-24 2022-11-18 中国人民解放军国防科技大学 一种网络通信并行处理方法及***

Also Published As

Publication number Publication date
CN103634230B (zh) 2016-09-07

Similar Documents

Publication Publication Date Title
CN109697122B (zh) 任务处理方法、设备及计算机存储介质
CN103634230A (zh) 一种基于动态预测的网络驱动层数据包接收方法和***
CA2849565C (en) Method, apparatus, and system for scheduling processor core in multiprocessor core system
US20030187907A1 (en) Distributed control method and apparatus
US20190042331A1 (en) Power aware load balancing using a hardware queue manager
CN110532205B (zh) 数据传输方法、装置、计算机设备和计算机可读存储介质
CN105812285A (zh) 一种端口拥塞管理方法及装置
US20090031314A1 (en) Fairness in memory systems
WO2018233425A1 (zh) 网络拥塞的处理方法、装置及***
CN106302227A (zh) 混合网络流调度方法和交换机
WO2021197128A1 (zh) 流量限速方法及装置
US9455907B1 (en) Multithreaded parallel packet processing in network devices
CN111949568A (zh) 一种报文处理方法、装置及网络芯片
JP2014235746A (ja) マルチコア装置及びマルチコア装置のジョブスケジューリング方法
CN105978821B (zh) 网络拥塞避免的方法及装置
CN109117279B (zh) 电子装置及其限制进程间通信的方法、存储介质
CN103368870B (zh) 集群存储网络并行负载的控制方法及***
CN105164980A (zh) 众核下网络数据的分发方法及***
US9705733B2 (en) Systems and methods for throttling polling
US20050125797A1 (en) Resource management for a system-on-chip (SoC)
JP2000083053A (ja) プログラム内蔵方式パケット処理装置
CN110147254A (zh) 一种数据缓存处理方法、装置、设备及可读存储介质
US20190004594A1 (en) Network-driven, packet context-aware power management for client-server architecture
CN110659132A (zh) 请求处理的优化方法及计算机可读存储介质
CN109002381A (zh) 进程通信监控方法、电子装置及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160907

Termination date: 20181129