当前位置: 首页 > 专利查询>波音公司专利>正文

分配线程给虚拟化硬件用的多个处理器核心的装置和方法制造方法及图纸

技术编号:28941532 阅读:21 留言:0更新日期:2021-06-18 21:46
本公开涉及分配线程给虚拟化硬件用的多个处理器核心的装置和方法。该装置包括存储器,该存储器被配置成存储与第一程序的线程的分配关联的一个或更多个参数。可以通过用户接口或机器学习来配置线程分配。该装置还包括联接至存储器的多个处理器核心。所述多个处理器核心中的一个或更多个处理器核心具有第一硬件配置,并且被配置成在执行第一程序期间执行与和第一硬件配置不同的第二硬件配置的虚拟化关联的第二程序。第二程序包括调度器,该调度器能执行以基于一个或更多个参数将第一程序的线程分配给多个处理器核心。

【技术实现步骤摘要】
分配线程给虚拟化硬件用的多个处理器核心的装置和方法
本公开涉及将线程分配给用于虚拟化硬件配置的多个处理器核心的装置和方法。
技术介绍
测试工具用于模拟或测试软件程序的运行。作为例示,在一些测试环境中,测试台(testbed)系统包括在测试期间执行软件程序并在测试期间记录或测量软件程序的性能的硬件。在一些情况下,在测试期间可能检测到错误(例如,漏洞(bug)),并且可以更新软件程序以更正错误。在一些情况下,测试台系统中包括的硬件不同于与软件程序关联的目标硬件。例如,在一些情况下,软件程序被设计成由具有与测试台系统不同的硬件配置的终端用户设备执行。在这种情况下,使用测试台系统执行的模拟或测试可能不准确或不可靠。某些测试技术对软件程序或测试环境进行修改,以使软件程序与测试台系统匹配。例如,在一些测试环境中,测试台系统的硬件执行仿真程序,该仿真程序对与软件程序关联的目标硬件配置进行仿真。在一些情况下,目标硬件配置的仿真会降低测试台系统的性能,诸如减慢测试。结果,测试的结果可能被延迟,并且测试的成本增加。
技术实现思路
在特定示例中,一种装置,该装置包括存储器,该存储器被配置成存储与第一程序的线程的分配关联的一个或更多个参数。该装置还包括联接至存储器的多个处理器核心。所述多个处理器核心中的一个或更多个处理器核心具有第一硬件配置,并且被配置成在执行第一程序期间执行与和第一硬件配置不同的第二硬件配置的虚拟化关联的第二程序。第二程序包括调度器,该调度器可执行以基于一个或更多个参数将第一程序的线程分配给多个处理器核心。在另一示例中,一种方法,该方法包括接收与将第一程序的线程分配给多个处理器核心中的具有第一硬件配置的一个或更多个处理器核心关联的一个或更多个参数。该方法还包括在执行第一程序期间执行与和第一硬件配置不同的第二硬件配置的虚拟化关联的第二程序。执行第二程序包括通过第二程序的调度器基于一个或更多个参数将第一程序的线程分配给多个处理器核心。在另一示例中,一种计算机可读介质,该计算机可读介质存储能由处理器执行以发起、执行或控制操作的指令。这些操作包括接收与将第一程序的线程分配给多个处理器核心中的具有第一硬件配置的一个或更多个处理器核心关联的一个或更多个参数。这些操作还包括在执行第一程序期间执行与和第一硬件配置不同的第二硬件配置的虚拟化关联的第二程序。执行第二程序包括通过第二程序的调度器基于一个或更多个参数将第一程序的线程分配给多个处理器核心。附图说明图1是例示了根据本公开的多个方面的被配置成将线程重新调度到处理器核心的系统的示例的框图。图2是例示了根据本专利技术的多个方面的由图1的系统执行的操作的示例的数据流程图。图3是根据本公开的多个方面的操作图1的系统的方法的示例的流程图。图4是例示了被配置成执行指令以发起、执行或控制诸如图3的方法的操作之类的操作的计算系统的示例的多个方面的框图。图5是例示了包括图1的系统的一个或更多个组件的运载工具的例示性实现方式的多个方面的框图。具体实施方式根据本公开的虚拟化系统是第一硬件系统(例如,第一计算设备),其执行软件以对第二硬件系统(例如,第二计算设备,也称为目标系统)进行虚拟化(virtualize)(例如,呈现或仿真(representoremulate))。虚拟化系统通过执行虚拟化程序来对目标系统的目标硬件配置进行仿真,该虚拟化程序将目标硬件配置的虚拟化表示呈现给目标程序(例如,被配置成在目标系统上执行的程序)。例如,在一些实现方式中,测试台可以使用虚拟化系统来测试要在目标系统上执行的目标软件应用。在这样的实现方式中,测试台执行虚拟化程序并在虚拟化程序执行的同时执行目标程序。虚拟化程序通过向目标程序呈现表示目标硬件配置的虚拟的计算资源集合来控制目标程序对计算资源的访问。作为例示,目标程序通过向虚拟化程序发送指令来将线程的执行分配给处理资源。进而,虚拟化程序与虚拟化系统的基础计算资源(例如,实际的硬件资源,诸如处理器核心)通信,虚拟化系统可以具有与目标硬件配置非常不同的硬件配置。出于各种原因,可以使用对目标硬件配置进行虚拟化。例如,通常可以通过以目标硬件的虚拟化表示执行软件来更容易地测试旨在目标硬件上执行的软件,因为虚拟化使得能够监测目标程序和目标硬件的基础操作。作为另一示例,虚拟化可以用于加快测试。作为例示,虚拟化程序可以使多个计算操作在虚拟化系统的多个处理核心处并行执行,而不是在目标硬件配置的处理核心处顺序地执行。作为另一例示,如果期望移动线程的执行减少目标程序测试的执行时间,则虚拟化程序可以将线程移动到虚拟化系统的不同处理核心。虚拟化也可以用于提高模拟器或训练器(例如,模拟硬件环境以监测用户与硬件环境的交互的计算设备)的保真度(fidelity)。例如,通常期望飞行模拟器准确地模仿所模拟的飞行器的操作。飞行模拟器不是使用来自所模拟的飞行器的实际飞行器外场可更换单元(例如,飞行控制计算机)来模仿所模拟的飞行器的操作,而是执行包括所模拟的飞行器使用的控制规则的飞行控制应用。然而,飞行模拟器还必须执行大量其它操作,诸如,模拟环境效应(例如,照明和天气)和物理建模,而实际飞行器系统则不需要。飞行模拟器的虚拟化系统控制对实际硬件资源的访问,以便确保以及时、高效和准确的方式执行模拟飞行器的操作所需的每个操作。在一些实现方式中,虚拟化程序包括调度器,该调度器使得能够选择提高目标程序的执行或测试的效率(例如,速度或保真度)的一个或更多个参数。作为示例,在一些实现方式中,一个或更多个参数指示用于将目标程序的特定线程映射到虚拟化系统(例如,飞行模拟器硬件或试验台系统)的特定处理器核心的规则(在本文中也称为映射规则)。在一些示例中,映射规则允许将目标程序的线程从虚拟化系统的较频繁使用的处理核心,重新调度到虚拟化系统的较不频繁使用的处理核心(例如,使得较不频繁的核心被更经常地使用,从而提高目标程序的执行速度或目标程序的测试速度)。另选地或附加地,在一些示例中,重新调度目标程序的频繁执行线程,以允许执行目标程序的较不频繁执行的线程(例如,使得较不频繁执行的线程被更经常地执行,从而提高目标程序的执行速度或目标程序的测试速度)。作为进一步例示,在一些示例中,一个或更多个参数指示:目标程序的适合(或不适合)被移动到虚拟化系统的未充分利用的处理器核心的一个或更多个线程。另选地或附加地,在一些示例中,所述一个或更多个参数指示:适合(或不适合)被移动到虚拟化系统的未充分利用的处理器核心的线程将要执行的时间长度。另选地或附加地,在一些示例中,所述一个或更多个参数指示将线程移动到虚拟化系统的另一核心的条件、适合(或不适合)执行该线程的核心或两者。因此,根据本公开内容的多个方面的系统的技术效果是提高了目标程序的执行速度或目标程序的测试速度(例如,通过重新调度较不频繁使用的线程,以使得较不频繁使用的线程被允许执行,从而减少或防止失速状态(stallcondition)或“瓶颈(bottleneck)”)。根据本文档来自技高网...

