CN116431280A - 一种中断信号处理方法以及中断信号处理装置 - Google Patents

一种中断信号处理方法以及中断信号处理装置 Download PDF

Info

Publication number
CN116431280A
CN116431280A CN202310258268.4A CN202310258268A CN116431280A CN 116431280 A CN116431280 A CN 116431280A CN 202310258268 A CN202310258268 A CN 202310258268A CN 116431280 A CN116431280 A CN 116431280A
Authority
CN
China
Prior art keywords
interrupt
interrupt signal
time period
preset time
virtual machine
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.)
Pending
Application number
CN202310258268.4A
Other languages
English (en)
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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN202310258268.4A priority Critical patent/CN116431280A/zh
Publication of CN116431280A publication Critical patent/CN116431280A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供一种中断信号处理方法以及中断信号处理装置,包括:接收第一中断信号;将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号;基于所述第二中断信号进行中断处理。在虚拟机中,中断信号合并技术可以通过减少虚拟机与物理设备之间的中断交互次数,来提高虚拟机的性能。

Description

一种中断信号处理方法以及中断信号处理装置
技术领域
本发明属于计算机技术领域,涉及一种中断信号处理方法以及中断信号处理装置。
背景技术
虚拟化技术是现代计算机系统中广泛使用的一种技术,它可以将一台物理计算机划分成多个虚拟机,每个虚拟机拥有自己的操作系统和应用程序。虚拟化技术可以提供许多有用的特性,例如资源隔离、动态调整资源和热迁移等。
随着计算机系统规模的不断扩大,虚拟化技术在企业数据中心和云计算等领域的应用越来越广泛。虚拟化技术已经成为计算机科学研究领域的重要热点之一。虽然虚拟化技术在许多领域都有广泛的应用,但在实际应用中,虚拟机性能问题一直是一个瓶颈。在虚拟化环境中,由于虚拟机与物理设备之间需要进行中间层的交互,从而导致了虚拟机性能的下降。其中,I/O活动是虚拟机性能下降的主要因素之一。
当I/O设备生成中断以通知CPU I/O操作完成时,每个设备中断都会触发一个昂贵的退出,导致客户端被挂起和主机被恢复,即使设备没有被分配给客户端。主机首先向硬件发出信号表明物理中断已完成,然后注入一个相应的(虚拟)中断到客户机中,并恢复客户端执行。客户端接下来会处理虚拟中断,发出完成信号,认为它直接与硬件交互。此操作将再次触发一个退出,提示主机模拟虚拟中断的完成,并再次恢复客户机。
比如在处理数据包时,后端驱动程序会立即中断客户端操作系统,表明数据包已准备就绪。虽然该方案实现了最佳响应时间,但对于延迟密集型工作负载有好处,但会导致客户机操作系统受到过多的虚拟中断干扰,从而显著降低虚拟机性能。在虚拟化环境中,虚拟中断处理要比物理中断处理产生的开销要高得多。因此,如何减少虚拟机在处理中断时切换上下文产生的开销以提高中断效率,从而提高虚拟机性能,是急需解决的问题。
发明内容
本发明提供一种中断信号处理方法以及中断信号处理装置,其能够增强虚拟机性能。
本申请提供一种中断信号处理方法,包括:接收第一中断信号;将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号;基于所述第二中断信号进行中断处理。
其中,将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号的步骤之前包括:检测当前虚拟机的负载信息;基于所述负载信息确定所述预设时间段。
其中,所述预设时间段与虚拟机的负载信息负相关。
其中,所述负载信息包括所述当前虚拟机的利用率、内存使用信息中至少一种。
其中,所述接收第一中断信号的步骤,包括:按照优先级对所述第一中断信号进行排序。
其中,将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号的步骤,包括:确定所述预设时间段内的所述第一中断信号的数量;响应于所述预设时间段内的所述第一中断信号的数量大于预设值,则将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号。
本申请提供一种中断信号处理装置,包括:中断信号接收模块,用于接收第一中断信号;中断信号合并模块,用于将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号;中断处理模块,用于基于所述第二中断信号进行中断处理。
其中,还包括:检测模块,用于检测当前虚拟机的负载信息;定时模块,用于基于所述负载信息确定所述预设时间段;并且响应于每一预设时间段,所述中断信号合并模块将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号。
其中,还包括:计数模块,用于确定所述预设时间段内的所述第一中断信号的数量;响应于所述预设时间段内的所述第一中断信号的数量大于预设值,所述中断信号合并模块将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号。
其中,所述预设时间段与虚拟机的负载信息负相关。
本申请提供的一种中断信号处理方法,包括:接收第一中断信号;将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号;基于所述第二中断信号进行中断处理。在虚拟机中,中断信号合并技术可以通过减少虚拟机与物理设备之间的中断交互次数,来提高虚拟机的性能。
附图说明
图1是本申请本申请中断信号处理方法的一实施例的流程示意图;
图2是本申请本申请中断信号处理装置的一实施例的结构示意图;
图3是中断控制器的结构示意图。
具体实施方式
为了进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及具体实施方式,对本发明进行详细说明。有关本发明的前述及其他技术内容、特点及功效,在以下配合附图的具体实施方式详细说明中即可清楚地呈现。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。所附附图仅是提供参考与说明之用,并非用来对本发明的技术方案加以限制。
请参见图1,图1为本申请中断信号处理方法的一实施例的流程示意图,具体包括:
步骤S11:接收第一中断信号。
具体的,创建一个用于存储第一中断信号的优先队列,当第一中断信号到达时,接收该第一中断信号,并将其添加到队列中进行存储。
在一实施例中,可以确定多个第一中断信号的优先级,按照优先级对所述第一中断信号进行排序,然后将排序后的第一中断信号添加到队列中进行存储。
步骤S12:将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号。
具体的,将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号。在一实施例中,可以确定预设时间段内每一个第一中断信号的来源,将来源相同的第一中断信号进行合并,从而减少中断信号的数量。
在虚拟机中,中断信号合并技术可以通过减少虚拟机与物理设备之间的中断交互次数,来提高虚拟机的性能。
在一实施例中,可以检测当前虚拟机的负载信息;基于所述负载信息确定所述预设时间段。所述预设时间段与虚拟机的负载信息负相关。具体的,负载越大,预设时间段所占时间越短,负载越小,预设时间段所占时间越长。
在一实施例中,负载信号包括所述当前虚拟机的利用率、内存使用信息中至少一种。可以理解的,当前虚拟机得利用率越高,则说明越高,则说明负载越大;内存使用越多,则说明负载越大。
本申请基于当前虚拟机的负载信息确定预设时间段,能够提高系统资源利用率。
在一实施例中,确定所述预设时间段内的所述第一中断信号的数量;响应于所述预设时间段内的所述第一中断信号的数量大于预设值,则将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号。具体的,在预设时间段内的第一中断信号数量较少时,可以不进行合并操作。例如,预设时间段内第一中断信号数量为1时,可以不进行合并操作。或者,在预设时间段内第一中断信号数量小于5时,可以不进行合并操作。预设值可以根据需要设置,在此不做限定。
步骤S13:基于所述第二中断信号进行中断处理。
本申请的中断信号处理方法,可以通过减少虚拟机与物理设备之间的中断交互次数,来提高虚拟机的性能。并且基于当前虚拟机的负载信息确定预设时间段,能够提高系统资源利用率。
请参见图2,图2为本申请中断信号处理装置的一实施例的结构示意图,具体包括:中断信号接收模块21、中断信号合并模块22以及中断处理模块23。具体的,中断信号接收模块21用于接收第一中断信号;中断信号合并模块22用于将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号;中断处理模块23用于基于所述第二中断信号进行中断处理。
在一实施例中,请结合图3,中断信号接收模块21包括中断请求寄存器IRR,中断请求寄存器IRR创建一个用于存储第一中断信号的优先队列,当第一中断信号到达时,接收该第一中断信号,并将其添加到队列中进行存储。具体的,中断请求寄存器IRR保存从IR0-IR7来的中断请求信号。某一位为1表示相应引脚上有中断请求信号。该中断请求信号至少应保持到该请求被响应为止。中断响应后,该IR输入线上的请求信号应撤销,否则,在中断处理完结后,该IR线上的高电平可能会引起又一次中断服务。
在一实施例中,中断信号接收模块21还可以包括优先级寄存器PR,优先级寄存器PR可以确定多个第一中断信号的优先级,按照优先级对所述第一中断信号进行排序,然后将排序后的第一中断信号添加到队列中进行存储。
在一实施例中,中断信号处理装置还包括检测模块和定时模块,检测模块用于检测当前虚拟机的负载信息;定时模块用于基于所述负载信息确定所述预设时间段;并且响应于每一预设时间段,所述中断信号合并模块将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号。
在一实施例中,检测模块可以检测当前虚拟机的负载信息;基于所述负载信息确定所述预设时间段。所述预设时间段与虚拟机的负载信息负相关。具体的,负载越大,预设时间段所占时间越短,负载越小,预设时间段所占时间越长。
在一实施例中,负载信号包括所述当前虚拟机的利用率、内存使用信息中至少一种。可以理解的,当前虚拟机得利用率越高,则说明越高,则说明负载越大;内存使用越多,则说明负载越大。
本申请基于当前虚拟机的负载信息确定预设时间段,能够提高系统资源利用率。
在一实施例中,中断信号处理装置还包括计数模块,计数模块用于确定所述预设时间段内的所述第一中断信号的数量;响应于所述预设时间段内的所述第一中断信号的数量大于预设值,所述中断信号合并模块将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号。
请继续参见图3,中断信号处理装置还包括:正在服务寄存器ISR、中断屏蔽寄存器IMR、QEMU(Quick EMUlator,虚拟操作系统模拟器)控制逻辑以及中断判优电路。其中,中断服务寄存器ISR用于保存所有正在服务的中断源。是8位的寄存器(IS0-IS7分别对应IR0-IR7)。在中断响应时,中断判优电路把发出中断请求的中断源中优先级最高的中断源所对应的位置为1,表示该中断请求正在处理中,ISR的某一位ISi置为1可阻止与它同级及更低优先级的请求被响应,但不阻止比它优先级更高的中断请求被响应,即允许中断嵌套,所以,ISR中可能不只有一位被置1,当收到中断结束(EOI)命令时,ISR相应位会被清除。对自动EOI操作,ISR寄存器中刚被置1的位在中断相应结束时自动复位。
中断屏蔽寄存器IMR用于存放中断屏蔽字,它的每一位分别与IR7-IR0相对应。其中为1的位所对应的中断请求输入将被屏蔽,为0的位所对应的中断请求输入不受影响。
中断判优电路监测从IRR,ISR,和IMR来的输入,并确定是否应向CPU发出中断请求。在中断响应时,它要确定ISR寄存器哪一位应置为1,并将相应的中断类型码送给CPU。在EOI命令时,它要决定ISR寄存器哪一位应复位。
而QEMU控制逻辑的中断控制器是通过hw/intc/i8259.c文件实现的。在该文件中,定义了一个名为PICCommonState的结构体,它表示了8259芯片的状态,包括中断请求寄存器(IRR)、中断屏蔽寄存器(IMR)、中断服务寄存器(ISR)等等。该文件中定义了一系列的回调函数,用于处理中断请求的更新、中断优先级的计算以及中断请求的响应等操作。在qemu_irq中,将中断源(如键盘、鼠标等)与中断控制器(该中断控制器例如可以为8259)相连接,当中断源触发中断时,中断控制器会更新IRR寄存器并计算当前中断优先级,根据中断优先级决定是否发送中断请求信号。如果发送了中断请求信号,则触发CPU中断处理流程。
具体来说,QEMU在PICCommonState结构体中维护了8259中断控制器的各种状态,如中断请求寄存器(IRR)、中断屏蔽寄存器(IMR)、中断服务寄存器(ISR)、等。在pic_set_irq函数中,QEMU通过响应虚拟设备的中断信号来设置中断控制器的状态,然后在pic_update_irq函数中更新中断控制器的输出信号(INT)状态。最后在pic_get_irq函数中,QEMU根据中断控制器当前的状态,计算出优先级最高的中断信号。最后,在pic_intack函数中,QEMU根据中断控制器的工作模式(自动EOI或手动EOI)来处理中断。
本发明中的中断合并技术是一种优化计算机系统性能的技术,它可以将多个相同来源的中断合并为一个中断处理,从而减少中断数量,提高系统效率。在虚拟机中,中断合并技术可以通过减少虚拟机与物理设备之间的中断交互次数,来提高虚拟机的性能。
具体的,本发明具有以下优点:
改进虚拟机性能:单个虚拟机中可能存在大量的中断请求,导致CPU频繁地在虚拟机之间进行上下文切换,从而影响整个系统的性能。本发明通过将分散的中断合并到单个实体中,可以减少CPU对IO操作的调度,从而增强虚拟机性能。
实现简单:只需要修改QEMU的中断控制器部分就可以实现中断合并功能。
执行效率高:本发明仅对虚拟化中断控制器进行了扩展,不增加额外的开销。这是因为中断合并的实现方式相对简单,不需要增加额外的硬件或软件开销。同时,中断合并的实现可以减少CPU对IO操作的调度,从而提高中断处理效率。因此,本发明可以有效地提高虚拟机性能,同时不会增加额外的成本和开销。
提高中断处理性能:本发明通过分析QEMU中断处理和中断控制器仿真原理,以及中断框架仿真原理,提供了一种更高效可靠的中断处理解决方案,从而提高中断处理性能。
优化系统资源利用:通过监控虚拟机的负载情况,根据负载情况调整中断处理,提高系统资源利用率。
以上仅为本发明的实施方法,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种中断信号处理方法,其特征在于,包括:
接收第一中断信号;
将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号;
基于所述第二中断信号进行中断处理。
2.根据权利要求1所述的中断信号处理方法,其特征在于,将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号的步骤之前包括:
检测当前虚拟机的负载信息;
基于所述负载信息确定所述预设时间段。
3.根据权利要求2所述的处理方法,其特征在于,
所述预设时间段与虚拟机的负载信息负相关。
4.根据权利要求2所述的处理方法,其特征在于,所述负载信息包括所述当前虚拟机的利用率、内存使用信息中至少一种。
5.根据权利要求1~4任一项所述的处理方法,其特征在于,所述接收第一中断信号的步骤,包括:
按照优先级对所述第一中断信号进行排序。
6.根据权利要求1~4任一项所述的处理方法,其特征在于,将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号的步骤,包括:
确定所述预设时间段内的所述第一中断信号的数量;
响应于所述预设时间段内的所述第一中断信号的数量大于预设值,则将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号。
7.一种中断信号处理装置,其特征在于,包括:
中断信号接收模块,用于接收第一中断信号;
中断信号合并模块,用于将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号;
中断处理模块,用于基于所述第二中断信号进行中断处理。
8.根据权利要求7所述的处理装置,其特征在于,还包括:
检测模块,用于检测当前虚拟机的负载信息;
定时模块,用于基于所述负载信息确定所述预设时间段;并且响应于每一预设时间段,所述中断信号合并模块将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号。
9.根据权利要求8所述的处理装置,其特征在于,还包括:
计数模块,用于确定所述预设时间段内的所述第一中断信号的数量;响应于所述预设时间段内的所述第一中断信号的数量大于预设值,所述中断信号合并模块将预设时间段内的多个所述第一中断信号进行合并,得到第二中断信号。
10.根据权利要求8所述的处理装置,其特征在于,
所述预设时间段与虚拟机的负载信息负相关。
CN202310258268.4A 2023-03-16 2023-03-16 一种中断信号处理方法以及中断信号处理装置 Pending CN116431280A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310258268.4A CN116431280A (zh) 2023-03-16 2023-03-16 一种中断信号处理方法以及中断信号处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310258268.4A CN116431280A (zh) 2023-03-16 2023-03-16 一种中断信号处理方法以及中断信号处理装置

