CN115632948B - 应用于网卡的中断调控方法、装置、存储介质及电子设备 - Google Patents

应用于网卡的中断调控方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN115632948B
CN115632948B CN202211629282.2A CN202211629282A CN115632948B CN 115632948 B CN115632948 B CN 115632948B CN 202211629282 A CN202211629282 A CN 202211629282A CN 115632948 B CN115632948 B CN 115632948B
Authority
CN
China
Prior art keywords
time
data packets
interrupt
current
network card
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.)
Active
Application number
CN202211629282.2A
Other languages
English (en)
Other versions
CN115632948A (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.)
Wuxi Muchuang Integrated Circuit Design Co ltd
Original Assignee
Wuxi Muchuang Integrated Circuit Design Co ltd
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 Wuxi Muchuang Integrated Circuit Design Co ltd filed Critical Wuxi Muchuang Integrated Circuit Design Co ltd
Priority to CN202211629282.2A priority Critical patent/CN115632948B/zh
Publication of CN115632948A publication Critical patent/CN115632948A/zh
Application granted granted Critical
Publication of CN115632948B publication Critical patent/CN115632948B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种应用于网卡的中断调控方法、装置、存储介质及电子设备。所述方法包括:统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数,并根据所述第一个数通过预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数;根据数据包个数与中断策略之间的对应关系和所述第二个数确定当前中断策略;根据所述当前中断策略对所述网卡向Host主机发起中断请求的时机进行实时调控。可基于未来一段时间内的数据包个数,灵活确定并调整自适应中断模型的具体中断策略,解决了在网卡和Host主机通信的过程中Host主机频繁的进出中断,进而影响Host主机和整个系统的性能的问题。

Description