【技术保护点】
1.一种装置,所述装置包括:/n存储器(104),所述存储器(104)被配置成存储与第一程序(106)的线程(108)的分配关联的一个或更多个参数(136);以及/n多个处理器核心(120),所述多个处理器核心(120)联接至所述存储器,所述多个处理器核心中的一个或更多个处理器核心具有第一硬件配置(130),其中,所述多个处理器核心中的一个或更多个处理器核心被配置成,在执行所述第一程序期间,执行与和所述第一硬件配置不同的第二硬件配置(118)的虚拟化关联的第二程序(114),并且其中,所述第二程序包括调度器(116),所述调度器(116)能执行以基于所述一个或更多个参数将所述第一程序的线程分配给所述多个处理器核心。/n

【技术特征摘要】
20191217 US 16/716,7271.一种装置,所述装置包括:
存储器(104),所述存储器(104)被配置成存储与第一程序(106)的线程(108)的分配关联的一个或更多个参数(136);以及
多个处理器核心(120),所述多个处理器核心(120)联接至所述存储器,所述多个处理器核心中的一个或更多个处理器核心具有第一硬件配置(130),其中,所述多个处理器核心中的一个或更多个处理器核心被配置成,在执行所述第一程序期间,执行与和所述第一硬件配置不同的第二硬件配置(118)的虚拟化关联的第二程序(114),并且其中,所述第二程序包括调度器(116),所述调度器(116)能执行以基于所述一个或更多个参数将所述第一程序的线程分配给所述多个处理器核心。