Publications (1)

Publication Number Publication Date
CN116431280A true CN116431280A (zh) 2023-07-14

Family

ID=87091723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310258268.4A Pending CN116431280A (zh) 2023-03-16 2023-03-16 一种中断信号处理方法以及中断信号处理装置

Country Status (1)

Country Link
CN (1) CN116431280A (zh)

Similar Documents

Publication Publication Date Title
US10230608B2 (en) RPS support for NFV by system call bypass
US7627705B2 (en) Method and apparatus for handling interrupts in embedded systems
KR100977662B1 (ko) 2-레벨 인터럽트 서비스 루틴을 제공하기 위한 방법 및 프로세서
US20040107374A1 (en) Apparatus and method for providing power management on multi-threaded processors
KR20160014647A (ko) 인터럽트 핸들링 방법 및 장치
CN113010275B (zh) 一种中断处理方法和装置
CN102081555B (zh) 调整时钟中断周期的方法和装置
US20130024589A1 (en) Multi-core processor system, computer product, and control method
CN103744716A (zh) 一种基于当前vcpu调度状态的动态中断均衡映射方法
US10802998B2 (en) Technologies for processor core soft-offlining
US6256660B1 (en) Method and program product for allowing application programs to avoid unnecessary packet arrival interrupts
US20230127112A1 (en) Sub-idle thread priority class
CN111324432A (zh) 处理器调度方法、装置、服务器及存储介质
JP6955163B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN106789337B (zh) 一种kvm的网络性能优化方法
US20210055948A1 (en) Fast thread execution transition
CN110955503B (zh) 任务调度方法及装置
US20060184948A1 (en) System, method and medium for providing asynchronous input and output with less system calls to and from an operating system
JPH06243112A (ja) マルチプロセッサ装置
US11243800B2 (en) Efficient virtual machine memory monitoring with hyper-threading
US20180270306A1 (en) Coexistence of a synchronous architecture and an asynchronous architecture in a server
CN116431280A (zh) 一种中断信号处理方法以及中断信号处理装置
US9058207B2 (en) Simulation apparatus, method, and computer-readable recording medium
WO2020086265A1 (en) Timer-based i/o completion polling for low latency storage device
US11593159B2 (en) External exception handling

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