应用于网卡的中断调控方法、装置、存储介质及电子设备
技术领域
本申请涉及计算机及网卡技术领域,特别地涉及一种应用于网卡的中断调控方法、应用于网卡的中断调控装置、存储介质以及电子设备。
背景技术
在计算机领域,中断请求或中断(Interrupt Request,简称IRQ)是指在计算机的运行过程中,当出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。
现有技术下,常见的网卡(NetworkInterface Card,简称NIC)在进行中断操作时,都是当每接收到一个数据包,就会向主机端产生一个中断请求,具体可参考图1,图1为一种网卡与主机间中断模型的示意图。
然而当接收到大量数据包时,这种处理方式就会存在一些问题,比如会短时间内产生大量的中断请求,会导致Host主机频繁的进出中断,进一步会影响Host主机和整个系统的性能。
发明内容
针对上述问题,本申请提出一种应用于网卡的中断调控方法、应用于网卡的中断调控装置、存储介质以及电子设备,解决了在网卡和Host主机通信的过程中Host主机频繁的进出中断,从而影响主机和整个系统的性能的问题。
本申请的第一个方面,提供了一种应用于网卡的中断调控方法,所述方法包括:
统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数,并根据所述第一个数通过预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数;
根据数据包个数与中断策略之间的对应关系和所述第二个数确定当前中断策略;
根据所述当前中断策略对所述网卡向Host主机发起中断请求的时机进行实时调控。
进一步的,在所述统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数之前,还包括:
确定数据包个数与中断策略之间的对应关系。
进一步的,所述预设评估模型,包括:
滑动窗口模型、加权窗口模型以及经验值加权模型中的一项或多项。
进一步的,所述滑动窗口模型,包括:
Figure SMS_1
其中,
Figure SMS_2
表示一个时间窗口的时间值,
Figure SMS_3
为当前时刻之前的一个时间窗口
Figure SMS_4
内接收到的数据包个数,
Figure SMS_5
为预测的当前时刻之后的一个时间窗口
Figure SMS_6
内接收到的数据包个数。
进一步的,所述加权窗口模型,包括:
Figure SMS_7
其中,n为当前时刻之前的时间窗口
Figure SMS_8
的个数,
Figure SMS_9
为过去的第i个时间窗口
Figure SMS_10
内接收到的数据包个数,
Figure SMS_11
Figure SMS_12
对应的权重值,
Figure SMS_13
为预测的当前时刻之后的一个时间窗口内接收到的数据包个数。
进一步的,所述经验值加权模型,包括:
Figure SMS_14
其中,n为当前时刻之前的时间窗口
Figure SMS_17
的个数,m为不重复周期时间段的总个数,
Figure SMS_20
为过去的第i个时间窗口
Figure SMS_23
内接收到的数据包个数,
Figure SMS_15
Figure SMS_18
对应的权重值,
Figure SMS_21
为第j个不重复周期时间段的一个时间窗口
Figure SMS_24
内数据包的个数,
Figure SMS_16
Figure SMS_19
对应的权重值,
Figure SMS_22
为预测的当前时刻之后的一个时间窗口内接收到的数据包个数。
进一步的,所述根据所述第一个数通过预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数,包括:
确定所述Host主机的繁忙程度值;
根据所述第一个数和所述繁忙程度值通过所述预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数。
进一步的,通过预设统计模型统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数,其中所述预设统计模型包括:
累加统计模型和/或头尾采样统计模型;
其中,所述累加统计模型统计每个时间窗中口所有采样时间内接收到的数据包的个数;所述头尾采样统计模型只统计每个时间窗口头部和尾部位置处采样时间内接收到的数据包的个数,所述每个时间窗口均包括多个采样时间。
进一步的,将所有采样时间内接收到的数据包的个数均保存预设线性表中。
进一步的,所述根据所述当前中断策略实时调控所述网卡向Host主机发起中断请求的时机,包括:
在当前网络环境不满足第一预设条件的情况下,根据所述当前中断策略实时调控所述网卡向Host主机发起中断请求的时机。
进一步的,在所述统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数之前,还包括:
在当前网络环境满足第一预设条件和/或所述Host主机的繁忙程度值不小于预设阈值的情况下,所述网卡保持所述当前中断策略不变。
进一步的,所述根据所述第二个数和所述对应关系确定当前中断策略,包括:
根据所述第二个数和所述对应关系通过等长区间匹配或区间查找的方式确定当前中断策略;
其中,在所述对应关系满足第二预设条件的情况下通过所述等长区间匹配的方式确定所述当前中断策略;在所述对应关系不满足第二预设条件的情况下通过所述区间查找的方式确定所述当前中断策略。
本申请的第二个方面,提供了一种应用于网卡的中断调控装置,所述装置包括:
统计及评估模块,用于统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数,并根据所述第一个数通过预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数;
中断策略确定模块,用于根据数据包个数与中断策略之间的对应关系和所述第二个数确定当前中断策略;
调控模块,用于根据所述当前中断策略对所述网卡向Host主机发起中断请求的时机进行实时调控。
本申请的第三个方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储的计算机程序,可被一个或多个处理器执行,用以实现如上所述的应用于网卡的中断调控方法。
本申请的第四个方面,提供了一种电子设备,包括存储器和一个或多个处理器,所述存储器上存储有计算机程序,所述存储器和所述一个或多个处理器之间互相通信连接,该计算机程序被所述一个或多个处理器执行时,实现如上所述的应用于网卡的中断调控方法。
与现有技术相比,本申请的技术方案具有以下优点或有益效果:
公开了一种自适应中断模型,可基于未来一段时间内的数据包个数,灵活确定并调整自适应中断模型的具体中断策略,解决了在网卡和Host主机通信的过程中Host主机频繁的进出中断,进而影响Host主机和整个系统的性能的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于所属领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为一种网卡与主机间中断模型的示意图。
图2为本申请实施例提供的一种应用于网卡的中断调控方法的流程图。
图3为本申请实施例提供的一种滑动窗口模型的示意图。
图4为本申请实施例提供的一种加权窗口模型的示意图。
图5为本申请实施例提供的一种通过滑动窗口模型统计数据包个数的示意图。
图6为本申请实施例提供的一种通过加权窗口模型统计数据包个数的示意图。
图7为本申请实施例提供的一种头尾采样法统计滑动窗口数据包个数的示意图。
图8为本申请实施例提供的一种头尾采样法统计加权窗口数据包个数示意图。
图9为本申请实施例提供的一种通过二分法实现区间表查找的流程图。
图10为本申请实施例提供的一种装置的结构示意图。
图11为本申请实施例提供的一种电子设备的连接框图。
具体实施方式
以下将结合附图及实施例来详细说明本申请的实施方式,借此对本申请如何应用技术手段来解决技术问题,并达到相应技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征,在不相冲突的前提下可以相互结合,所形成的技术方案均在本申请的保护范围之内。
以下,先对本申请实施例和/或现有技术中的部分技术用语进行解释说明,以便于所属领域技术人员理解本申请的技术方案。
Figure SMS_25
:T即time时间,w即窗口,表示一个时间窗口的时间值,单位为秒。
Figure SMS_26
:采样时间值( sampling time )可以动态设置,记为
Figure SMS_27
,其值可以设置为100
Figure SMS_28
或200
Figure SMS_29
。每隔一次此时间段,进行一次采样,统计这段过程中有多少个数据包。
Figure SMS_30
:N即Number表示个数,结合前述的
Figure SMS_31
参数,
Figure SMS_32
表示近期
Figure SMS_33
时间段内接收到的数据包个数,单位为个。
Figure SMS_34
:N即Number表示个数,结合前述的
Figure SMS_35
参数,
Figure SMS_36
表示预估未来
Figure SMS_37
时间段内接收到的数据包个数,单位为个。
Figure SMS_38
:过去的第i个时间窗口
Figure SMS_39
内接收到的数据包,
Figure SMS_40
,单位为个。
Figure SMS_41
:表示过去的第i个窗口的数据包个数
Figure SMS_42
对预测未来的
Figure SMS_43
的权重,其满足条件
Figure SMS_44
Figure SMS_45
:权重值,表示数据包个数经验值对未来预测所占的权重
Figure SMS_46
Figure SMS_47
:取自英文单词Experience表示经验值,单位为个。表示按照以往经验,统计第j个不重复周期时间段的一个时间窗口内数据包的个数,即
Figure SMS_48
经验值,
Figure SMS_49
。其中m为不重复周期时间段的总个数,如度量周期为1天,度量单位为1小时,则m值为24,即1天可以分为24个小时段。
Figure SMS_50
:C取自英文Counter的首字母,
Figure SMS_51
为第i个时间窗口、第j个采样时间段
Figure SMS_52
内接收到的数据包个数,单位为个。其中
Figure SMS_53
Figure SMS_54
:Host主机在第0个窗口的平均的繁忙程度(Busy)为
Figure SMS_55
需要说明的是:
下标w,w表示window,即与窗口相关的变量;
下标s,s表示sampling,与采样相关的变量;
字符w与e分别为取自英文单词Weight的前两个字母,表示相关权重值;
下标i、j表示循环变量,用于动态遍历的下标;
下标m、n、k用来表示总个数。
另外,再介绍下本申请技术方案的实现原理,具体的可包括:
(1)按照数量阈值发送中断请求,具体的:
按照经验设定一个合理的数据包数量阈值N。当网卡收集到N个数据包时,就可以触发一次网卡向主机端发送中断请求。然后,主机端会在一次中断中,将这些新接收到的N个数据包分别处理完成。
按照数量阈值给中断的方法的优势包括:每次处理的数据包的个数非常稳定,对于处理程序的处理规模要求特别友好。但是,一直按照数量阈值给中断会存在一些缺陷:对于一些接收数据包时间间隔极度不稳定的程序而言,这种方法会导致很大的延时,极端情况下会导致由于缺少最后1个数据包,当等不到N个数据包时则会一直等待,无法对已接收到的数据包进行及时的处理,而是会对前面已经收到的N-1个数据包进行无限延迟处理。
(2)按照时间阈值发送中断请求,具体的:
按照经验设定一个合理的数据包接收时间段阈值T。当网卡收集了T时间段内的数据包后,就可以触发网卡向主机端发送一次中断请求。然后,主机端会一次中断中,将这个时间断内接收到的所有数据包分别处理完成。
按照时间阈值给中断的方法的优势包括:每次处理的数据包的时间延时都很稳定,不会存在时延过分的数据包。但是,一直按照时间阈值给中断会也存在一些缺陷:可能在一个时间段内要处理大量的数据包,在另一个时间段又没有或只有很少量的数据包,对于Host主机端,对数据包的处理程序要求比较高,能够处理不同规模的数据包。
(3)自适应中断模型,具体的:
由于前述的单独按照数量阈值或者按照时间阈值发送中断请求,不灵活且难以适应复杂多变的网络环境。单独按照数量阈值或者按照时间阈值发送中断请求的策略,缺乏对未来数据包个数的预测,而对未来的数据包情况的预测则主要来自对过去数据包个数的预测和经验值。
假设我们可以预知未来一段时间内接收到的数据包个数,那么一种理想的自适应中断模型的中断策略可包括:
在当前已接收到数据包,且当未来数据包的个数很少的情况下,可以尽快、甚至立即给中断(这样不会出现等待太久,也等不到新的数据包,只是数据包处理延长增大的情况);
在当前已接收到数据包,且当未来数据包个数很多的情况下,可以给一定时间的延迟以收集一段时间内的数据包,延迟结束后再统一产生一次中断(这样就不会出现短时间内频繁使Host主机处理中断的情况)。
自适应中断模型以统计出的在未来
Figure SMS_56
时间段内接收到的数据包个数
Figure SMS_57
为依据,进而实时地调控当前的中断策略。
实施例一
本实施例提供一种应用于网卡的中断调控方法,图2为本申请实施例提供的一种应用于网卡的中断调控方法的流程图,如图2所示,本实施例的方法包括:
步骤210、统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数,并根据所述第一个数通过预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数。
在一些实施例中,在所述统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数之前,还包括:
确定数据包个数与中断策略之间的对应关系。
其中,在数据包个数与中断策略之间的对应关系中,数据包个数指的是在未来一定时间内(比如,一个时间窗口内)预测接收到的数据包个数,一种可选的数据包个数与中断策略之间的对应关系包括:
Figure SMS_58
:接收到1个数据包即发送中断请求;
Figure SMS_59
:接收到2个数据包即发送中断请求;
……
Figure SMS_60
:固定时长发送中断请求;
……
Figure SMS_61
:等待时长T=
Figure SMS_62
*10
Figure SMS_63
发送中断请求。
其中,
Figure SMS_64
Figure SMS_65
Figure SMS_66
Figure SMS_67
均可以根据实际情况选取合适的数据值,下面给出一可选的示例,假设数据包个数与中断策略之间的对应关系为:
Figure SMS_68
:接收到1个数据包即发送中断请求;
Figure SMS_69
:接收到2个数据包即发送中断请求;
……
Figure SMS_70
:固定时长1毫秒发送中断请求;
……
Figure SMS_71
:等待时长T=
Figure SMS_72
*10
Figure SMS_73
发送中断请求。
进一步的,预估未来
Figure SMS_74
时间段内接收到的数据包个数为
Figure SMS_75
,若
Figure SMS_76
的值为10,通过数据包个数与中断策略之间的对应关系,可知该值落在第二个区间 [10,20) 内,从而可确定当前的中断处理策略为“接收到2个数据包即发送中断请求”,中断处理策略下发并生效;
Figure SMS_77
的值为60,通过数据包个数与中断策略之间的对应关系,可知该值落在区间 [50,80) 内,从而可确定当前的中断处理策略为“固定时长1毫秒发送中断请求”,中断处理策略下发并生效;
Figure SMS_78
的值为500,通过数据包个数与中断策略之间的对应关系,可知该值落在区间 [200,+∞) 内,从而可确定当前的中断处理策略为“等待时长T=
Figure SMS_79
*10
Figure SMS_80
发送中断请求,即等待500*10
Figure SMS_81
=5ms发送中断请求”,中断处理策略下发并生效。以此类推。
所述领域技术人员可以理解的是,中断策略是根据未来一定时间内预测接收到的数据包个数进行灵活调控的。具体的可概括为:
基于固定的包数量;基于固定的等待时间;还可以为
Figure SMS_82
Figure SMS_83
Figure SMS_84
Figure SMS_85
等相关变量和/或数学常量之间的函数表达式。
可选的,数据包个数与中断策略之间的对应关系具体可根据用户的实际需求进行设定,此处不做特殊限定。
可选的,通过预设评估模型基于过去的数据包个数和经验值确定
Figure SMS_86
,然后再根据
Figure SMS_87
预测
Figure SMS_88
在一些实施例中,所述预设评估模型,包括:
滑动窗口模型、加权窗口模型以及经验值加权模型中的一项或多项。
在一些实施例中,所述滑动窗口模型,包括:
Figure SMS_89
其中,
Figure SMS_90
表示一个时间窗口的时间值,
Figure SMS_91
为当前时刻之前的一个时间窗口
Figure SMS_92
内接收到的数据包个数,
Figure SMS_93
为预测的当前时刻之后的一个时间窗口
Figure SMS_94
内接收到的数据包个数。
在滑动窗口模型中,只需要统计
Figure SMS_95
时间段内接收到的数据包个数
Figure SMS_96
,然后代入上式,即可得到需要的统计值。
可选的,可参考图3,图3为本申请实施例提供的一种滑动窗口模型的示意图。可以先统计出方框中的数据包个数,可以设定一个当前时间最邻近的一个时间窗口的数据包个数,作为预测未来数据包的个数。
在一些实施例中,所述加权窗口模型,包括:
Figure SMS_97
其中,n为当前时刻之前的时间窗口
Figure SMS_98
的个数,
Figure SMS_99
为过去的第i个时间窗口
Figure SMS_100
内接收到的数据包个数,
Figure SMS_101
Figure SMS_102
对应的权重值,
Figure SMS_103
为预测的当前时刻之后的一个时间窗口内接收到的数据包个数。
可选的,加权窗口模型对应的C语言代码片段可包括:
NTw= 0;
for(int i = 0;i<= n;i++){ //对0...n个窗口加权求和
NTw+= NiTw[i] * w[i];
}
//输出NTw值。可选的,可参考图4,图4为本申请实施例提供的一种加权窗口模型的示意图。只考虑最邻近一个时间窗口,有时候不足以全面的反应最近以来数据包个数,因此也就难以更准确的预测未来的数据包个数。为此,在滑动窗口的模型基础上公开了一个加权窗口模型,其核心思想就是不止计算一个窗口的数据包个数,还要计算过去n+1个窗口的数据包个数。其中,
Figure SMS_104
为过去的第i个时间窗口
Figure SMS_105
内接收到的数据包个数,
Figure SMS_106
进一步的,由于过去的n+1个窗口对预测未来的权重是不一样的,所以还要定义一个权重值
Figure SMS_107
Figure SMS_108
为第i个时间窗口内接收到的数据包个数对预测未来数据包个数的权重值,
Figure SMS_109
满足:
Figure SMS_110
加权窗口模型的实现核心是,记录公式中的n个窗口的权重值
Figure SMS_111
。一种比较通用的算法,可以设置n个窗口的权重寄存器,用来存储权重值,一遍后续进行相应的计算。另外还可以将权重进行如下的设置:
Figure SMS_112
由于权重全部为1/2的整数次幂的,存储和计算都非常方便。在数字电路中,任意数乘以1/2的整数次幂,可以通过向右移位实现,所以这是一种非常高效的实现方法。
在一些实施例中,所述经验值加权模型,包括:
Figure SMS_113
其中,n为当前时刻之前的时间窗口
Figure SMS_116
的个数,m为不重复周期时间段的总个数,
Figure SMS_119
为过去的第i个时间窗口
Figure SMS_122
内接收到的数据包个数,
Figure SMS_114
Figure SMS_118
对应的权重值,
Figure SMS_121
为第j个不重复周期时间段的一个时间窗口
Figure SMS_123
内数据包的个数,
Figure SMS_115
Figure SMS_117
对应的权重值,
Figure SMS_120
为预测的当前时刻之后的一个时间窗口内接收到的数据包个数。
可选的,经验值加权模型对应的C语言代码片段可包括:
NTw= 0;
for(int i = 0;i<= n;i++){ //对0...n个窗口加权求和
NTw+= NiTw[i] * w[i];
}
NTw= NTw* (1-e) + E[j] *e; //与经验值,加权求和
//输出NTw值。
进一步的,除了前述的两个预测模型外,还可以结合实际经验的测试值,与加权窗口模型结合,形成新的经验值加权模型。由于时间窗口的粒度偏小,有时无法从宏观上反映某个大粒度时间整体的经验的数据包个数。假定我们将时间按照重复周期进行划分。比如,以1天为重复单位,划分成24个小时(即m=24,m为不重复周期时间段的总个数),每天每个小时的数据包个数,是大致有一个经验值的
Figure SMS_124
。该经验值为1天中对应第i个时间段的,一个时间窗口内数据包个数值。这个经验值也可以作为一个重要的预测参考值,再给它加一个合理权重
Figure SMS_125
。当然,在实际应用中重复单位不一定是1天,也可以是其他重复单位,具体可根据实际情况进行选择。
需要说明的是,针对经验值加权模型,在加权窗口模型的基础上,时间可按照重复周期进行划分,比如,以1天为重复单位;可将时间重复周期划分成m个时间片,如划分成24个小时(即m=24);每个时间片定义一个变量如用来记录其经验值;可经过大量测试进而给这个经验值赋上合理的值,这个经验值可以作为一个重要的预测参考值;然后再结合一个合理权重值,既可实现经验值加权模型。
在一些实施例中,所述根据所述第一个数通过预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数,包括:
确定所述Host主机的繁忙程度值;
根据所述第一个数和所述繁忙程度值通过所述预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数。
Host主机的中断处理是一个非常复杂的过程,至少会涉及以下主题:
中断源、中断优先级以及中断响应时间。
可以简单的理解为:当Host主机繁忙程度比较高时,CPU进入空闲的时间,用来处理网卡中断的时间分片就会较少,此时就应该减少网卡向Host主机发送中断请求的次数,增大数据包的等待延时;反之,如果Host主机的繁忙程度较低,CPU就会有更多的时间来处理网卡中断,此时也应该调整中断策略,以减少数据包的等待延时。
可选的,对于主机的CPU繁忙程度,可以通过主机的应用层或驱动层的多种手段获取。比如,在Linux下运行pidstat命令,即可输出进程的CPU占用率。
进一步的,结合Host主机的繁忙程度(即Busy程度),对前述的三个评估模型进行优化:
对于滑动窗口模型,记Host主机在当前窗口的平均的Busy程度为
Figure SMS_126
,则一种可选的滑动窗口模型如下所示:
Figure SMS_127
对于加权窗口模型,记Host主机在当前窗口的平均的Busy程度为
Figure SMS_128
,则一种可选的加权窗口模型如下所示:
Figure SMS_129
对于经验值加权模型,记Host主机在当前窗口的平均的Busy程度为
Figure SMS_130
,则一种可选的经验值加权模型如下所示:
Figure SMS_131
在一些实施例中,通过预设统计模型统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数,其中所述预设统计模型包括:
累加统计模型和/或头尾采样统计模型;
其中,所述累加统计模型统计每个时间窗中口所有采样时间内接收到的数据包的个数;所述头尾采样统计模型只统计每个时间窗口头部和尾部位置处采样时间内接收到的数据包的个数,所述每个时间窗口均包括多个采样时间。
在一些实施例中,将所有采样时间内接收到的数据包的个数均保存预设线性表中。
估算当前时刻之后一个时间窗口内接收到的数据包个数的基础是统计当前时刻之前一定时间内数据包的个数。
可选的,采样时间值( sampling time )
Figure SMS_132
作为统计区间的最小统计单位,可以根据实际需求设置
Figure SMS_133
,比如将其值设为100
Figure SMS_134
或200
Figure SMS_135
进行一次采样。
Figure SMS_136
值表示统计一个
Figure SMS_137
,其中有多少个数据包。
设置变量
Figure SMS_138
:C取自英文Counter的首字母,
Figure SMS_139
为第i个时间窗口、第j个采样时间段
Figure SMS_140
内接收到的数据包个数,单位为个。其中
Figure SMS_141
同时为了支持后续的算法实现,需要使用的每一个
Figure SMS_142
的值都会被存储下来,其存储结构为一个线性表,比如以一个一维数组的形式进行保存。
图5为本申请实施例提供的一种通过滑动窗口模型统计数据包个数的示意图,如图5所示,对于滑动窗口模型只需要使用k+1个采样区间的数据包个数值即可。其中,
Figure SMS_143
为第j个时间段
Figure SMS_144
内接收到的数据包个数,
Figure SMS_145
对于加权滑动窗口模型和经验值加权模型,只需要使用过去的n*k个采样区间的数据包个数值即可。图6为本申请实施例提供的一种通过加权窗口模型统计数据包个数的示意图,如图6所示,需要统计计算
Figure SMS_146
Figure SMS_147
采样时间窗口,其中,n为统计的时间窗口个数,k为一个时间窗口内采样时间窗口的个数,
Figure SMS_148
可选的,可设立一个寄存器用于统计
Figure SMS_149
的值,每个采样时间段内接收到的数据包的个数均被记录在网卡变量中。
可选的,累加统计模型可包括两种算法:滑动窗口算法和加权窗口算法。
(1)针对滑动窗口算法,只需要每次对需要求解的
Figure SMS_150
时间段的这些变量进行累加,就可以统计得到该时间段内接收到的数据包个数。一种可选的C语言伪代码如下:
counter = 0;
for(j = 0;j<k;j++) //循环累加一个窗口内的采样值
counter += c[j];
输出counter。
(2)针对加权窗口算法,对每个时间窗口数据包个数累加完成,还需要乘以存储的权重值,即可完成最后的计算。一种可选的C语言伪代码如下:
counter = 0;
for(i = 0;i<= n;i++){
sum= 0;
for(j = 0;j<k;j++) //对一个窗口求和
sum+= C[i*k + j];
counter+= sum * w[i]; //加权累加
}
输出counter。
加权窗口算法的优点就是简单且不需要存储中间结果,每次重新统计即可;同时由于每次都需要统计整个时间窗口,可能会占用到较多的网卡的处理时间。
在头尾采样统计模型中,由于采样时间相对于窗口时间比较短,所以一次采样,大多数的C值都没有变,如果重新累加,需要重新算起。而实际中,变化的只是每个区间的头尾采样时间内的数据。
可选的,头尾采样统计模型也可包括两种算法:滑动窗口算法和加权窗口算法。
(1)针对头尾采样统计模型的滑动窗口算法,设置两个变量:
head:用来存储当前窗口,最临近当前时间的
Figure SMS_151
时间段内,数据包的个数;
tail:用来存储当前窗口的前一个窗口内,最临近当前时间的
Figure SMS_152
时间段内,数据包的个数。
实际运行开始时,先通过累加,计算出第一个窗口的counter的变量值。在运行的过程中,每隔
Figure SMS_153
时间段,数据包个数采样一次。当前窗口往后移动一个
Figure SMS_154
值。此时,主要统计得到一个新的head值和一个tail值。一种可选的C语言伪代码如下:
//更新了数组C[0..k]的值,向前移动一个
Figure SMS_155
时间段
head = C[0];
tail = C[k];
//在前述counter变量的基础上
counter = counter + head –tail; //只更新头尾采样区间
输出counter。
为了便于理解头尾采样统计模型的滑动窗口算法,可参考图7,图7为本申请实施例提供的一种头尾采样法统计滑动窗口数据包个数的示意图。
(2)针对头尾采样统计模型的加权窗口算法,一种可选的C语言伪代码如下:
//更新了数组C[0..nk]的值,向前移动一个
Figure SMS_156
时间段
//在前述counter变量的基础上
for(i = 0; i<= n; i++) {
head[i] = C[i];
tail[i] = C[i*k];
counter+= head[i]* w[i] - tail[i]* w[i]; //加权累加
}
输出counter。
所属领域技术人员可以理解的是,在上述计算过程,还可以做进一步化简,但是不会从数量级上,影响时间复杂度,故不再赘述。
从上可以看出,通过设置中间变量实现了以空间换时间的效果。相对于直接累加,降低了计算过程的时间复杂度,每次采样只需要更新统计每个窗口的head和tail两个
Figure SMS_157
时间段。
为了便于理解头尾采样统计模型的滑动窗口算法,可参考图8,图8为本申请实施例提供的一种头尾采样法统计加权窗口数据包个数示意图。
步骤220、根据数据包个数与中断策略之间的对应关系和所述第二个数确定当前中断策略。
在一些实施例中,所述根据所述第二个数和所述对应关系确定当前中断策略,包括:
根据所述第二个数和所述对应关系通过等长区间匹配或区间查找的方式确定当前中断策略;
其中,在所述对应关系满足第二预设条件的情况下通过所述等长区间匹配的方式确定所述当前中断策略;在所述对应关系不满足第二预设条件的情况下通过所述区间查找的方式确定所述当前中断策略。
可选的,第二预设条件包括等长区间。举例说明:
Figure SMS_158
Figure SMS_159
,则
Figure SMS_160
需要对比的区间是一系列等长区间(除最后一个区间),其共同的区间长度为
Figure SMS_161
。在上述所示的对应关系中,上述区间就是一个等长区间(除最后一个区间),区间的长度均为10(
Figure SMS_162
=10)。
从0开始计数,通过下式即可得到匹配的区间号:
区间号=
Figure SMS_163
比如
Figure SMS_164
=33,即未来一个时间窗口内预估将收到33个数据包,代入上式即可获得区间号为3,即[30,40),进而可确定对应的终端策略为“固定时长T2发送中断请求”。
可选的,如果数据区间不满足等长区间的条件时,可以考虑按顺序遍历,与每个区间进行对比,进行匹配。区间表(表中每一元素表示的是一个范围的数据)的查找是一个常见的问题,在表的长度较小或要查找元素的数量不多的情况下,折半查找是一种不错并且容易实现的算法,也容易使用硬件实现,也适合网卡设备。具体的二分法查找过程可参考图9,图9为本申请实施例提供的一种通过二分法实现区间表查找的流程图。
可以理解的是,在大型的系统中,网卡确实需要匹配较多数量区间表,还可选择其他的区间表快速查找算法,具体可根据实际需求进行选择,在此不再赘述。
步骤230、根据所述当前中断策略对所述网卡向Host主机发起中断请求的时机进行实时调控。
在一些实施例中,所述根据所述当前中断策略实时调控所述网卡向Host主机发起中断请求的时机,包括:
在当前网络环境不满足第一预设条件的情况下,根据所述当前中断策略实时调控所述网卡向Host主机发起中断请求的时机。
在一些实施例中,在所述统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数之前,还包括:
在当前网络环境满足第一预设条件和/或所述Host主机的繁忙程度值不小于预设阈值的情况下,所述网卡保持所述当前中断策略不变。
需要说明的是,虽然采样时间为
Figure SMS_165
一般可设为
Figure SMS_166
,这是为了保证统计窗口内的数据包个数的必要数据值。但是,隔多长时间匹配一下中断策略匹配,并且更新自适应的中断管理策略,这个可以灵活而定(等待时间一定是
Figure SMS_167
是的整数倍,但是不一定要等于
Figure SMS_168
)。
进一步需要说明的是,在进行中断策略更新时需要考虑以下因素:
(1)当前网络环境的稳定性,当前网络环境越稳定就越不需要经常更新中断策略;
(2)更新一次的代价(资源消耗量),如果每次更新中断策略需要花费的代价特别大,那么也就不需要经常更新中断策略了;
(3)主机的Busy程度,如果当前主机处理其他事务已经很忙了,就暂时等一下再更新中断策略;
(4)以及其他影响中断管理的策略的因素,具体可结合实际需求。
本实施例提供的应用于网卡的中断调控方法可灵活确定并调整自适应中断模型的具体中断策略。具体的:统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数,并根据所述第一个数通过预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数;根据数据包个数与中断策略之间的对应关系和所述第二个数确定当前中断策略;根据所述当前中断策略对所述网卡向Host主机发起中断请求的时机进行实时调控。可基于未来一段时间内的数据包个数,灵活确定并调整自适应中断模型的具体中断策略,解决了在网卡和Host主机通信的过程中Host主机频繁的进出中断,进而影响Host主机和整个系统的性能的问题。
实施例二
本实施例提供一种应用于网卡的中断调控装置,本装置实施例可以用于执行本申请方法实施例,对于本装置实施例中未披露的细节,请参照本申请方法实施例。图10为本申请实施例提供的一种装置的结构示意图,如图10所示,本实施例提供的装置1000包括:
统计及评估模块1001,用于统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数,并根据所述第一个数通过预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数;
中断策略确定模块1002,用于根据数据包个数与中断策略之间的对应关系和所述第二个数确定当前中断策略;
调控模块1003,用于根据所述当前中断策略对所述网卡向Host主机发起中断请求的时机进行实时调控。
在一些实施例中,还包括对应关系确定模块,用于在所述统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数之前,确定数据包个数与中断策略之间的对应关系。
在一些实施例中,所述预设评估模型,包括:
滑动窗口模型、加权窗口模型以及经验值加权模型中的一项或多项。
在一些实施例中,所述滑动窗口模型,包括:
Figure SMS_169
其中,
Figure SMS_170
表示一个时间窗口的时间值,
Figure SMS_171
为当前时刻之前的一个时间窗口
Figure SMS_172
内接收到的数据包个数,
Figure SMS_173
为预测的当前时刻之后的一个时间窗口
Figure SMS_174
内接收到的数据包个数。
在一些实施例中,所述加权窗口模型,包括:
Figure SMS_175
其中,n为当前时刻之前的时间窗口
Figure SMS_176
的个数,
Figure SMS_177
为过去的第i个时间窗口
Figure SMS_178
内接收到的数据包个数,
Figure SMS_179
Figure SMS_180
对应的权重值,
Figure SMS_181
为预测的当前时刻之后的一个时间窗口内接收到的数据包个数。
在一些实施例中,所述经验值加权模型,包括:
Figure SMS_182
其中,n为当前时刻之前的时间窗口
Figure SMS_184
的个数,m为不重复周期时间段的总个数,
Figure SMS_187
为过去的第i个时间窗口
Figure SMS_190
内接收到的数据包个数,
Figure SMS_185
Figure SMS_186
对应的权重值,
Figure SMS_189
为第j个不重复周期时间段的一个时间窗口
Figure SMS_192
内数据包的个数,
Figure SMS_183
Figure SMS_188
对应的权重值,
Figure SMS_191
为预测的当前时刻之后的一个时间窗口内接收到的数据包个数。
在一些实施例中,所述统计及评估模块1001包括:确定单元和评估单元;其中,
确定单元,用于确定所述Host主机的繁忙程度值;
评估单元,用于根据所述第一个数和所述繁忙程度值通过所述预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数。
在一些实施例中,通过预设统计模型统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数,其中所述预设统计模型包括:
累加统计模型和/或头尾采样统计模型;
其中,所述累加统计模型统计每个时间窗中口所有采样时间内接收到的数据包的个数;所述头尾采样统计模型只统计每个时间窗口头部和尾部位置处采样时间内接收到的数据包的个数,所述每个时间窗口均包括多个采样时间。
在一些实施例中,将所有采样时间内接收到的数据包的个数均保存预设线性表中。
在一些实施例中,所述调控模块1003,用于在当前网络环境不满足第一预设条件的情况下,根据所述当前中断策略实时调控所述网卡向Host主机发起中断请求的时机。
在一些实施例中,还包括保持模块,用于在所述统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数之前,在当前网络环境满足第一预设条件和/或所述Host主机的繁忙程度值不小于预设阈值的情况下,所述网卡保持所述当前中断策略不变。
在一些实施例中,所述中断策略确定模块1002,用于根据所述第二个数和所述对应关系通过等长区间匹配或区间查找的方式确定当前中断策略;
其中,在所述对应关系满足第二预设条件的情况下通过所述等长区间匹配的方式确定所述当前中断策略;在所述对应关系不满足第二预设条件的情况下通过所述区间查找的方式确定所述当前中断策略。
本领域技术人员可以理解,图10中示出的结构并不构成对本申请实施例装置的限定,可以包括比图示更多或更少的模块/单元,或者组合某些模块/单元,或者不同的模块/单元布置。
需要说明的是,上述各个模块/单元可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块/单元而言,上述各个模块/单元可以位于同一处理器中;或者上述各个模块/单元还可以按照任意组合的形式分别位于不同的处理器中。
本实施例提供的装置包括:统计及评估模块1001,用于统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数,并根据所述第一个数通过预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数;中断策略确定模块1002,用于根据数据包个数与中断策略之间的对应关系和所述第二个数确定当前中断策略;调控模块1003,用于根据所述当前中断策略对所述网卡向Host主机发起中断请求的时机进行实时调控。可基于未来一段时间内的数据包个数,灵活确定并调整自适应中断模型的具体中断策略,解决了在网卡和Host主机通信的过程中Host主机频繁的进出中断,进而影响Host主机和整个系统的性能的问题。
实施例三
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时可以实现如前述方法实施例中的方法步骤,本实施例在此不再重复赘述。
其中,计算机可读存储介质还可单独包括计算机程序、数据文件、数据结构等,或者包括其组合。计算机可读存储介质或计算机程序可被计算机软件领域的技术人员具体设计和理解,或计算机可读存储介质对计算机软件领域的技术人员而言可以是公知和可用的。计算机可读存储介质的示例包括:磁性介质,例如硬盘、软盘和磁带;光学介质,例如,CDROM盘和DVD;磁光介质,例如,光盘;和硬件装置,具体被配置以存储和执行计算机程序,例如,只读存储器(ROM)、随机存取存储器(RAM)、闪存;或服务器、app应用商城等。计算机程序的示例包括机器代码(例如,由编译器产生的代码)和包含高级代码的文件,可由计算机通过使用解释器来执行高级代码。所描述的硬件装置可被配置为用作一个或多个软件模块,以执行以上描述的操作和方法,反之亦然。另外,计算机可读存储介质可分布在联网的计算机系统中,可以分散的方式存储和执行程序代码或计算机程序。
实施例四
图11为本申请实施例提供的一种电子设备的连接框图,如图11所示,该电子设备1100可以包括:一个或多个处理器1101,存储器1102,多媒体组件1103,输入/输出(I/O)接口1104,以及通信组件1105。
其中,一个或多个处理器1101用于执行如前述方法实施例中的全部或部分步骤。存储器1102用于存储各种类型的数据,这些数据例如可以包括电子设备中的任何应用程序或方法的指令,以及应用程序相关的数据。
一个或多个处理器1101可以是专用集成电路(ApplicationSpecific IntegratedCircuit,简称ASIC)、数字信号处理器(Digital SignalProcessor,简称DSP)、数字信号处理设备(Digital SignalProcessing Device,简称DSPD)、可编程逻辑器件(ProgrammableLogic Device,简称PLD)、现场可编程门阵列(FieldProgrammable GateArray,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行如前述方法实施例中的方法。
存储器1102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static RandomAccess Memory,简称SRAM),电可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
多媒体组件1103可以包括屏幕和音频组件,该屏幕可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或通过通信组件发送。音频组件还包括至少一个扬声器,用于输出音频信号。
I/O接口1104为一个或多个处理器1101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。
通信组件1105用于该电子设备1100与其他设备之间进行有线或无线通信。有线通信包括通过网口、串口等进行通信;无线通信包括:Wi-Fi、蓝牙、近场通信(NearFieldCommunication,简称NFC)、2G、3G、4G、5G,或它们中的一种或几种的组合。因此相应的该通信组件1105可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
综上,本申请提供的一种应用于网卡的中断调控方法、应用于网卡的中断调控装置、计算机可读存储介质以及电子设备。可灵活确定并调整自适应中断模型的具体中断策略。具体的:统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数,并根据所述第一个数通过预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数;根据数据包个数与中断策略之间的对应关系和所述第二个数确定当前中断策略;根据所述当前中断策略对所述网卡向Host主机发起中断请求的时机进行实时调控。可基于未来一段时间内的数据包个数,灵活确定并调整自适应中断模型的具体中断策略,解决了在网卡和Host主机通信的过程中Host主机频繁的进出中断,进而影响Host主机和整个系统的性能的问题。
另外应该理解到,在本申请所提供的实施例中所揭露的方法或系统,也可以通过其它的方式实现。以上所描述的方法或系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的方法和装置的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、计算机程序段或计算机程序的一部分,模块、计算机程序段或计算机程序的一部分包含一个或多个用于实现规定的逻辑功能的计算机程序。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生,实际上也可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机程序的组合来实现。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、装置或者设备中还存在另外的相同要素;如果有描述到“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系;在本申请的描述中,除非另有说明,术语“多个”、“多”的含义是指至少两个;如果有描述到服务器,需要说明的是,服务器可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是能够提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器;在本申请中如果有描述到智能终端或移动设备,需要说明的是,智能终端或移动设备可以是手机、平板电脑、智能手表、上网本、可穿戴电子设备、个人数字助理(PersonalDigital Assistant,PDA)、增强现实技术设备(AugmentedReality,AR)、虚拟现实设备(Virtual Reality,VR)、智能电视、智能音响、个人计算机(PersonalComputer,PC)等,但并不局限于此,本申请对智能终端或移动设备的具体形式不做特殊限定。
最后需要说明的是,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“一个示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式进行结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例都是示例性的,所述的内容只是为了便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属技术领域内的技术人员,在不脱离本申请所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本申请的保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (13)