2.根据权利要求1所述的装置,所述装置还包括虚拟化系统(102),所述虚拟化系统(102)包括所述存储器和所述多个处理器核心,其中,所述多个处理器核心被配置成在所述第一程序的测试过程(190)期间执行所述第二程序。


3.根据权利要求1或2所述的装置,其中,所述存储器和所述多个处理器核心被包括在嵌入式系统(532)中,并且其中,所述多个处理器核心被配置成在所述嵌入式系统的操作期间执行所述第二程序。


4.根据权利要求3所述的装置,所述装置还包括运载工具(500),所述运载工具(500)包括所述嵌入式系统。


5.根据权利要求1至4中的任一项所述的装置,其中,所述存储器和所述多个处理器核心被包括在模拟器或训练器中。


6.根据权利要求1至5中的任一项所述的装置,其中,所述调度器还能够执行以基于所述一个或更多个参数(136)将所述第一程序的特定线程(110或112)从由所述多个处理器核心中的第一处理器核心(122)执行重新调度到由所述多个处理器核心中的第二处理器核心(124)执行。


7.根据权利要求6所述的装置,其中,与由所述第一处理器核心执行所述特定线程相比,重新调度所述特定线程的执行以进行执行增加了所述第二硬件配置的虚拟化的保真度,
其中,所述一个或更多个参数指示用于重新调度所述第一程序的特定线程(110或112)的执行的特定条件(138)或约束(140),并且其中,所述特定条件对应于:在执行所述第一程序期间确定所述第一处理器核心的第一使用(126)满足使用阈值(142);确定所述第二处理器核心的第二使用(128)不满足使用阈值;或确定所述第一处理器核心的第一使用(126)满足使用阈值(142)且所述第二处理器核心的第二使用(128)不满足使用阈值;并且
其中,所述一个或更多个参数规定执行阈值(144),所述执行阈值(144)用于将所...

【专利技术属性】
技术研发人员:K·R·吕克J·N·霍特拉
申请(专利权)人:波音公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1