专利名称:一种多核处理器中断资源优化处理系统和方法
技术领域:
本发明涉及一种计算机资源管理技术领域,特别是涉及一种多核处理器中断资 源优化处理系统和方法。
背景技术:
在计算机系统中,为了能够有效地处理一些突发、紧急、优先的任务,需要在计算 机工作的过程中,中断正在执行的工作任务并保留现场环境而处理中断任务。
中断工作原理是在计算机系统中,中断具有高的优先级,在发明中断请求时,只 要产生中断事件,计算机系统将执行相应的中断任务,并且在执行完中断任务后才执行正 常的工作任务。现有计算机系统的中断包括程序性中断、外中断、输入输出中断、硬件故障 中断、访管中断等。
现有的计算机系统中,能够有效地实现中断的方法有很多种,例如,中断合并(主 要应用于NIC (Network Interfance Card,网络接口卡)流量包的接收,其中在引起中断 前一次性接收多个包)、混合轮询中断、TCP减负引擎(TCP Offload Engine, TOE)、RDMA (Remote Direct Memory Access,远程直接数据存取)/DDP (Direct Data Placement,直接 数据放置)等方法。但是,现有技术中这些方法大部分是针对NIC接口的数据处理中断方 法,而不是针对整个系统的中断管理方法,而且其中有延迟和不确定的因素在内。
而且,自多核技术提出以后,多核处理器是公认的计算机设计趋势,如果整个多核 系统的中断处理没有得到很好的优化,则有可能造成关键业务实时任务得不到计算资源及 时的处理。
而现有技术一种解决方法是只仅对NIC中断进行优化,通过增加NIC处理的中断 率,解决计算能力的不足。这样的优化方法既没有考虑到单线程处理任务的连贯性,也没有 考虑到多核心多线程的相关性,造成多操作加锁解锁的运算开销增大等问题,其有效计算 的性价比并不高。
为克服只针对NIC的中断管理所存在的缺陷,人们对现有的中断优化方法进行多 种探讨和改进。
现有技术中的一种多核中断管理方法,其同类设备对于中断的优先级别使用的是 操作系统默认处理方式。但其只对系统默认硬件中断进行优化,对软中断没有进行优化,对 于处理器亲和力没有任何优化,而其优先顺序应用于通用类计算机设备,未结合设备本身、 计算需求和性能优化进行设计。
同时,使用默认方式的中断优化处理方法,没有考虑到软中断的优先问题,没办法 集中优势资源去解决数据流最需要优先处理的内容,而处理器资源被迫用于硬件设备的低 级中断信号的请求,不能优先完成高流量高并发的数据计算任务,不能满足业务的需求和 闻速的目标。
同时,同类设备往往通过加大了处理器自身性能的要求来提高性能,而缺乏对中 断方式的管理。
现有技术中另一种改进的多核中断管理方法,其通过对中断进行广播,由处理器 (热组)进行中断的响应,该方法通过广播的方式实现负载均衡的调度。其计算机系统中的 中断控制器根据优先级以广播的方式发送给处理器的中断寄存器中,等待处理器中断调度 器进行提取,并以广播的方式发送给处理器(热组)进行处理,处理器根据自身的负载反馈 工作状态,并向其他处理器进行中断任务的交换,解决繁忙时中断处理的问题。但其没有考 虑到处理器工作的连续性、软硬中断优先级动态调整、处理信号反复传递的开销和衰减问 题。
综上所述,现有技术中的计算机系统中断优化基于属于对中断的响应和反馈基础 的实现,没有考虑到结合应用和硬件计算能力和不同进行合理的优化,硬件和软件中断的 优先级没有通过优化进行重新的排序处理,也没有对指定处理器进行严格的限定和控制。 并且现有技术对中断的处理环节太过于分散,不利于统一的调度管理和维护。发明内容
本发明的目的在于提供一种多核处理器中断资源优化处理系统和方法,其优化 计算机的中断资源分配,提高实时任务的速度,从而提高计算机的整体性能。
为实现本发明目的而提供的一种多核处理器中断资源优化处理系统,包括处理器 中断调度器,以及多个处理器,还包括线程化中断管理器,用于截获全部发往所述多个处理 器的中断请求,并根据预设的优化仲裁规则对所述中断请求进行优先级调整,对所述中断 请求的优先级进行重新排序,然后将排序后的所述中断请求按排序后的顺序发送到所述处 理器中断调度器进行调度至所述多个处理器处理。
较优地,所述的多核处理器中断资源优化处理系统,还包括多个中断传感器,用于 在计算机系统产生至少一个中断请求后,接收所述中断请求的信息,并将所述中断请求的 信息发往所述线程化中断管理器。
较优地,所述的多核处理器中断资源优化处理系统,还包括与所述多个中断传感 器相应的多个中断信息寄存器,以及与所述多个处理器相应的多个处理器中断寄存器,其 中所述多个中断信息寄存器,用于缓存从所述多个中断传感器发往所述线程化中断管理 器的所述中断请求的信息;所述多个处理器中断寄存器,用于缓存从所述线程化中断管理器发送到所述处理器中 断调度器的至少一个重新排序的所述中断请求的信息;所述处理器中断调度器根据至少一个重新排序的所述中断请求的信息中的优先级,对 所述中断请求进行排队后,输入到所述多个处理器进行中断处理。
较优地,所述线程化中断管理器,包括截获模块,排序表存储模块,排序模块,发送 模块,其中所述截获模块,用于当计算机系统产生中断请求,将所述中断请求的信息由所述中断 传感器或者中断信息寄存器发往所述多个处理器的过程中,截获所述中断请求的信息,并 将所述中断请求的信息发往排序模块;所述排序表存储模块,用于存储根据预设的优化仲裁规则对全部中断请求的优先级进 行重新排序的中断排序表;所述排序模块,用于在接收到所述截获模块截获到的所述中断请求的信息后,与所述 排序表存储模块中的相应排序表的相应中断请求进行相比较,并根据中断排序表对所述截 获的中断请求的优先级重新进行优化,并将优化后的所述中断请求的信息传输到所述发送 模块;所述发送模块,用于将所述重新排序后的中断请求的信息发送到所述处理器中断调度器。
较优地,所述线程化中断管理器还包括亲和力设置模块和线程化判断模块,其 中所述亲和力设置模块,用于根据所述中断请求的类别,按预先设定亲和力规则将所述 中断请求分配到指定的处理器对应的处理器中断寄存器,绑定所述指定的处理器处理所述 中断请求;所述线程化判断模块用于根据所述中断请求中的无延迟标志判断该中断请求是否可 以重新进行优化调整。
为实现本发明目的还提供一种多核处理器中断资源优化处理方法,包括如下步 骤步骤A,截获全部发往多核处理器中多个处理器的中断请求,并根据预设的优化仲裁规 则对全部中断请求进行优先级调整,对中断请求的优先级进行重新排序;步骤B,将排序后的所述中断请求按排序后的顺序发送到所述处理器中断调度器进行 调度至处理器处理。
较优地,所述步骤A之前,还包括下列步骤步骤A’,在计算机系统产生至少一个中断请求后,多个中断传感器接收中断请求的信 息,再进入步骤A ;所述步骤B之后,还包括下列步骤步骤B’,处理器中断调度器根据至少一个重新排序的中断请求的信息中的优先级,对 所述中断请求进行排队后,输入到多个处理器进行中断处理。
较优地,所述步骤A’包括下列步骤步骤A10’,从计算机系统产生的中断请求,包括陷阱、故障、终止的中断请求,传输到中 断传感器处;其中,每个中断请求的信息包括一个唯一的中断请求编号字节或者向量,所述中断请 求的编号字节或者向量包括中断请求的IRQ_ID0位、优先级处理级别位、向处理器分发中 断的方式位、生存值位和无延迟标志位;步骤A20’,以时钟周期向中断传感器进行扫描,获得中断传感器的中断请求的信息,转 存到中断信息寄存器当中,并清理中断传感器中的中断请求的信息;较优地,所述步骤A包括如下步骤步骤A10,线程化中断管理器按设定的时钟周期截获并复制和删除中断信息寄存器中 缓存的中断请求的息;步骤A20,根据所述中断请求中的无延迟标志判断该中断请求是否可以重新进行优化 调整;如果是,则进入步骤A30 ;否则,转入步骤B’,直接将中断请求发送到处理器中断调度 器进行处理;步骤A30,将中断请求的信息以源中断请求的IRQ_ID设定为索引,对应到线程化中断 管理器的优先级排序表当中的源列,并通过对应于源列的优先级排序表中目的列进行优化 调整,重新对其优先级进行排序,改写排序的优先处理级别,并将重新排序后的中断请求的 信息存储到线程化中断管理器当中。
较优地,所述线程化中断管理器的优先级排序表,是根据预设的优化仲裁规则进 行设置的中断请求的优先级的数据库列表模块,其包括源列、目的列、时间值;所述源列包括源IRQ_ID、源优先处理级别、源向处理器分发中断的方式、源生存值; 所述目的列包括目的IRQ_ID、目的优先处理级别、目的向处理器分发中断的方式、目的 生存值;所述时间值包括中断请求工作开始时间、上一次读取中断时间、中断读取时间间隔和 实时的记录内容行。
较优地,所述步骤B包括下列步骤根据设定的时钟周期,判断并在满足条件时,从线程化中断管理器处复制并删除中断 请求的信息,包括重新排序好的IRQ_ID、优先处理级别、向处理器分发中断的方式和生存值。
较优地,所述判断并满足条件,包括如下步骤步骤B10,判断从线程化中断管理器复制的中断请求的信息中的所述向处理器分发中 断的方式里,是否有指定处理器的ID ;如果有指定处理器的ID,则进入步骤B20 ;如果没有 指定处理器的ID,则进入步骤B30 ;步骤B20,将从线程化中断管理器复制的中断请求的信息中的所述向处理器分发中断 的方式与指定的处理器中断寄存器内已经存在的中断请求的信息进行比对,判断从线程化 中断管理器复制的中断请求的优先级是否更优先于指定的处理器中断寄存器中已经有的 中断请求的优先级;如果是,则将所述从线程化中断管理器复制的中断请求传输给指定的 处理器中断寄存器;否则,直接返回线程化中断管理器,并且不删除所述中断请求的信息; 步骤B30,在没有指定中断处理器的情况下,中断请求的信息与处理器中断寄存器进行 协商,确定那个处理器来接收当前中断请求的处理;如果协商成功,则进入步骤B20进行处 理;如果协商不成功,则返回线程化中断管理器,并且不删除中断请求的记录行。
较优地,所述步骤B’包括下列步骤步骤B10’,处理器中断寄存器接收到线程化中断管理器处优化过的中断请求的信息, 并将中断请求按线程化中断管理器中重排的优化顺序进行重新排序,缓存到处理器中断寄 存器的重新排序后的中断请求的记录列表当中;步骤B20’,处理器中断调度器记录当前处理器的工作状态,并按设定周期查询处理器 中断寄存器当中的重新排序后的中断请求的记录列表,与处理器中断调度器中的中断请求 的记录进行对比,进入步骤B30’ ;所述工作状态包括当前中断任务数量,每个中断任务的IRQ_ID、优先级别、执行状态是 否处于挂起,当前运行状态的任务编号;步骤B30’,根据与处理器中断寄存器中比对的判断结果,确定是否有优先级更高的 中断请求需要处理;如果有,则进入指定的处理器;如果没有,则返回处理器中断寄存器当 中,返回步骤B10’等待处理;步骤MO’,处理器分别接收处理器中断调度器提供的最新中断请求,向处理器中断调 度器响应并告知会暂停和挂机当前正在处理的任务;并在完成最高级别的中断任务后,再 进行当前队列中优先级最高的中断任务。
本发明的有益效果是本发明的多核处理器中断资源优化处理系统和方法,通过 中断线程化后的软硬中断优先级调整,将多核处理器的中断任务进行优化排序,其优化处 理器的中断资源分配,提高实时任务的优先处理效率,提高了设备的实时任务和数据处理 性能,从而提高计算机中多核处理器的整体性能,减少硬件制造成本的投入。并且,其通过 分配处理器进行垂直任务处理,有助于减少多线程程序的锁操作,增加亲和力控制。
图1是本发明实施例多核处理器中断资源优化处理系统结构示意图;图2是图1中所述线程化中断管理器结构示意图;图3是本发明实施例多核处理器中断资源优化处理方法流程图;图4是本发明实施例多核处理器中断资源优化处理方法以SMP体系结构为例的实施方 式流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明的多核处理器中断资源优化处理系统和方法进行进一步详细说明。应当理解,此处 所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的多核处理器中断资源优化处理系统和方法,通过改变计算机系统 中执行代码(包括实时程序)中的中断请求优先级的顺序,包括对硬件、软件中断请求的顺 序,改变多核处理器的处理器资源中实时任务的中断处理优先权,提高系统对核心应用的 计算速度。
如图1所示,本发明实施例的多核处理器中断资源优化处理系统,包括处理器中 断调度器105,以及多个处理器106。
作为一种可实施方式,本发明实施例的多核处理器中断资源优化处理系统,还包 括线程化中断管理器103。
所述线程化中断管理器103,用于截获全部发往多个处理器106的中断请求,并根 据预设的优化仲裁规则对所述中断请求进行优先级调整,对多核处理器的中断请求任务进 行调整,对中断请求的优先级进行重新排序,然后将排序后的所述中断请求按排序后的顺 序发送到所述处理器中断调度器105进行调度至处理器106处理。
所述截获的全部发往多核处理器中多个处理器106的至少一个中断请求,既包括 软中断(又称“软件中断”)请求,也包括硬中断(又称“硬件中断”)请求。
本发明实施例中截获中断请求是一种现有技术,本领域技术人员根据本发明公开 的内容,能够实现其中截获中断请求的技术方案,因此,在本发明实施例中,不再一一详细 描述。
较佳地,本发明实施例的多核处理器中断资源优化处理系统,还包括多个中断传 感器101,用于在计算机系统产生至少一个中断请求后,接收中断请求的信息,并将所述中 断请求的信息发往线程化中断管理器103。
进一步地,本发明实施例的多核处理器中断资源优化处理系统,还包括与所述多 个中断传感器101相应的多个中断信息寄存器102,以及与多个处理器106相应的多个处理 器中断寄存器104,其中所述多个中断信息寄存器102,用于缓存从所述多个中断传感器101发往线程化中断 管理器103的所述中断请求的信息。
所述多个处理器中断寄存器104,用于缓存从线程化中断管理器103发送到所述 处理器中断调度器105的至少一个重新排序的中断请求的信息。
处理器中断调度器105根据至少一个重新排序的中断请求的信息中的优先级,对 所述中断请求进行排队后,输入到多个处理器进行中断处理。
更佳地,如图2所示,所述线程化中断管理器103,包括截获模块201,排序表存储 模块205,排序模块204,发送模块206,其中所述截获模块201,用于当计算机系统产生中断请求,将所述中断请求的信息由所述中 断传感器101或者中断信息寄存器102发往所述处理器106的过程中,截获所述中断请求 的信息,并将所述中断请求的信息发往排序模块204。
所述排序表存储模块205,用于存储根据预设的优化仲裁规则对全部中断请求的 优先级进行重新排序的中断排序表。
所述排序模块204,用于在接收到所述截获模块201截获到的所述中断请求的信 息后,与所述排序表存储模块205中的相应排序表的相应中断请求进行相比较,并根据中 断排序表对所述截获的中断请求的优先级重新进行优化,并将优化后的所述中断请求的信 息传输到所述发送模块206。
所述发送模块206,用于将所述重新排序后的中断请求的信息发送到所述处理器 中断调度器105。
本发明实施例的多核处理器中断资源优化处理系统,结合设备和应用环境,在多 核处理器系统中,通过线程化中断管理器105,优化系统的软中断(又称“软件中断”)和硬中 断(又称“硬件中断”)。
更进一步地,本发明实施例的所述线程化中断管理器103,还包括亲和力设置模块 203,用于根据所述中断请求的类别,按预先设定亲和力规则将所述中断请求分配到指定的 处理器对应的中断寄存器104,绑定指定的处理器处理所述中断请求。
亲和力(CPU affinity)是指将一个或多个中断源绑定到特定的中断处理器上运 行,如软硬件中断请求截获到线程化中断管理器105进行中断优化时,按预先设定亲和力 规则分配到指定的处理器中断寄存器104中,绑定指定的处理器处理所述中断请求。
作为一种可实施方式,本发明实施例,通过调用一组相关的宏来设置亲和力模块 203,将一个或多个进程绑定到指定的一个或多个中断处理器106上运行。
例如,在操作系统中断信号目录中,对于已经注册中断处理程序的硬件设备,都 会在该目录下存在一个以该中断号命名的目录IRQ#,IRQ#目录下有一个smp_affinity 文件(SMP体系结构),它是一个处理器的位掩码,用于设置该中断的亲和力,默认值为Oxffffffff,表明把中断请求发送到所有的处理器106上去处理,通过改变该位掩码即可 改变其亲和力,将中断请求绑定到指定处理器进行处理。
更进一步地,本发明实施例的所述线程化中断管理器103,还包括线程化判断模块 202,用于根据所述中断请求中的无延迟标志判断该中断请求是否可以重新进行优化调整。
在计算机系统中,并不是所有的中断请求都可以被线程化,比如时钟中断是用来 维护系统时间以及定时器等,其中定时器是操作系统的脉搏,一旦被线程化,就有可能被挂 起,这样后果将不堪设想,所以不应当被线程化。因此,本发明实施例中,通过设置无延迟标 志位,并利用线程化判断模块202判断中断请求是否可以重新进行优化调整,如果某个中 断需要被实时处理,如时钟中断,用无延迟标志来声明自己非线程化,需要实时立即处理, 而不能进行重新排序等待。
本发明实施例的多核处理器中断资源优化处理系统,首先计算机系统的全部中断 请求,包括软中断和硬中断,被截获到线程化中断管理器这样一个中断控制器当中,进行中 断的线程化优化,从而使设备对特别中断请求计算处理的中断优先级别能够高于其它中断 请求的级别,包括硬件中断的优先级别,弱化普通中断任务(含硬件中断)的处理中断优先 级别,加快数据的处理。
相应地,本发明实施例还提供一种多核处理器中断资源优化处理方法,如图3所示,作 为一种可实施方式,包括如下步骤步骤S100,截获全部发往多核处理器中多个处理器106的中断请求,并根据预设的优 化仲裁规则对全部中断请求进行优先级调整,对多核处理器的中断请求任务进行调度变 化,对中断请求的优先级进行重新排序;所述截获的全部发往多核处理器中多个处理器106的至少一个中断请求,既包括软中 断(又称“软件中断”)请求,也包括硬中断(又称“硬件中断”)请求。
步骤S200,将排序后的所述中断请求按排序后的顺序发送到所述处理器中断调度 器105进行调度至处理器106处理。
较佳地,所述步骤SlOO之前,还包括下列步骤步骤S100’,在计算机系统产生至少一个中断请求后,多个中断传感器101接收中断 请求的信息,再进入步骤S100。
所述步骤S200之后,还包括下列步骤步骤S200’,处理器中断调度器105根据至少一个重新排序的中断请求的信息中的优 先级,对所述中断请求进行排队后,输入到多个处理器进行中断处理。
本发明实施例的多核处理器中断资源优化处理方法,有效地提高处理器的可用 性,集中优势资源处理优先级需求较高的实时应用中断请求,满足不同优先级任务的要求, 使高优先级中断任务不因软硬中断或者多核处理器得到及时处理,从而提高计算机处理器 性能,特别是端到端大流量高并发数据的处理速度要求。同时,通过将中断任务分配到多核 处理器的不同处理器当中进行处理,从而提高多核处理器的计算能力和亲和力。
如图4所不,下面以SMP (Symmetrical Mult1-Processing)体系结构为例,详细描述 本发明实施例的多核处理器中断资源优化处理系统和方法,但应当说明的是,本发明的计算机系统,并不限于SMP体系结构的系统。
步骤S100’,步骤S100’,在计算机系统产生至少一个中断请求后,多个中断传感器101接收中断请求的信息。
所述步骤SlOO’包括下列步骤步骤S110’,从计算机系统产生的中断请求,包括陷阱、故障、终止的中断请求,传输到中断传感器101处。
其中,每个中断请求的信息包括一个唯一的中断请求编号字节或者向量(如为8 位无符号整数),所述中断请求的编号字节或者向量包括中断请求的标签(IRQ_ID0)位、优先级处理级别位、向处理器分发中断的方式位、生存值位和无延迟标志位(例如用向量后四位表示优先级,0000表示第I优先级(最高优先级)、0001表示第2优先级……000F)。
较优地,非屏蔽中断和异常向量中断请求,如时钟中断请求的无延迟标志为1,表示不能重新进行优化调整,并且具有最高优先级,需要实时无延迟处理;而可屏蔽中断的无延迟标志为0,表示可重新进行优化调整,通过对线程化中断管理器103来改变优化调整。
步骤S120’,以时钟周期向中断传感器101进行扫描,获得中断传感器的中断请求的信息,转存到中断信息寄存器102当中,并清理中断传感器101中的中断请求的信息,包括中断IRQ_ID、优先处理级别、向处理器分发中断的方式、生存值和无延迟标志位。
这样,中断信息寄存器截获了实际发生的中断请求,并将具体的中断请求进行缓存。
其中,作为一种可实施方式,较佳地,可设置一中断信息寄存器102用于缓存硬件中断请求的信息,如网卡和硬盘的中断请求的信息;另设置一中断信息寄存器102用于缓存软件中断请求的信息,如键盘和应用的中断请求的信息。
步骤S100,截获全部发往多核处理器中多个处理器106的中断请求,并根据预设的优化仲裁规则对全部中断请求线程化,进行优先级调整,对多核处理器的中断请求任务进行调度变化,对中断请求的优先级进行重新排序;所述步骤Sioo包括如下步骤步骤S110,线程化中断管理器103按设定的时钟周期截获并复制和删除中断信息寄存器102中缓存的中断请求的信息,包括IRQ_ID、优先处理级别、向处理器分发中断的方式、 生存值和无延迟标志等。
步骤S120,根据所述中断请求中的无延迟标志判断该中断请求是否可以重新进行优化调整;如果是,则进入步骤S130 ;否则,转入步骤S200’,直接将中断请求发送到处理器中断调度器105进行处理。
步骤S130,将中断请求的信息以源中断请求的IRQ_ID设定为索引,对应到线程化中断管理器103的优先级排序表当中的源列,并通过对应于源列的优先级排序表中目的列进行优化调整,重新对其优先级进行排序,改写排序的优先处理级别,并将重新排序后的中断请求的信息存储到线程化中断管理器103当中。
较佳地,对于计算机系统产生的每一个新发生的中断请求,在这个步骤都会重新按设定排序优先级别,从而实现中断优先级的重新排序优化。
作为一种可实施方式,所述线程化中断管理器103的优先级排序表,是根据预设的优化仲裁规则进行设置的中断请求的优 先级的数据库列表模块,其包括源列、目的列、时间值等。
作为一种可实施方式,在不影响时钟中断和无延迟中断的前提下,以对目标应用 程序以及其相关的硬件设备做为优化方向,并根据硬件性能和设备性能目标进行调整,在 满负荷环境下,能最大发挥设备的可用性,同时不因任务延时造成导致内存溢出为调整依 据的经验。例如端到端流量内容检测时需要优化检测和指纹引擎以及网卡相关硬件。针 对所选设备内存、处理器型号,根据所用带宽流量大小和任务的多少,调整中断处理优先级 别,从而保证所有任务可以正常处理,核心应用可以优先处理,结合计算能力和内存处理能 力,保证设备正常运行不会溢出。
作为一种可实施方式,所述源列包括源IRQ_ID、源优先处理级别、源向处理器分 发中断的方式、源生存值;所述目的列包括目的IRQ_ID、目的优先处理级别、目的向处理器 分发中断的方式、目的生存值;所述时间值包括中断请求工作开始时间、上一次读取中断时 间、中断读取时间间隔和实时的记录内容行等。
本发明实施例中,作为一种可实施方式,所述优化调整,重新对其优先级进行排 序,改写排序的优先处理级别,可以是以非时钟中断请求为集合,根据预设的优化仲裁规 则,优化优先级别需求较高的核心级实时中断请求,通过优先级排序表进行优先级重新排 序,并根据业务需求和硬件设备的不同,在线程化中断管理器105设定中断信号IRQ的源优 先级别,并将信号指派给指定的处理器进行处理。
所述优化仲裁规则,是在对实时任务在有限次检测后,根据不同的中断请求的需 求和硬件设备响应时间要求,以经验值进行设定。
作为一种可实施方式,在设定优化仲裁规则时,根据系统中断请求进行了符合应 用安全引擎的合理要求的前提下,改变网络接口、应用网关安全引擎实时程序的中断请求 优先级别,同时降低了次重设备的中断级别,经过和所选硬件特性以及端到端内容检测技 术的反复结合和测试,将这些中断请求调整在系统最优的情况,在调试过程中总结出一套 实际有效的优先级别,结合所选硬件、中断的优先级和应用进行优化级别调整设定。在硬件 方面,提高处理网络数据接口的中断优先级别,使网络数据方面的响应需求优先级更高,更 快的插入队列,更快更多更优先地获得处理器的计算资源进行处理。同时对如端到端内容 检测技术这种实时应用程序进行了中断请求级别优化提高,提高处理优先级别,并自动分 配到不同的处理器当中进行处理。
进一步地,作为一种可实施方式,所述预设优化仲裁规则,也可以根据中断请求的 连续性相关性以及设备运行时间的现场繁忙状态的负载压力分析,进行优化仲裁规则的设 定;或者结合所述在对实时任务在有限次检测后,根据不同的中断请求的需求和硬件设备 响应时间要求,以经验值进行优化仲裁规则的设定。
根据中断请求的连续性相关性进行优化仲裁规则的设定,从而增加其亲和力;以 设备运行时的现场繁忙状态的负载压力进行分析后设定,从而分配给非亲和力限定的空闲 处理器进行处理。优先级别高的中断请求将优先于中断优先级别低的中断请求获得处理器 中断调度器105的分发,并由处理器106优先执行;优先级别低的中断请求被排队和等待处 理器中断调度器105重新调用处理。
步骤S200,将排序后的所述中断请求按排序后的顺序发送到所述处理器中断调度 器105进行调度至处理器106处理。
处理器中断寄存器104,根据设定的时钟周期,判断并在满足条件时,从线程化中 断管理器103处复制并删除中断请求的信息,包括重新排序好的IRQ_ID、优先处理级别、向 处理器分发中断的方式和生存值。
较佳地,如果向处理器分发中断的方式中的信息中指定了执行该中断请求的信 息,则将中断请求的信息存储到指定的处理器中断寄存器当中。
较佳地,所述判断并满足条件,包括如下步骤步骤S210,判断从线程化中断管理器103复制的中断请求的信息中的所述向处理器 分发中断的方式里,是否有指定处理器的标签(ID);如果有指定处理器的ID,则进入步骤 S220 ;如果没有指定处理器的ID,则进入步骤S230 ;步骤S220,将从线程化中断管理器103复制的中断请求的信息中的所述向处理器分发 中断的方式与指定的处理器中断寄存器104内已经存在的中断请求的信息进行比对,判断 从线程化中断管理器103复制的中断请求的优先级是否更优先于指定的处理器中断寄存 器104中已经有的中断请求的优先级;如果是,则将所述从线程化中断管理器103复制的中 断请求传输给指定的处理器中断寄存器104 ;否则,直接返回线程化中断管理器103,并且 不删除所述中断请求的信息;步骤S230,在没有指定中断处理器106的情况下,中断请求的信息与处理器中断寄存 器104进行协商,确定那个处理器来接收当前中断请求的处理;如果协商成功,则进入步骤 S220进行处理;如果协商不成功,则返回线程化中断管理器103,并且不删除其中断请求的 记录行。
所述协商确定是一种现有技术,因此在本发明实施例中,不再一一详细描述。
步骤S200’,处理器中断调度器105根据至少一个重新排序的中断请求的信息中 的优先级,对所述中断请求进行排队后,输入到多个处理器进行中断处理。
具体地,所述步骤S200’包括下列步骤步骤S210’,处理器中断寄存器104接收到线程化中断管理器103处优化过的中断请求 的信息,并将中断请求按线程化中断管理器103中重排的优化顺序进行重新排序,缓存到 处理器中断寄存器104的重新排序后的中断请求的记录列表当中。
步骤S220’,处理器中断调度器105记录当前处理器106的工作状态,并按设定周 期查询处理器中断寄存器104当中的重新排序后的中断请求的记录列表,与处理器中断调 度器105中的中断请求的记录进行对比,进入步骤S230’ ;所述工作状态包括当前中断任务数量,每个中断任务的IRQ_ID、优先级别、执行状态是 否处于挂起,当前运行状态的任务编号;步骤S230’,根据与处理器中断寄存器104中比对的判断结果,确定是否有优先级更高 的中断请求需要处理;如果有,则进入指定的处理器106 ;如果没有,则返回处理器中断寄 存器104当中,返回步骤S210’等待处理;这样,对于非时钟中断请求,其不会在多个处理器106之间进行广播转发,也不会被处 理器中断调度器105向多个处理器106进行广播,任何存储于处理器中断寄存器104中的 中断,只会发送给指定的处理器106进行执行处理,从而缩短了执行的时间。
步骤S240’,处理器106分别接收处理器中断调度器105提供的最新中断请求,向 处理器中断调度器105响应并告知会暂停和挂机当前正在处理的任务;并在完成最高级别的中断任务后,再进行当前队列中优先级最高的中断任务。
对于已经进入多核处理器106的中断信号,可直接通过调用唤醒函数中断处理线 程,并开始运行,调用硬中断函数来调整相应的中断优先级,该函数将判断是否有中断需要 被处理,如果有就调用处理中断事件函数来处理。处理中断事件函数将直接调用相应的中 断处理函数来完成中断处理。
本发明实施例,通过中断线程化管理器103转化不同的软硬件中断处理的优先级 别,分别提交给多核处理器106进行处理。当计算机系统中断请求再次发生时,通过中断传 感器101转发过来的中断请求,无论是软中断请求还是硬中断请求,其优先级都重新进行 优化调整,进行比较和排序后,将重新排序后的中断请求插入处理中断请求的队列中。
本发明实施例的多核处理器中断资源优化处理系统和方法,经实际对实时程序端 到端内容检测,在应用本发明的前后,通过测试对比表明,应用本发明多核处理器中断资源 优化处理系统和方法,在大流量高并发环境下计算机整体性能提升了 10%。
本发明实施例的多核处理器中断资源优化处理系统和方法,可以有效地提升对中 断优先级变化的整体管理,解决减少维护人员对中断管理环节过于分散的问题。通过对中 断应用在指定处理器中进行计算,提高了对处理器亲和力,从而有效的减少了多核多线程 的加锁减锁操作,提升了响应速度和处理速度,提升了处理器对优化中断信号的优先处理, 提高了核心业务的处理性能,快速有效的为设备升级建立高效的应用软件和硬件设备,也 可快速灵活的调整系统的优化。
最后应当说明的是,很显然,本领域的技术人员可以对本发明进行各种改动和变 型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要 求及其等同技术的范围之内,则本发明也意图包含这些改动和变型。
权利要求
1.一种多核处理器中断资源优化处理系统,包括处理器中断调度器(105),以及多个处理器(106),其特征在于还包括线程化中断管理器(103),用于截获全部发往所述多个处理器(106)的中断请求,并根据预设的优化仲裁规则对所述中断请求进行优先级调整,对所述中断请求的优先级进行重新排序,然后将排序后的所述中断请求按排序后的顺序发送到所述处理器中断调度器(105)进行调度至所述多个处理器(106)处理。
2.根据权利要求1所述的多核处理器中断资源优化处理系统,其特征在于,还包括多个中断传感器(101),用于在计算机系统产生至少一个中断请求后,接收所述中断请求的信息,并将所述中断请求的信息发往所述线程化中断管理器(103)。
3.根据权利要求2所述的多核处理器中断资源优化处理系统,其特征在于,还包括与所述多个中断传感器(101)相应的多个中断信息寄存器(102),以及与所述多个处理器 (106)相应的多个处理器中断寄存器(104),其中所述多个中断信息寄存器(102),用于缓存从所述多个中断传感器(101)发往所述线程化中断管理器(103)的所述中断请求的信息;所述多个处理器中断寄存器(104),用于缓存从所述线程化中断管理器(103)发送到所述处理器中断调度器(105)的至少一个重新排序的所述中断请求的信息;所述处理器中断调度器(105)根据至少一个重新排序的所述中断请求的信息中的优先级,对所述中断请求进行排队后,输入到所述多个处理器(106)进行中断处理。
4.根据权利要求1至3任一项所述的多核处理器中断资源优化处理系统,其特征在于,所述线程化中断管理器(103),包括截获模块(201),排序表存储模块(205),排序模块 (204),发送模块(206),其中所述截获模块(201),用于当计算机系统产生中断请求,将所述中断请求的信息由所述中断传感器(101)或者中断信息寄存器(102)发往所述多个处理器(106)的过程中,截获所述中断请求的信息,并将所述中断请求的信息发往排序模块(204);所述排序表存储模块(205),用于存储根据预设的优化仲裁规则对全部中断请求的优先级进行重新排序的中断排序表;所述排序模块(204 ),用于在接收到所述截获模块截获到的所述中断请求的信息后,与所述排序表存储模块(205)中的相应排序表的相应中断请求进行相比较,并根据中断排序表对所述截获的中断请求的优先级重新进行优化,并将优化后的所述中断请求的信息传输到所述发送模块(206);所述发送模块(206),用于将所述重新排序后的中断请求的信息发送到所述处理器中断调度器(105)。
5.根据权利要求4所述的多核处理器中断资源优化处理系统,其特征在于,所述线程化中断管理器(103),还包括亲和力设置模块(203)和线程化判断模块(202),其中所述亲和力设置模块(203),用于根据所述中断请求的类别,按预先设定亲和力规则将所述中断请求分配到指定的处理器(106)对应的处理器中断寄存器(104),绑定所述指定的处理器(106)处理所述中断请求;所述线程化判断模块(202),用于根据所述中断请求中的无延迟标志判断该中断请求是否可以重新进行优化调整。
6.一种多核处理器中断资源优化处理方法,其特征在于,包括如下步骤步骤A,截获全部发往多核处理器中多个处理器(106)的中断请求,并根据预设的优化仲裁规则对全部中断请求进行优先级调整,对中断请求的优先级进行重新排序;步骤B,将排序后的所述中断请求按排序后的顺序发送到所述处理器中断调度器 (105)进行调度至处理器(106)处理。
7.根据权利要求6所述的多核处理器中断资源优化处理方法,其特征在于所述步骤A之前,还包括下列步骤步骤A’,在计算机系统产生至少一个中断请求后,多个中断传感器(101)接收中断请求的信息,再进入步骤A ;所述步骤B之后,还包括下列步骤步骤B’,处理器中断调度器(105)根据至少一个重新排序的中断请求的信息中的优先级,对所述中断请求进行排队后,输入到多个处理器进行中断处理。
8.根据权利要求7所述的多核处理器中断资源优化处理方法,其特征在于,所述步骤 A’包括下列步骤步骤A10’,从计算机系统产生的中断请求,包括陷阱、故障、终止的中断请求,传输到中断传感器(101)处;其中,每个中断请求的信息包括一个唯一的中断请求编号字节或者向量,所述中断请求的编号字节或者向量包括中断请求的IRQ_ID0位、优先级处理级别位、向处理器分发中断的方式位、生存值位和无延迟标志位;步骤A20’,以时钟周期向中断传感器(101)进行扫描,获得中断传感器的中断请求的信息,转存到中断信息寄存器(102)当中,并清理中断传感器(101)中的中断请求的信息。
9.根据权利要求6或7所述的多核处理器中断资源优化处理方法,其特征在于,所述步骤A包括如下步骤步骤A10,线程化中断管理器(103)按设定的时钟周期截获并复制和删除中断信息寄存器(102)中缓存的中断请求的信息;步骤A20,根据所述中断请求中的无延迟标志判断该中断请求是否可以重新进行优化调整;如果是,则进入步骤A30 ;否则,转入步骤B’,直接将中断请求发送到处理器中断调度器(105)进行处理;步骤A30,将中断请求的信息以源中断请求的IRQ_ID设定为索引,对应到线程化中断管理器(103)的优先级排序表当中的源列,并通过对应于源列的优先级排序表中目的列进行优化调整,重新对其优先级进行排序,改写排序的优先处理级别,并将重新排序后的中断请求的信息存储到线程化中断管理器(103)当中。
10.根据权利要求9所述的多核处理器中断资源优化处理方法,其特征在于,所述线程化中断管理器(103)的优先级排序表,是根据预设的优化仲裁规则进行设置的中断请求的优先级的数据库列表模块,其包括源列、目的列、时间值;所述源列包括源IRQ_ID、源优先处理级别、源向处理器分发中断的方式、源生存值;所述目的列包括目的IRQ_ID、目的优先处理级别、目的向处理器分发中断的方式、目的生存值;所述时间值包括中断请求工作开始时间、上一次读取中断时间、中断读取时间间隔和实时的记录内容行。
11.根据权利要求6或7所述的多核处理器中断资源优化处理方法,其特征在于,所述步骤B包括下列步骤根据设定的时钟周期,判断并在满足条件时,从线程化中断管理器(103)处复制并删除中断请求的信息,包括重新排序好的IRQ_ID、优先处理级别、向处理器分发中断的方式和生存值。
12.根据权利要求11所述的多核处理器中断资源优化处理方法,其特征在于,所述判断并满足条件,包括如下步骤步骤B10,判断从线程化中断管理器(103)复制的中断请求的信息中的所述向处理器分发中断的方式里,是否有指定处理器的ID ;如果有指定处理器的ID,则进入步骤B20 ;如果没有指定处理器的ID,则进入步骤B30 ;步骤B20,将从线程化中断管理器(103)复制的中断请求的信息中的所述向处理器分发中断的方式与指定的处理器中断寄存器(104)内已经存在的中断请求的信息进行比对, 判断从线程化中断管理器(103)复制的中断请求的优先级是否更优先于指定的处理器中断寄存器(104)中已经有的中断请求的优先级;如果是,则将所述从线程化中断管理器(103) 复制的中断请求传输给指定的处理器中断寄存器(104);否则,直接返回线程化中断管理器 (103),并且不删除所述中断请求的信息;步骤B30,在没有指定中断处理器(106)的情况下,中断请求的信息与处理器中断寄存器(104)进行协商,确定那个处理器来接收当前中断请求的处理;如果协商成功,则进入步骤B20进行处理;如果协商不成功,则返回线程化中断管理器(103),并且不删除中断请求的记录行。
13.根据权利要求7所述的多核处理器中断资源优化处理方法,其特征在于,所述步骤 B’包括下列步骤步骤B10’,处理器中断寄存器(104)接收到线程化中断管理器(103)处优化过的中断请求的信息,并将中断请求按线程化中断管理器(103)中重排的优化顺序进行重新排序,缓存到处理器中断寄存器(104)的重新排序后的中断请求的记录列表当中;步骤B20’,处理器中断调度器(105)记录当前处理器(106)的工作状态,并按设定周期查询处理器中断寄存器(104)当中的重新排序后的中断请求的记录列表,与处理器中断调度器(105)中的中断请求的记录进行对比,进入步骤B30’ ;所述工作状态包括当前中断任务数量,每个中断任务的IRQ_ID、优先级别、执行状态是否处于挂起,当前运行状态的任务编号;步骤B30’,根据与处理器中断寄存器(104)中比对的判断结果,确定是否有优先级更高的中断请求需要处理;如果有,则进入指定的处理器(106);如果没有,则返回处理器中断寄存器(104)当中,返回步骤B10’等待处理;步骤MO’,处理器(106)分别接收处理器中断调度器(105)提供的最新中断请求,向处理器中断调度器(105)响应并告知会暂停和挂机当前正在处理的任务;并在完成最高级别的中断任务后,再进行当前队列中优先级最高的中断任务。
全文摘要
本发明公开一种多核处理器中断资源优化处理系统和方法。所述系统包括处理器中断调度器(105),以及多个处理器(106);还包括线程化中断管理器(103),用于截获全部发往所述多核处理器中多个处理器(106)的中断请求,并根据预设的优化仲裁规则对所述中断请求线程化,进行优先级调整,对所述中断请求的优先级进行重新排序,然后将排序后的所述中断请求按排序后的顺序发送到所述处理器中断调度器(105)进行调度至所述多个处理器(106)处理。其优化计算机的中断资源分配,提高实时任务的速度,从而提高计算机的整体性能。
文档编号G06F9/48GK103019835SQ201110287388
公开日2013年4月3日 申请日期2011年9月26日 优先权日2011年9月26日
发明者孙睿 申请人:同方股份有限公司