1.一种应用于网卡的中断调控方法,其特征在于,所述方法包括:
确定数据包个数与中断策略之间的对应关系;
统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数,并确定Host主机的繁忙程度值,根据所述第一个数和所述繁忙程度值通过预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数;
根据所述数据包个数与中断策略之间的对应关系和所述第二个数确定当前中断策略;
根据所述当前中断策略对所述网卡向所述Host主机发起中断请求的时机进行实时调控;其中,所述当前中断策略包括:
在当前已接收到数据包且所述第二个数较少的情况下,发起中断请求;
在当前已接收到数据包且所述第二个数较多的情况下,在延迟一定时长以收集多个数据包之后再发起中断请求。
2.根据权利要求1所述的应用于网卡的中断调控方法,其特征在于,所述预设评估模型,包括:
滑动窗口模型、加权窗口模型以及经验值加权模型中的一项或多项。
3.根据权利要求2所述的应用于网卡的中断调控方法,其特征在于,所述滑动窗口模型,包括:
Figure QLYQS_1
其中,
Figure QLYQS_2
表示一个时间窗口的时间值,
Figure QLYQS_3
为当前时刻之前的一个时间窗口
Figure QLYQS_4
内接收到的数据包个数,
Figure QLYQS_5
为预测的当前时刻之后的一个时间窗口
Figure QLYQS_6
内接收到的数据包个数。
4.根据权利要求2所述的应用于网卡的中断调控方法,其特征在于,所述加权窗口模型,包括:
Figure QLYQS_7
其中,n为当前时刻之前的时间窗口
Figure QLYQS_8
的个数,
Figure QLYQS_9
为过去的第i个时间窗口
Figure QLYQS_10
内接收到的数据包个数,
Figure QLYQS_11
Figure QLYQS_12
对应的权重值,
Figure QLYQS_13
为预测的当前时刻之后的一个时间窗口内接收到的数据包个数。
5.根据权利要求2所述的应用于网卡的中断调控方法,其特征在于,所述经验值加权模型,包括:
Figure QLYQS_14
其中,n为当前时刻之前的时间窗口
Figure QLYQS_16
的个数,m为不重复周期时间段的总个数,
Figure QLYQS_19
为过去的第i个时间窗口
Figure QLYQS_22
内接收到的数据包个数,
Figure QLYQS_17
Figure QLYQS_18
对应的权重值,
Figure QLYQS_21
为第j个不重复周期时间段的一个时间窗口
Figure QLYQS_24
内数据包的个数,
Figure QLYQS_15
Figure QLYQS_20
对应的权重值,
Figure QLYQS_23
为预测的当前时刻之后的一个时间窗口内接收到的数据包个数。
6.根据权利要求1所述的应用于网卡的中断调控方法,其特征在于,通过预设统计模型统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数,其中所述预设统计模型包括:
累加统计模型和/或头尾采样统计模型;
其中,所述累加统计模型统计每个时间窗中口所有采样时间内接收到的数据包的个数;所述头尾采样统计模型只统计每个时间窗口头部和尾部位置处采样时间内接收到的数据包的个数,所述每个时间窗口均包括多个采样时间。
7.根据权利要求6所述的应用于网卡的中断调控方法,其特征在于,将所有采样时间内接收到的数据包的个数均保存预设线性表中。
8.根据权利要求1所述的应用于网卡的中断调控方法,其特征在于,所述根据所述当前中断策略对所述网卡向所述Host主机发起中断请求的时机进行实时调控,还包括:
在当前网络环境不满足第一预设条件的情况下,根据所述当前中断策略实时调控所述网卡向所述Host主机发起中断请求的时机。
9.根据权利要求1所述的应用于网卡的中断调控方法,其特征在于,在所述统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数之前,还包括:
在当前网络环境满足第一预设条件和/或所述Host主机的繁忙程度值不小于预设阈值的情况下,所述网卡保持所述当前中断策略不变。
10.根据权利要求1所述的应用于网卡的中断调控方法,其特征在于,所述根据所述数据包个数与中断策略之间的对应关系和所述第二个数确定当前中断策略,包括:
根据所述第二个数和所述对应关系通过等长区间匹配或区间查找的方式确定当前中断策略;
其中,在所述对应关系满足第二预设条件的情况下通过所述等长区间匹配的方式确定所述当前中断策略;在所述对应关系不满足第二预设条件的情况下通过所述区间查找的方式确定所述当前中断策略。
11.一种应用于网卡的中断调控装置,其特征在于,包括:
对应关系确定模块,用于确定数据包个数与中断策略之间的对应关系;
统计及评估模块,用于统计当前时刻之前一个或多个时间窗口内接收到的数据包的第一个数,并确定Host主机的繁忙程度值,根据所述第一个数和所述繁忙程度值通过预设评估模型估算当前时刻之后一个时间窗口内接收到的数据包的第二个数;
中断策略确定模块,用于根据所述数据包个数与中断策略之间的对应关系和所述第二个数确定当前中断策略;
调控模块,用于根据所述当前中断策略对所述网卡向所述Host主机发起中断请求的时机进行实时调控;其中,所述当前中断策略包括:
在当前已接收到数据包且所述第二个数较少的情况下,发起中断请求;
在当前已接收到数据包且所述第二个数较多的情况下,在延迟一定时长以收集多个数据包之后再发起中断请求。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储的计算机程序,当被一个或多个处理器执行时,实现如权利要求1~10中任一项所述的应用于网卡的中断调控方法。
13.一种电子设备,其特征在于,包括存储器和一个或多个处理器,所述存储器上存储有计算机程序,所述存储器和所述一个或多个处理器之间互相通信连接,当所述计算机程序被所述一个或多个处理器执行时,执行如权利要求1~10中任一项所述的应用于网卡的中断调控方法。
CN202211629282.2A 2022-12-19 2022-12-19 应用于网卡的中断调控方法、装置、存储介质及电子设备 Active CN115632948B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211629282.2A CN115632948B (zh) 2022-12-19 2022-12-19 应用于网卡的中断调控方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211629282.2A CN115632948B (zh) 2022-12-19 2022-12-19 应用于网卡的中断调控方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN115632948A CN115632948A (zh) 2023-01-20
CN115632948B true CN115632948B (zh) 2023-03-07

