System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机。例如,本专利技术涉及用于多核系统的软件优化设备和方法。
技术介绍
1、多核(或多处理器)系统广泛用于控制实时应用的各种应用场景。非统一内存访问(non-uniform memory access,numa)是多核系统的计算机内存架构。图6示出了numa架构的抽象模型,其中,每个处理器(在本专利技术中也称为核或中央处理器(central processingunit,cpu))直接耦合到其自己的本地随机存取内存(local random access memory,lram)。此外,多个处理器通常可以共享至少一个全局随机存取内存(global randomaccess memory,gram)。与统一内存访问架构(其中,每个处理器具有相同的内存访问时间)不同,numa架构的处理器可以比非本地内存更快地访问自己的lram。需要说明的是,本专利技术中的lram不同于cpu高速缓存,cpu高速缓存位于cpu内部,并且不被认为是其它cpu可访问的内存。相反,本专利技术中的lram可以由通过总线连接的所有cpu访问。非本地内存可以包括另一处理器本地的内存,或在多个处理器之间共享的全局内存,例如,gram。numa架构为多处理器系统中的每个处理器(或一组处理器)提供了单独的内存分配,从而避免了当多个处理器尝试寻址同一内存时的性能下降。
2、例如,在汽车领域,机动车辆的电子控制单元(electronic control unit,ecu)通常可以包括多个核。现代车辆现在能够支持许多复杂的功能,例如信息娱乐、导航
技术实现思路
1、目前,在软件级别,变量(或标签)和功能(或可运行程序(runnable))可以映射到特定核,以根据预测算法等执行。但是,numa架构在可预测性方面存在挑战性。因此,将软件功能和共享变量映射到核中既复杂又耗时。
2、例如,用于多处理器的嵌入式系统应用通常可以包括数千个功能,这些功能使用共享变量以良好连接的模式相互通信。在确保最优系统性能的同时,将功能和变量映射到核并不容易。
3、例如,在软件到硬件部署阶段期间,可以解决两个相关的问题:向核分配任务功能,以及将共享变量放置在内存中。这可能会对numa平台产生更大的影响,因为每个核可能具有不同的最快内存访问时间。部署不当可能会对硬件系统的性能和正确性产生负面影响。这两个问题也是高度相关的,在numa平台上尤其如此。根据内存中的变量的放置和到核的相关功能分配,内存操作可能会引起附加的停顿周期。因此,根据不同的方案,使用相关变量执行给定任务功能所需的时间可能会大不相同。
4、典型的软件应用可以包括大约数千个功能和一万个共享变量。目标平台可以包括多个核,以及多个本地ram和全局ram。这使得无法手工或手动获得质量有保证的软件部署方案。典型的软件部署可以包括向核分配功能。为多核系统设计软件的基本挑战之一是确保有效使用可用的计算、通信和内存资源。例如,在autosar中,当ioc使用发送器-接收器协议(例如,通过实现数据内存缓冲区)操作时,例如,当尝试实现在多个核上运行的高度并行性时,找到适当的调度和对应的时间关键数据传输执行是一项具有挑战性的任务。此外,处理在不同核上并行运行的功能之间的通信变得更加困难,并可能需要复杂的软件部署过程,以确保整个系统的安全可靠运行。例如,车辆控制系统可能需要确保安全功能不会被其它不那么紧急的功能(例如导航等)阻塞。
5、鉴于上述情况,本专利技术旨在提高自动软件部署的效率。目标是确保可用资源的有效和/或最优利用率。本专利技术的另一个目的是提供一种用于自动获得嵌入式应用到多核系统的映射的方案。本专利技术的另一个目的是为实时应用提供更快、更鲁棒和可预测的软件部署/配置方案。
6、这些和其它目的是通过独立权利要求中所描述的本专利技术的方案来实现的。有利的实现方式在从属权利要求中进一步限定。
7、本专利技术的第一方面提供了用于将共享多个变量的多个功能映射到多核计算系统的设备。多核计算系统包括多个核和多个内存。每个核耦合到多个内存中的内存。该设备用于根据多个内存的一个或多个特征将变量中的每个变量分配给多个内存中的一个内存,以获得多个变量到多个内存的分配。该设备还用于根据多个变量到多个内存的分配将多个功能映射到多个核。
8、本专利技术中的软件部署可以理解为推断功能到核的映射(或分配)和变量到内存的映射。
9、通过将共享变量分配给内存,并根据多个变量到多个内存的分配将多个功能映射到多个核,考虑多个内存的一个或多个特征对共享变量的影响。优点是,由于将变量分配给内存而提高了效率,所以可以提高多核系统的整体性能。
10、在第一方面的一种实现方式中,多个内存的一个或多个特征可以包括每个内存的访问时间。
11、通过考虑每个内存的访问时间,可以将使用频率较高或对系统性能影响较大的变量分配给更快的内存。多核系统的整体资源利用率可以优化。
12、在第一方面的一种实现方式中,设备还可以用于将变量相对于多个功能进行划分,以获得变量与功能之间的绑定关系。该设备还可以用于进一步根据变量与功能之间的绑定关系将多个功能映射到多个核。
13、可选地,变量与功能之间的绑定关系可以包括一对一关系,或多对一关系。可选地,每个变量最多绑定一个功能。多个变量可以绑定到同一个功能。
14、可选地,为了进一步根据变量与功能的绑定关系将多个功能映射到多个核,设备可以用于确定所映射的核(功能在该核上执行),以节省功能的最大执行时间。当功能映射到特定核时,设备还可以用于将绑定关系中绑定到功能的一个或多个变量映射到相对于特定核最近或访问时间最快的内存。
15、通过将变量绑定到功能,多个变量到多个内存的分配可以与功能到核的分配一起完成。优点是可以更高效地利用多个核的可用计算资源和内存资源。
16、在第一方面的一种实现方式中,对于对变量进行划分,设备可以用于,对于每个功能:
17、-获得执行功能的频率;
...
【技术保护点】
1.一种用于将共享多个变量的多个功能映射到多核计算系统的设备(100),其特征在于,所述多核计算系统包括多个核和多个内存,每个核耦合到所述多个内存中的内存,所述设备用于:
2.根据权利要求1所述的设备(100),其特征在于,所述多个内存的所述一个或多个特征包括每个内存的访问时间。
3.根据权利要求1或2所述的设备(100),其特征在于,还用于:
4.根据权利要求3所述的设备(100),其特征在于,为了对所述变量进行划分,所述设备用于,对于每个功能:
5.根据权利要求4所述的设备(100),其特征在于,所述多个内存的所述一个或多个特征包括每个内存的大小,所述设备用于进一步根据每个变量的大小和每个内存的所述大小关联每个变量。
6.根据权利要求1至5中任一项所述的设备(100),其特征在于,所述设备用于进一步根据在每个核执行每个功能所需的所述功能的周期数将所述多个功能映射到所述多个核。
7.根据权利要求1至6中任一项所述的设备(100),其特征在于,所述设备用于以每个核不过载的方式将所述功能映射到所述多个核。
>8.根据权利要求1至7中任一项所述的设备(100),其特征在于,还用于根据同一核的两个或更多个功能的释放模式将所述同一核的所述两个或更多个功能组合成任务。
9.根据权利要求8所述的设备(100),其特征在于,还用于为每个任务分配优先级,以最小化每个核的资源利用率。
10.根据权利要求9所述的设备(100),其特征在于,用于根据所述任务的截止日期确定每个任务的所述优先级。
11.根据权利要求10所述的设备(100),其特征在于,用于进一步根据一个或多个其它任务引起的干扰确定每个任务的所述优先级。
12.根据权利要求11所述的设备(100),其特征在于,用于进一步根据所述任务处于等待状态的阻塞时间确定每个任务的所述优先级。
13.根据权利要求3至12中任一项所述的设备(100),其特征在于,为了将所述多个功能映射到所述多个核,所述设备用于:
14.根据权利要求13所述的设备(100),其特征在于,所述多个内存包括全局内存和多个本地内存,所述全局内存由所述多个核共享,每个本地内存直接耦合到所述多个核中的一个核,所述设备还用于将与所述聚类功能关联的所述一个或多个公共划分变量分配给直接耦合到所映射的核的本地内存。
15.根据权利要求1至14中任一项所述的设备(100),其特征在于,所述多个功能是软件组件在运行时环境中的多个可运行程序,所述多个共享变量是所述软件组件的输入。
16.一种用于将共享多个变量的多个功能映射到多核计算系统的方法(400),其特征在于,所述多核计算系统包括多个核和多个内存,每个核耦合到所述多个内存中的内存,所述方法包括:
17.一种计算机程序产品,其特征在于,包括指令,当第二计算机执行所述程序时,所述指令使所述第二计算机执行根据权利要求16所述的方法。
...【技术特征摘要】
【国外来华专利技术】
1.一种用于将共享多个变量的多个功能映射到多核计算系统的设备(100),其特征在于,所述多核计算系统包括多个核和多个内存,每个核耦合到所述多个内存中的内存,所述设备用于:
2.根据权利要求1所述的设备(100),其特征在于,所述多个内存的所述一个或多个特征包括每个内存的访问时间。
3.根据权利要求1或2所述的设备(100),其特征在于,还用于:
4.根据权利要求3所述的设备(100),其特征在于,为了对所述变量进行划分,所述设备用于,对于每个功能:
5.根据权利要求4所述的设备(100),其特征在于,所述多个内存的所述一个或多个特征包括每个内存的大小,所述设备用于进一步根据每个变量的大小和每个内存的所述大小关联每个变量。
6.根据权利要求1至5中任一项所述的设备(100),其特征在于,所述设备用于进一步根据在每个核执行每个功能所需的所述功能的周期数将所述多个功能映射到所述多个核。
7.根据权利要求1至6中任一项所述的设备(100),其特征在于,所述设备用于以每个核不过载的方式将所述功能映射到所述多个核。
8.根据权利要求1至7中任一项所述的设备(100),其特征在于,还用于根据同一核的两个或更多个功能的释放模式将所述同一核的所述两个或更多个功能组合成任务。
9.根据权利要求8所述的设备(100),其特征在于,还用于为每个任务分配优先级,以最小化每个核的资源利用率。
10.根...
【专利技术属性】
技术研发人员:马可·迪纳塔莱,恩里科·比尼,亚历山德罗·德鲁埃托,安德里亚·格罗索,西尔维奥·巴奇,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。