Family

ID=84910167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211629282.2A Active CN115632948B (zh) 2022-12-19 2022-12-19 应用于网卡的中断调控方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN115632948B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110933135A (zh) * 2019-10-31 2020-03-27 苏州浪潮智能科技有限公司 在计算机设备中建立网络连接的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510403B2 (en) * 2010-06-30 2013-08-13 Juniper Networks, Inc. Self clocking interrupt generation in a network interface card
CN107277062B (zh) * 2017-08-09 2019-12-24 北京中科威荣计算机技术有限公司 数据包的并行处理方法及装置
CN109787777B (zh) * 2017-11-10 2020-04-03 北京金山云网络技术有限公司 一种网卡模式切换方法、装置、电子设备及存储介质
SG11202011745TA (en) * 2020-03-17 2021-10-28 Pt Aplikasi Karya Anak Bangsa Methods, systems, and devices for managing service requests and pricing policies for services provided by service providers to users

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110933135A (zh) * 2019-10-31 2020-03-27 苏州浪潮智能科技有限公司 在计算机设备中建立网络连接的方法和装置

Also Published As

Publication number Publication date
CN115632948A (zh) 2023-01-20

Similar Documents

Publication Publication Date Title
US10318467B2 (en) Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system
US10679145B2 (en) System and method for balancing computation with communication in parallel learning
CN114039918B (zh) 一种信息年龄优化方法、装置、计算机设备及存储介质
US20100005468A1 (en) Black-box performance control for high-volume throughput-centric systems
Xie et al. Pandas: robust locality-aware scheduling with stochastic delay optimality
CN113453045B (zh) 网络带宽预测方法、系统、设备及存储介质
CN112579194A (zh) 基于时延和事务吞吐量的区块链共识任务卸载方法及装置
CN108769253B (zh) 一种分布式系统访问性能优化的自适应预取控制方法
He et al. Virtual service placement for edge computing under finite memory and bandwidth
CN109688065B (zh) 参数的处理方法、装置及存储介质
CN115632948B (zh) 应用于网卡的中断调控方法、装置、存储介质及电子设备
US9298652B2 (en) Moderated completion signaling
US9998347B2 (en) Monitoring device usage
US9537740B2 (en) Monitoring device usage
US9437205B2 (en) Method, application, and device for audio signal transmission
CN114337916B (zh) 一种网络传输速率调整方法、装置、设备及存储介质
CN115499513A (zh) 数据请求的处理方法、装置、计算机设备和存储介质
CN116339872A (zh) 基于滑动窗口的数据处理方法、流处理系统、介质与设备
CN114079953A (zh) 无线网络系统的资源调度方法、装置、终端及存储介质
CN109508433B (zh) 基于匹配算法性能调整的负载波动应对方法和系统
CN108833138B (zh) 一种错误累积敏感的增量式动态社区发现方法及系统
CN112199153A (zh) 一种虚拟网络功能vnf实例部署方法及装置
CN112714037A (zh) 一种线上服务质量的保障性能评估方法、装置及设备
CN113438743B (zh) 一种自适应多服务器轮询接入控制方法及系统
WO2014180100A1 (en) Method, application, and device for audio signal transmission

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant