CN102446238B - 处理器特性优化和通过域分解的大规模系统优化 - Google Patents
处理器特性优化和通过域分解的大规模系统优化 Download PDFInfo
- Publication number
- CN102446238B CN102446238B CN201110251564.9A CN201110251564A CN102446238B CN 102446238 B CN102446238 B CN 102446238B CN 201110251564 A CN201110251564 A CN 201110251564A CN 102446238 B CN102446238 B CN 102446238B
- Authority
- CN
- China
- Prior art keywords
- processor
- forall
- sigma
- network
- application
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于复杂硬件系统的优化处理器需求的系统和方法。复杂硬件系统配置约束组被公式化为目标函数和线性不等式组,并且由所述线性不等式组形成凸多胞形。利用混合整数线性编程方法对于凸多胞形优化目标函数,从而获得最优解。基于所述最优解确定复杂硬件系统的处理器需求。
Description
技术领域
本公开的实施例一般涉及网络计算机配置。更具体地,本公开的实施例涉及在复杂硬件系统和计算机网络中的处理器优化。
背景技术
随着飞行器变得更加复杂,复杂的硬件系统对计算处理能力的需求日益增长。为了满足计算处理能力需求,一般使用新一代的速度更快的处理器。与上一代的处理器相比较,速度更快的处理器使得复杂的硬件系统的集成和复杂性大幅增加。确定一组优化的处理器(数量和能力)满足复杂的硬件系统在实时环境内增长的计算需求是很难的问题。以前,工程师通过选择一种特定的处理器开始,然后继续估计许多所需处理器实例。实例数目的估计要求满足具有计算余量的计算要求,该计算余量是由进度能力规定手动评估冗余、分离、I/O和其他资源的应用需求产生的。这种检查所选择处理器的适当性过程是消耗时间的过程,该过程仍可导致不适当的资源或处理器数目余量。选择处理器的不确定性可以是复杂的硬件系统研制工作中相当大的不确定性来源。
发明内容
本发明公开了优化处理器需求和复杂硬件系统的大规模系统优化的系统和方法。系统配置约束组用公式表示为目标函数和线性不等式组,并且由这组线性不等式形成凸多胞形。利用混合整数线性编程方法对于凸多胞形优化目标函数。基于最优解确定系统的处理器需求。该系统和方法优化非常大型的系统,并确定处理器的最优数目和最佳性能,从而为这种系统提供计算资源。用这种方式,显著地简化了网络系统,如航空电子网络系统,的发展和性能优化,同时满足了网络系统的已知实时应用集的操作和功能需求。而且,可以最小化网络系统重量,和通过居中设计配置可以最大化承受配置变化的能力。此外,这里的网络系统优化可最小化将来变化的费用,同时满足总的系统安全约束。
在第一个实施例中,方法优化了系统的处理器需求。该方法将系统配置约束组公式化表示为线性不等式组和目标函数,并且由线性不等式组形成凸多胞形。该方法还利用混合整数线性编程方法关于凸多胞形优化目标函数,从而获得最优解,并基于该最优解确定系统的处理器需求。
在第二个实施例中,处理器需求优化系统包含输入模块,其可操作地接收公式化表示为线性不等式组和目标函数的系统配置约束组。该系统还包含混合整数线性编程模块,关于线性不等式组的凸多胞形可操作地优化目标函数,从而获得最优解。该系统还包含确定模块,基于最优解可操作地确定系统的处理器需求。
在第三个实施例中,复杂的硬件系统的资源分配系统包含逻辑,用于确定集线器节点的中心传感器/试验器线路分配。该系统进一步包含逻辑,用于确定信息的中心参数分配、确定虚拟链路的中心信息分配、和确定处理器的中心应用分配。该系统还包含逻辑,如果中心系统资源分配满足余量需求,该逻辑用于报告中心系统资源分配。
在第四个实施例中,系统资源分配的方法包含集线器节点的中心传感器/试验器线路分配。该方法进一步包含提供信息的中心参数分配、虚拟链路的中心信息分配、和处理器的中心应用分配。然后如果中心系统资源分配满足余量需求,那么该方法报告中心系统资源分配。
提供以上说明是为了以简化的形式引入概念选择,将在以下的详细说明中进一步描述。以上说明既不是为了确定权利要求主题的关键特征或基本特征,也不是为了用作辅助内容来确定权利要求主题的范畴。
附图说明
当结合以下附图作为参考,通过参考详细说明和权利要求可以获得本公开实施例更完整的理解,其中,附图的同样的参考数字指代相似的元件。提供附图是促进本公开的理解,而不限定本公开的广度、范围、规模、或适用性。附图不一定是按比例制作。
图1示出了示例性飞行器生产和服务方法的流程图。
图2示出了飞行器的示例性方框图。
图3示出了航空电子系统的计算单元和传感器的示例性位置的飞行器。
图4示出了根据本公开实施例的航空电子系统的示例性结构。
图5示出了一段时间内示例性未优化的处理器资源分配。
图6示出了根据本公开实施例的航空电子系统优化的系统的示例性功能方框图。
图7示出了根据本公开实施例的航空电子系统优化过程的示例性流程图。
图8示出了根据本公开实施例的一段时间内的示例性处理器资源分配。
图9示出了根据本公开实施例的航空电子资源分配优化过程的示例性流程图。
具体实施方式
以下的详细说明本质上是示例性的,并不是为了限定本公开或申请和本公开实施例的用途。提供的特定设备、技术、和应用说明仅仅是作为实例。这里描述的实例的修改对于本领域的技术人员来说将是很明显的,以及在不偏离本公开的精神和范畴的情况下,这里定义的一般原理可适用于其他实例和应用。而且,并不是受前述的技术领域、背景技术、发明内容或详细说明中提出的任何表述或暗含的理论约束。本公开应当与权利要求范畴一致,且不限定本文描述和示出的实例。
本文可以在功能和/或逻辑方框部件和各种处理步骤方面描述本公开的实施例。应当理解的是,可以通过将构造许多硬件、软件、和/或固件部件执行特定的功能来实现这种方框部件。为了简洁,在这里可以不描述传统技术以及与处理器设计、共核系统(CCS)、复杂的硬件系统、计算、数学公式、和系统的其他功能方面(和系统的单独操作部件)相关的部件。此外,本领域的技术人员将理解,本公开的实施例可以结合多种计算装置进行实施,且这里描述的实施例仅仅是公开的实例。
这里在实际的非限制应用,即,如航空电子系统的复杂硬件系统中的优化资源的背景下描述了公开的实施例。然而,公开的实施例并不限于这种航空电子应用,并且这里描述的技术也可用于其他优化应用中。例如,实施例可适用于复杂的硬件系统优化,例如但不限于,海军系统优化、海军航空/航海/地面武器控制系统优化、海底声学分析系统优化、空中交通管制系统优化、医疗卫生信息系统优化、声学和电磁信号处理器优化、飞行控制系统优化、系统控制器优化、导航控制器控制/系统优化,等等。此外,实施例可适用于优化复杂的硬件系统,例如但不限于,海运/表面/地下、地面、空间、和空中交通工具系统,例如飞行器、宇宙飞船、航天运载火箭、汽车、地面车辆、潜艇、船只,等等。
在阅读本说明之后本领域的普通技术人员将明显看出,以下是实例和公开的实施例,这些实例和公开的实施例并不限于根据这些实例进行操作。可利用其他实施例,且在不偏离本公开的示例性实施例的范畴的情况下,可以做出结构变化。
更具体地,参考附图,可以在图1所示的飞行器制造和服务方法100与图2所示的飞行器200的背景下描述公开的实施例。在生产之前,示例性方法100可包括飞行器200的说明和设计104与原料采购106。在生产期间,进行飞行器200的部件和组件制造108与系统集成110。之后,飞行器200可进行检定和交付112,为的是放置在服务114中。当在为顾客服务时,飞行器200可以设定日常维护和服务116(也可包括修改、结构变形、翻新等)。
可以通过系统综合供应商、第三方、和/或操作人员(如,顾客)执行或实现方法100的每个过程。为了说明,系统综合供应商可包括但不限于许多飞行器制造商和主要系统的转包商;第三方可包括但不限于许多配件商、转包商、供应商;操作人员可以是但不限于航空公司、租赁公司、军事实体、服务机构等。
如图2所示,由示例性方法100生产的飞行器200可包括机身218、多个系统220和内部222。高级系统220的实例包括一个或多个推进系统224、电气系统226、液压系统228、和环境系统230。还可包括许多其他系统。尽管示出了航空航天实例,公开可应用于其他行业,例如汽车工业。
在任意一个或多个阶段的生产和服务方法100期间可使用这里包含的装置和方法。例如,可以与当飞行器200在使用中生产部件或组件相似的方式建造或制造对应于生产过程108的部件或组件。而且,在生产阶段108和110期间,可以利用一个或多个装置实施例、方法实施例、或其组合,例如,通过大幅度地促进飞行器200的组装或降低飞行器200的开销。同样地,当飞行器200在使用中时,一个或多个装置实施例、方法实施例、或其组合可以用于,例如但不限于,维护和服务116。
如上所述,为了满足计算处理能力的要求,一般使用新一代的速度更快的处理器。与上一代的处理器相比较,速度更快的处理器使得网络系统的集成和复杂性大幅增加。这个观察确定需要解决两个问题,以及需要这里将描述的方法:1)非常大型系统的优化,和2)确定处理器的最佳数目和性能,从而为这种系统提供计算资源。
非常大型系统的优化可能非常困难,因为这需要如此大量的变量,以至于使用当前方法的计算复杂性导致过长的计算时间。实际上,需要将系统分解为松散耦合域,使用分段迭代过程为系统中的那些松散耦合域确定临时解决方法。因为这是极其耗时的,并且解决方法不太可行,如果实现了解决方法,那么是由于偶然事件或过度使用资源,在任一中情况下都导致得不到最佳结果。
现代航空电子系统包含大量的多种元件,例如但不限于,传感器、通信设备、导航设备、致动器、备用设备、分析模块、应用软件程序、计算资源、光导纤维等。为了降低复杂性和减少所需资源,在可能和实际中合并大量的多种元件。
图3示出了飞行器,其示出了航空电子系统300的传感器/致动器302-320和集线器节点322-326的示例性位置。然而,公开的实施例并不限于这种航空电子系统;实施例可适用于其他复杂的硬件系统和上面提及的复杂产品。航空电子系统可以比航空电子系统300描述的少量元件复杂的多。航空电子系统300包含升降舵位置传感器302、方向舵位置传感器304、厕所烟尘探测器传感器306、机舱温度传感器308、阻流片致动器310、燃油传感器312、发动机油门致动器314、发动机传感器316、襟翼动作筒318、导航灯致动器320、和集线器节点322/324/326。
升降舵位置传感器302包含耦合升降舵的编码器。升降舵位置传感器302可周期性地发送包含升降舵位置信息的数据包。
方向舵位置传感器304包含耦合方向舵的编码器。方向舵位置传感器304可周期性地发送包含方向舵位置信息的数据包。
厕所烟尘探测器传感器306包含检测厕所(未示出)状态的电子探测器。厕所烟尘探测器传感器306可发送包含响应烟尘事件的烟尘检测信息的数据包。由于可以在未知时间发送数据包,必须为数据包分配资源,但是资源分配不能干扰重要通信。
机舱温度传感器308包含检测机舱温度的电子温度检测器。机舱温度传感器308可周期性地发送包含响应超温事件的温度信息的数据包。
阻流片致动器310包含用于定位阻流片的致动器。阻流片致动器310接收响应飞行航向的命令包,并因此设定阻流片位置。
燃油传感器312包含用于测量燃油箱中燃油的燃油检测器。燃油传感器312周期性地发送包含响应低燃油事件的燃油信息的数据包。
发动机油门致动器314包含用于设定发动机油门(未示出)位置的致动器。发动机油门致动器314接收响应飞行命令的命令包,并因此设定发动机油门。
发动机传感器316包含检测多种发动机参数的电子传感器盒子。发动机传感器316周期性地发送包含发动机运转信息的数据包。
襟翼动作筒318包含用于设定襟翼(未示出)位置的致动器。襟翼动作筒318接收响应飞行命令的命令包,并因此设定襟翼位置。
导航灯致动器320包含用于打开或关闭导航灯(未示出)的致动器。导航灯致动器320接收响应飞行航向的命令包,并因此设定灯的状态。
集线器节点322/324/326包含控制传输至传感器/试验器302-320或来自传感器/试验器302-320的数据包的网络路由单元。
图4示出了航空电子系统400的示例性结构。航空电子系统400可包含传感器/试验器302-320、集线器节点322-326、和处理器402-410。
上面描述了传感器/试验器302-320,以及根据其需求发送和接收数据包。传感器/试验器302-320需求以接口类型和性能为特征,同时使导线负重。
集线器节点322-326和412-416的功能实现包含有限数目的模拟、离散、串行数字接口。集线器节点322-326和412-416功能要求严格的进度,处理来自传感器/试验器302-320的数据包。此外,处理传感器/试验器302-320的接口消耗集线器节点322-326和412-416处理器性能。集线器节点322-326的进度也必须符合由需求设定的延迟约束。结果就是对集线器节点322-326和412-416的传感器/试验器302-320的每个接口进行分配,首先进行集线器节点322-326和412-416的进度。
处理器402-410处理各种应用从而支持传感器/试验器302-320和其他航空电子应用。应用的计算需求是以用处理器速度、严格的(不可抢占的)执行周期、和内存需求参数化表示的执行时间为特征。以下将讨论处理器资源分配。
图5示出了一段时间内的示例性未优化的处理器资源分配。图5示出了六个应用计算模块(ACM或处理器)0-5,同时应用分配给各个模块。四个周期应用实例502分配给处理器5,两个周期应用实例504分配给处理器2,两个周期应用实例506分配给处理器1,和四个周期应用实例508分配给处理器0。如图5所示,处理器0和1负载相对较轻,因此处理器资源分配不是最优的。
设计航空电子处理器的现有方法都是耗时的、迭代的,并且不支持各种设计方案间的系统权衡。公开的实施例提供了复杂的硬件系统设计人员的设计能力。特别地,通过数学优化相关的应用和系统特性,并提出确保应用间共享资源有效的解决方法,公开的实施例支持设计空间的系统研究。实施例大大地简化了网络系统的发展和性能优化,以及同样可简化认证。
航空电子处理器设计要求仔细地分析航空电子应用的计算需求。处理器集可共同地满足航空电子应用的需求。这需要考虑如何将应用分配给处理器。除了计算需求之外,应用具有通信和输入/输出(I/O)需求,它们密切结合各自的计算需求。据此,在处理器设计期间也考虑通信和I/O需求是必要的。公开的实施例寻求提供资源利用的指定余量的处理器设计最优值。
通过需求指定余量,实施例不仅为应用未来增长提供空间,而且产生所有资源的更加“位于中心的”用途。设计居中法均匀地提供所有资源间的散布工作量,而不会引起资源利用的瓶颈。
在一个实施例中,航空电子应用已知是先验地,以其执行时间、周期、存储消耗、和至网络的输入/输出信息。通过应用间的分离和住所需求满足故障容差和冗余需求。在现有的解决方法中,处理器性能是已知的;和因此获得处理器的优化应用分配。与现有的解决方法相比较,在这里描述的实施例中,处理器性能是未知的;和获得处理器性能的最优值,从而满足具有指定余量应用的全部需求。这里描述了之前无效的算法过程,通过优化计算资源的设计解决这个问题,从而满足指定组的航空电子应用的需求。之前该过程无效是因为至少两个原因:(a)需要由航空电子系统满足的条件集,和(b)已知的这个问题的NP-难解计算复杂性(如,一个连接具有分配和进度的设计)。一般地,NP-难解问题意味着需要解决问题的计算资源随问题的大小呈指数增长。这种问题的解决方法本质上一般是组合的;研究所有可能的组合,即使是大小适中的问题可十分迅速地接近数千年的计算时间,即使是在可用的速度最快的处理器上。
公开的实施例解决了确定满足已知的实时航空电子应用的操作和功能需求集的优化的航空电子系统的问题。公开的实施例中心设计配置最大化承受配置变化的能力,因而最小化将来变化的开销,同时满足整个系统的安全约束。该过程在某种意义上是迭代的,从而实现收敛,同时确保安全的系统设计。
用这种方式,如下文所描述的,通过考虑使用系统资源的给定组的航空电子应用的计算、通信、和I/O需求,确定了实时航空电子系统(如,航空电子系统400)范围内处理器的最优设计。如上所述,应用的计算需求是以处理器速度、严格的(不可抢占的)执行周期、和内存需求参数化表示的执行时间为特征的。通信需求是以应用所需的许多虚拟链路(点到多点通信链路)和虚拟链路的通信带宽为特征的。I/O需求是以处理器终端系统范围内所需内存大小和端口类型为特征的。如这里所述,处理器设计问题以允许优化与各种资源余量相关的多种目标函数的方式得到了解决,同时确保满足应用需求。由公开的实施例克服的主要技术难题就是那种规模。处理器的最优设计解决了包含多达几十个处理器、几百个应用、和几千条信息的问题,同时每个处理器用于目标能力水平,使得剩下的作为余量。这种余量和问题大小一般是现代航空电子网络,以及同样允许公开的实施例应用于这些问题。在此之前还没有开发出这种数值设计方法,包括大型的、多维的和紧凑的分配和进度问题。由处理器的最优设计提供的性能使得航空电子系统能够在商用飞行器和军用飞行器得到发展。设计航空电子处理器的现有方法都是耗时的、大量迭代的、并且不支持各种设计方案间的系统权衡。特别地,通过数学优化相关的应用和系统特性,并产生确保应用间的共享资源有效性的解决方法,这里描述的处理器最优设计支持设计空间的系统研究。用这种方式,网络系统(如,航空电子系统400)的发展、性能优化、和认证大大得到了简化。
假定n个应用τi集,i=1,...,n。假定m个处理器gj集,j=1,...,m,其中n一般大于m。每个应用应当分配给单个处理器,例如,从某种程度上来说每个处理器402-410的资源有效,那么每个处理器402-410可以由分配给处理器的应用充分共享。不同的应用需要不同数量的资源。应用数目n和每个应用的资源需求是已知的。未知的是:(a)满足所有应用的共同需求的足够资源(具有指定余量),和(b)处理器402-410的具体应用分配。处理器402-410上的计算、通信、和I/O资源与应用对这些资源的消耗需求是数学描述的。然后用公式表示对应于(a)未知的资源量、和(b)处理器402-410的未知应用分配的变量集。这两个量是相互关联的。402-410的每个处理器所需资源量依赖于处理器402-410的应用分配,同时应用反过来进而依赖于应用分配给每个处理器402-410的资源量。公开的实施例通过参数化根据资源量的应用需求数学创建这种双方依赖性,以及构造根据未知资源量的数学公式。然后用公式表示根据资源余量的目标函数,以及关于利用这里描述的优化方法求解未知的资源量。为了简洁起见,这里提供了公式的简化描述和相应的约束。
应用的约束如下:
1)应用要求在指定周期每个处理器402-410的指定量的执行时间。
2)每个处理器402-410上的应用进度不应当重叠。
3)指定的应用共栖和分离约束存在:应用之间、应用和处理器402-410之间、以及应用和机箱(如,计算机机箱或机架)之间。
4)应用内存需求-在处理期间应用要求指定数量的内存。这是由处理器402-410提供的。每个处理器402-410上的应用的可用内存总大小是确定的。
5)应用消息接发需求-应用利用通信端口发送和接收信息。这些通信端口使用内存。用来满足分配给处理器的应用消息接发需求的每个处理器402-410的可用内存量是确定的。
6)应用消息接发需求-应用利用虚拟链路(VL)发送和接收信息。每个处理器402-410上的许多这种有效VL是确定的。
7)应用消息接发需求-应用要求通信信息的指定量的带宽,其通过虚拟链路提供至通信信息。每个处理器402-410上的虚拟链路的有效通信带宽总量是确定的。
假定以下变量x(分配变量)和d(进度变量)的定义:
应用系统Γ={τi,i=1,...,n}
处理器G={gi,i=1,...,m}
pi,ei-第i个应用的周期和执行时间
周期值Q=(q1,q2,...,qr)
周期值中的指数l∈{1,...,r}
xijk∈{0,1},如果任务j的事件在处理器i的第k个仓(bin)中,值是1
仓指数k∈{1,...,H/q1}
dil∈{0,1},如果处理器i的最小周期是ql,否则是0
其中i、j、k、l、m、n、r和l都是整数。
处理器设计问题明确地表达为如以下的测定仓大小和装仓问题。每个处理器402-410的时间线被划分为大小是q1的仓。
假定处理器402-410之间的第i个处理器。如果第i个处理器应用周期的最小值是ql,考虑大小为ql的超级仓从而定义装仓约束。对于第一个超级仓,可以使用二进制变量dil选择处理器i的仓大小ql。
为了在超级仓内积累周期ql的所有应用,由仓增量q1划分超级仓,超级仓于是包含ql/q1个仓。分配给仓的应用的执行时间总和ej必须小于仓的大小。这导致以下的约束表达式:
结合非重叠的、严格的周期进度需求,获得描述计算需求的以下数学编程公式。变量h定义处理器402-410范围内的未知处理器速度。
s.t.
(6b) h≥0
在以上公式中,第一个语句(1)指定目标。在这种情况下,目标是最小化处理器u(如,处理器402-410)的数量。以上约束(2)确保选择分配(x),这样每个应用分配给一个处理器,且只有一个来自处理器402-410的处理器ui。约束(3)确保如果应用分配给处理器ui,那么处理器u开始计算作为正在使用的处理器。约束(5)是该公式中最重要的部分,将未知分配x和未知处理器资源量h(如,处理器速度)互相联系起来。约束(5)确保在严格非重叠周期开始时间的必要执行时间(e)可以进度应用。约束(6a)确保如果应用分配给处理器ui,那么通知处理器ui进行进度该应用。剩余的约束定义了变量类型及其范围。
以相似的方式公式化其他目标函数。总的目标是最大化处理器的最小资源余量,无论是带宽、虚拟链路、内存、或计算吞吐量-其是居中设计空间的分配。关于计算吞吐量,可以使用不同的公式。例如,为了最大化处理器级的最小计算余量,变量mc定义为最小计算余量。可以通过将以上约束(2)修改为(2a)规定mc值的约束。新的目标函数和修改的约束(2)可以规定为以下:
(1a)max mc
其中H是超级周期(hyper-period),这样第j个任务具有超级周期H内的H/pj事件。
另一个可能的目标函数是最大化较小框架级的最小计算余量。同样地,变量mmc定义为较小框架计算余量的最小值,并且修改以上(1)和(5)如下:
(1c)max mmc
也可以设计许多其他的资源余量。于是可以通过将资源余量表述为目标函数最大化或最小化这些资源余量,或通过表述为约束来限制资源余量。这种公式产生混合整数线性编程(MILP)形式的组合优化问题。公开的实施例可以利用MILP工具公式化和求解这些MILP,例如但不限于,CPLEX、CBC、Gurobi等。
其次,如以下公式13-18、21-25、26-30、31、36、37-39、40、51-55、61-62中增加了应用共栖/分离约束、内存约束、和通信约束。
应用共栖/分离需求-应用共栖/分离需求强加限制于处理器402-410的应用分配。应用共栖/分离需求可定义需求,从而分配一对应用给相同的处理器。应用共栖/分离需求还可定义需求,从而分配应用给特定的处理器或是特定机箱内的任一处理器。或者应用共栖/分离需求可定义需求是特定对的应用不得允许分配给相同的处理器。如以下列表需求和数学描述进行数学实施应用共栖/分离需求。
ACM分离约束26(b)要求一对应用tj1和tj2必须在分离的应用计算模块ACM上,基于以下关系定义该ACM分离约束:
ACM共栖约束(26)要求一对应用tj1和tj2必须分配给相同的ACM(如,由于共享内存等),基于以下关系定义该共栖约束:
驾驶室分离约束(27)要求一对应用tj1和tj2必须分配给分离机箱内的ACM,基于以下关系定义该分离约束:
驾驶室共栖约束(28)要求一对应用tj1和tj2必须存在于相同的机箱(或是左边或右边),基于以下定义该共栖约束:
ACM住所约束(29)要求应用tj1必须存在于ACM gi1,基于以下关系定义该住所约束:
驾驶室住所(30)要求应用tj1必须存在于机箱Fl1(如,如果指定驾驶室住所,那么机箱约束无须增加至定义中),基于以下关系定义该驾驶室住所:
ACM在外(ACMKeepOut)(30b)要求应用tj1必须不能在ACMgi1内,基于以下关系定义该ACMKeepOut:
应用消息接发需求-应用利用虚拟链路(VL)发送和接收信息。虚拟链路是一个概念,其用于分配网络通信带宽给应用的通信需求。为了定义VL约束,定义了变量zli∈[0,1],如果VLl连接至处理器gi,值为1,否则值为0。
接收和传送虚拟链路(RX/TX虚拟链路)约束可以数学陈述为以下:
其中bl是VLl的已知带宽,是处理器gi的最大接收带宽,是处理器gi的最大Rx VL计数,是处理器gi的最大传送带宽,是处理器gi的最大Tx VL计数,Shj是应用j的共享VL集,nusj Rx是应用j的未共享接收VL数,busj Rx是应用j的未共享接收VL带宽数。
内存约束-可至少提供五种处理器ACM i(ACM gi)中的存储资源:RAM、ROM(闪存)、非易失性存储器(NVM)、终端系统(ES)存储器(涉及端口)、和共享内存区域(SMR)。RAM/ROM/NVM约束是相似的,每个应用要求指定数目的这三种类型存储器中的每个。指定分配给处理器中应用的内存总数范围(处理器的内存大小)的约束陈述为以下:
其中raj是应用j所需的RAM,RAi是由ACM gi提供的全部RAM,roj是分割j所需的ROM,ROi是由ACM gi提供的全部ROM,rnj是应用j所需的NVM,RNi是由ACM gi提供的全部NVM。
共享内存区域(SMR)-由应用共同使用的内存集被称为SMR。如果应用碰巧分配给相同的处理器,应用共享SMR;否则SMR是完全一样的。SMR同时消耗处理器中的ROM和RAM资源。为了设计SMR,考虑以下定义。假设Psl(可能是空)是需要访问SMRl的应用集。存在三种SMR:ACM读(RG)、处理器读(RP)、读/写(RW)。
对于RG-SMR:Psl=null。定义Sgi是分配给ACM gi的SMR集,(如,Sgi={SMR:分配给ACM gi的SMR})。
对于RP-SMR:宿主在Psl中τj的所有ACM上可以复制SMR。对于RP-SMR,定义yil∈[0,1],如果SMRl是共享的且分配给ACM gi,那么yil为1,否则为0,(如,如果Psl中的τj分配给ACMgi,那么yil为1)。而且,Su可以定义为未共享的RP-SMR集,如,Su={RP-SMRl:|Psl|=1}。
对于RW-SMR:Psl中的应用需要共栖在相同的gi。为了加强共栖并分配SMR,让我们定义Srw为RW-SMR组。有两件事是必要的:(1)程序设计者约束(如约束集(26c)所示,将使SMRl在Srw的Psl中的所有应用分配给相同的处理器)。和(2)对于Srw中的SMRl,第五个术语增加至以下,从而具体说明内存消耗。产生的约束(61)、(21a)、(22a)和(62)如以下:
非易失性存储器(NVM)带宽约束-该约束定义了访问所有分配应用的NVM全部带宽的ACM上界。
存在两种模式的NVM访问:正常运行和省电模式运行。分别划定每个的带宽。每个应用是以正常运行带宽和减低动力运行带宽(bni,bpi)为特征的。
每个ACM是以极限(BNk,BPk)为特征的。
NVM带宽约束如下:
终端系统内存约束-处理器的普通端口能够使来自应用和传输至应用的信息通信。为了此目的由应用消耗处理器的全部内存(称为终端系统内存)受到限制。
传送的信息是非共享的。某些接收的信息在应用之间可以是共享的,在这种情形中它们也共享普通端口。为了考虑应用分配中的内存限制和处理器402-410的设计,需要考虑以下变量定义和约束。
对于共享信息Msgl:SMj是应用τj所需的共享Rx信息组,如果在ACM i接收信息l,那么在[0,1]的mli是1,esml是信息l所需ES内存(穿过接收信息l的应用)的最大值,并且ESMi是ACM i可用的全部ES内存。
对于未共享的信息:musj Rx是τj的Rx信息所需的全部内存,pusj Rx是τj的未共享Rx普通端口的全部计数,以及CPCj Rx是处理器gi的Rx普通端口计数的上界。
那么,终端系统内存的约束基于以下关系:
其中,pusj Rx是τj的未共享Rx普通端口的全部计数,pusj Tx是τj的未共享Tx普通端口的全部计数,CPCj Rx是gi的Rx普通端口计数的上界,Msgl是共享信息,SMj是由应用τj所需的共享接收信息集。
图6是根据公开的实施例的用于航空电子系统优化的系统600的示例性功能方框图。系统600大大地简化了大规模系统(如,航空电子系统)的性能优化,允许:减少系统重量、最大化承受居中设计配置的配置变化能力、和最小化将来的开销同时满足整体的系统安全约束。系统600可表示,例如但不限于,台式计算机、便携式计算机或笔记本型计算机、手提式计算设备(PDA、手机、掌上型计算机等)、主机、服务器、客户机、或任意其他类型的可以是理想的或适合给定应用或环境的特殊或通用计算设备。系统600一般包含物理外壳(未示出)、输入模块602、公式化模块604、混合整数线性编程模块606、确定模块608、处理器模块610、存储器模块612、和显示模块614。
实际系统600可包含任何数目的输入模块、任何数目的处理器模块、任何数目的存储器模块、和任何数目的显示模块。为了便于描述,所示系统600描述了简单的实施例。系统600的这些和其他元件互相连接在一起,允许系统600的各种元件之间进行通信。在一个实施例中,系统600的这些和其他元件可以通过通信链路616相互连接在一起。本领域的技术人员将理解,关于公开的实施例描述的各种说明性的方框、模块、电路、和处理逻辑可以实施在硬件、计算机可读软件、固件、或其任意实际组合中。为了清楚地说明硬件、固件、和软件的互换性和兼容性,一般就其功能而言描述了各种说明性的部件、方框、模块、电路、和步骤。不管这种功能实施为硬件、固件、或是软件,这取决于强加于整个系统的具体应用和设计约束。那些熟悉这里描述的概念可以适当的方式实施每个具体应用的这种功能,但是这种实施结果不应当引起偏离本公开的范畴。
输入模块602接收来自用户的输入数据,并发送输入数据给公式化模块604。输入模块602可包含输入装置,例如但不限于,激活键、触控板键、本地或远程访问的数据库等。
公式化模块604接收输入数据,并将输入数据转换为线性不等式组和目标函数的参数。
线性混合整数模块606使用线性不等式组和目标函数计算,例如但不限于,处理器资源分配、通信资源分配等的最优解,如以上所述。
确定模块608基于该最优解确定航空电子系统的处理器需求。基于该最优解的结果,可以确定处理器(如,处理器402-410)的资源、和许多所需的处理器等。
处理器610配置为支持系统600的功能。处理器模块610可控制系统600的操作,这样可适当地执行系统600的过程。例如,处理器模块610控制混合整数线性编程模块606的操作和确定模块608,从而执行混合整数线性编程,这样基于最优解可确定航空电子系统的处理器402-410需求。用这种方式,处理器模块610允许简化了网络系统的发展和性能优化,其满足已知的实时航空电子应用的操作和功能需求集。此外,处理器模块610执行中心设计构造,如以下更详细地说明,最大化承受变化的能力,从而最小化将来变化的时间和开销,同时满足整个的系统安全约束。
处理器模块610还控制显示模块614显示输入/输出参数等。进一步,处理器模块610访问存储器模块612,例如访问输入数据。处理器模块610可以用通用处理器、内容寻址存储器、数字信号处理器、专用集成电路、现场可编程门阵列、任意合适的可编程逻辑设备、分立门或晶体管逻辑、分立硬件部件、或其任意组合实施或实现,指定去执行这里描述的功能。用这种方式,处理器可作为微处理器、控制器、微控制器、状态机等来实现。处理器还可实施为计算设备的组合,如,数字信号处理器和微处理器的组合、多个微处理器、一个或多个微处理器连同数字信号处理器核心、或任意其他这种构造。实践中,处理器模块610包含处理逻辑,其构造为执行与系统600的操作相关联的功能、技术、和处理任务。具体地,处理逻辑构造为支持混合整数线性编程模块606和确定模块608的操作,这样可确定处理器的最优数和最优性能,从而为较大型的优化系统提供计算资源。
存储器模块612可以是具有适当数目内存的任意合适的数据存储区域,其设计为支持系统600的操作。存储器模块612构造为通过以下描述的方式存储、保持、和提供所需数据,从而支持系统600的功能。在实际的实施例中,存储器模块612可包含,例如但不限于,非易失性存储设备(非易失性半导体存储器、硬盘设备、光盘设备等)、随机存取存储设备(例如,SRAM、DRAM)、或本领域已知的任意其他形式的存储介质。存储器模块612可以连接处理器模块610,并构造为存储,例如但不限于,对应于风险评估的输入参数值和输出参数值。
存储器模块612可存储,例如但不限于,来自用户的输入从而公式化线性不等式组,例如网络通信和处理器资源分配的参数。此外,存储器模块612可表示含有表格的动态更新数据库,其为了利用处理器模块610进行计算。存储器模块612还可存储,由处理器模块610执行的计算机程序、操作系统、应用程序、用于执行程序处理的暂定数据等。存储器模块612可连接处理器模块610,这样处理器模块610可读取来自存储器模块612的信息,以及向存储器模块612写信息。作为例子,处理器模块610和存储器模块612可存在于其各自的ASIC中。存储器模块612还可归并到处理器模块610中。在实施例中,存储器模块612可包含高速缓冲存储器,其用于在处理器模块610执行指令期间存储临时变量或其他中间信息。
显示模块614构造为显示系统600的输入和输出参数。显示模块614显示处理器资源分配的最优解结果,例如图8中所示的结果。显示模块614可接收用户输入操作输入和传送数据,以及系统600中提供功能的输入操作指令。显示模块614接收操作指令、和处理器610响应所接收的操作指令后的输出操作指令信息。显示模块614可以由,例如但不限于,有机电致发光(OEL)面板、液晶显示(LCD)面板等形成。通过处理器模块610所提供的图像/视频信号,可以在显示模块614上显示各种信息。
图7示出了根据公开实施例的航空电子系统优化过程的示例性流程图。关于过程700进行的各种任务可以通过软件、硬件、固件、具有用于执行处理方法的计算机可执行指令的计算机可读介质、或其任意组合来执行。过程700可以记录在计算机可读介质上,例如半导体存储器、磁盘、光盘等,以及可以通过例如计算机CPU(如,计算机可读介质存储的处理器模块610)访问和执行该过程700。应当理解的是,过程700可包括许多额外的或可选择的任务,图6中所示任务不需要以所示顺序执行,以及过程700可以合并为具有这里未详细描述的额外功能的更广泛的程序或过程。为了说明的目的,过程600的以下描述可涉及上面关于图1-4和图6提及的元件。在实际的实施例中,过程700的部分可以通过系统600的不同元件执行,例如:公式化模块604、混合整数线性编程模块606、处理器模块610、和存储器模块612。过程700可具有与图1-4和图6中所示实施例相似的功能、材料、和结构。因此,这里不再冗余地描述共同特征、功能、和元件。
过程700可通过将航空电子系统配置约束组公式化为如上讨论的线性不等式组和目标函数(任务702)而开始。
过程700可通过由这组线性不等式形成凸多胞形(任务704)继续进行。凸多胞形(如,也被称为单形)是多面体的一种特例,其具有额外特性,就是它也是n维空间中凸点集。适当公式化的线性不等式组将形成凸多胞形,因此通过目标函数可以求解。
过程700可通过利用混合整数编程装置关于凸多胞形优化目标函数,从而获得最优解(任务706)而继续进行。线性编程(LP)是数学方法,以如线性等式表示的需求列表所给定的数学模型来确定一种方法实现最优结果(例如,最大利润或最少成本)。更正式的,线性编程是优化线性目标函数的方法,以线性等式和线性不等式约束为条件。假定凸多胞形和定义在该多面体上的实值仿射函数,线性编程方法将通过搜索多面体顶点而查找凸多胞形上的点,如果该点存在,那么该函数具有最小(最大)值。线性编程是可以用规范形式表示的问题:min cTx这样Ax<=b,其中x表示变量矢量(要确定的),c和b是(已知的)系数矢量,且A是(已知的)系数矩阵。需要最大化或最小化的表达式被称为目标函数(如,在该例子中的cTx)。方程式Ax≤b是指定要在该凸多胞形上优化目标函数的约束(如,在该环境下,当一个矢量的每个输入小于或等于另一个对应的输入,两个矢量是可比较的。否则,这两个矢量就是不可比较的)。
线性编程可以应用于各种研究领域。线性编程最广泛地用于商业和经济学,但也可用于某些工程问题。使用线性编程模型的产业包含交通运输、能源、电信、和制造业。已经证明线性编程模型在模拟编程、路由、进度、分配、和设计方面的各种问题方面很有用。
如果未知变量都要求是整数,那么问题被称为整数编程(IP)或整数线性编程(ILP)问题。与线性编程相比较,线性编程可以在最坏的情况下有效地求解,整数编程问题在很多实际情形中(那些具有约束变量)是NP-难解。0-1整数编程或二进制整数编程(BIP)是整数编程的特例,其中变量要求是0或1(而不是任意的整数)。这个问题也被分类为NP-难解,事实上结果形式是Karp的21NP完全问题中的一种。
如果只有某些未知变量要求是整数,那么问题被称为混合整数编程(MIP)问题。这些问题一般也是NP-难解。然而存在某些重要的IP和MIP问题子类,其是有效可求解的和最特别的问题,其中约束矩阵完全是幺模的,并且约束的右端都是整数。求解整数线性编程的高级算法包括:割面法、分枝余量法、分枝裁剪法、分枝定价,以及如果问题具有某些额外的结构,那么可以使用延迟列生成法。
过程700可通过基于最优解确定航空电子系统的处理器需求(任务708)而继续进行。基于混合整数线性编程解的结果,可以确定处理器的资源和许多所需的处理器。
图8示出了根据公开实施例的经过一段时间优化的示例性处理器资源分配。如图8所示,分配给处理器1(图5)应用506的两个周期实例现在增加至分配给处理器0的应用508的四个周期实例中。用这种方式,如图8中所示,由于最优解的更有效的资源分配,现在只需要五个处理器0-4,而不是图5中示出未优化情况中所需的五个处理器。
如上所述,这里描述的示例性系统包含航空电子处理器、提供处理器之间通信的网络、和提供模拟、离散、和本地数字网络接口的输入/输出(IO)通道。随着系统(如飞行器)变得更加复杂,航空电子系统范围内对处理能力、网络带宽、和接口种类的需求日益增长。在航空电子系统中确定优化的应用到处理器分配、信息到网络通道、参数到信息、和物理导线连接IO通道集,从而满足性能、安全、操作有效性需求,同时最小化网络系统的重量,这是个非常困难的问题。
在一个实施例中,通过将系统分解为连通域集(域分解)、对每个域的中心设计迭代并连续求解、以及迭代直到获得整个系统水平目标的令人满意的量,可以获得大规模航空电子系统的最优资源分配,这将在以下更详细地说明。
图9示出了根据公开实施例的基于中心设计配置的航空电子系统资源分配优化过程900的示例性流程图。可以通过软件、硬件、固件、具有执行过程方法的计算机可执行指令的计算机可读介质、或其任意组合执行关于过程900执行的各种任务。过程900可以记录在计算机可读介质上,例如半导体存储器、磁盘、光盘等,以及可以通过例如计算机CPU(例如,计算机可读介质存储的处理器模块610)进行访问和执行过程900。应当理解的是,过程900可包括许多额外的或可选择的任务,图9中所示任务不需要以所示顺序执行,并且过程900可以合并为具有这里未详细描述的额外功能的更广泛的程序或过程。为了说明的目的,过程900的以下描述可涉及以上关于图1-4和6-8提及的元件。在实际的实施例中,可以通过系统600的不同元件执行过程900的部分,例如:处理器模块610、和存储器模块612。过程900可具有与图1-4和6-8中所示实施例相似的功能、材料、和结构。因此,这里不再冗余地描述共同特征、功能、和元件。
过程900通过将复杂的硬件系统分解为连通域集、对每个域的中心设计进行迭代和连续求解、以及迭代直到获得整个系统水平目标的令人满意的量,可以确定复杂的硬件系统的最优分配。不可能完全独立于其他域求解每个域。每个域依赖于其他域而求解。选择域的边界从而最小化与邻近域的相互作用。而且,存在域接口的某些方向性方面。例如I/O通道的传感器/试验器线路接口并不是网络VL的功能。但是,网络VL是I/O通道的传感器/试验器线路接口的功能。这允许过程900一般使来自“较低”水平的域的接口保持不变。然而,在某些实施例中,较高域和较低域之间存在极大的联系。在这种情况下,要求迭代完全确定中心设计。
过程900可通过确定集线器节点322-326和412-416的中心传感器/试验器线路分配(任务902)而开始。传感器/试验器需求是以接口类型和性能为特征的,同时使导线负重。I/O通道功能实施具有有限数量的模拟、离散、和串行数据接口。通道功能要求稳固的进度处理接口。此外,处理这些传感器/试验器接口消耗I/O通道处理器性能。I/O通道的进度还必须满足由需求集设置的延迟约束。任务902的结果是每个传感器/试验器接口分配给I/O通道,以第一顺序处理I/O通道的进度。
过程900可通过确定信息的中心参数分配(任务904)而继续进行。信息需要由基于已知发布/预定需求的功能一致的参数集组成。这些需求为每个参数或参数集指定单个资源和多个目标。此外,需求指定信息中的参数类型和数目,参数需要如何分组,参数允许的最大传输延迟,以及是否存在任一资源为这些参数选择分组。信息可以由一个或多个参数构成。任务904使传感器/试验器302-320的接口分配保持不变,从而指定集线器节点322-326和412-416。产生以大小和输出端口速率为特征的信息集。产生改进的集线器节点322-326和412-416进度,从而验证性能的可行性。
过程900可通过确定虚拟链路的中心信息分配(任务906)而继续进行。虚拟链路是系统综合供应商为特定信息提供具体的服务质量,同时最小化网络带宽并达到要求延迟的装置。虚拟链路是逻辑结构,其将来自单个资源的一个或多个信息分组,并提供有保证的带宽给一个或多个目标。每个信息分配给子虚拟链路,从而为特定信息提供虚拟链路范围内改进的服务质量。虚拟链路是以优先权、传输时间周期、传输定时器周期、传输定时器偏移量、最大传输单元、和带宽分配差距为特征。后两者定义虚拟链路带宽。每个传输线路可替换单元(LRU)和每个预定的LRU将具有带宽和虚拟链路数目约束。LRU约束不需要完全相同地适合于所有LRU。虚拟链路的信息分配需要考虑LRU需求和信息的参数延迟需求。该阶段的输入是所有参数分配给信息。可以使用初值估计分配应用给处理。可以利用与大规模分组应用相关的信息完成该操作。输出是分配给虚拟链路的信息集,具有的特征满足延迟需求与已知的LRU虚拟链路和带宽限制。
过程900可通过确定处理器402-410的中心应用分配(任务908)而继续进行。通信需求以应用所需的虚拟链路数(点对多点通信链路)和虚拟链路的通信带宽为特征。I/O需求以每个处理器402-410终端系统范围内所需的存储器大小和端口类型为特征。任务908的输入是虚拟链路分配的信息。任务908的输出是处理器402-410的应用分配,这样消耗的资源是充足的,并且满足以上所述的某些目标函数,消耗的资源可以是来自任一处理器到处理器的水平装入资源使用量。
过程900可通过检查中心复杂的硬件系统资源分配是否满足余量需求(调查任务910)而继续进行。如果中心复杂的硬件系统资源分配未满足余量需求(调查任务910的否分支程序),那么过程900返回至任务902。如果中心复杂的硬件系统资源分配满足余量需求(调查任务910的Yes分支程序),那么过程900继续至任务912。
过程900可通过报告中心复杂的硬件系统资源分配(任务912)而继续进行。报告可包含,例如但不限于,在显示屏上显示、产生纸质报告等。
用这种方法,通过域分解提供了处理器最优数、性能、和大规模的系统优化,能够使复杂的硬件系统(例如,航空电子系统)在商业和军用飞行器方面得到发展。因此,简化网络系统的发展和性能优化,同时降低发展时间和开销,并且确保应用需求都符合要求。
在该文件中,术语“计算机程序产品”、“计算机可读介质”等一般用于指媒介,例如存储器、存储设备、或存储单元。计算机可读媒介的这些和其他形式可涉及存储由处理器模块610使用的一个或多个指令,从而引起处理器模块610执行指定的操作。这种指令,一般被称为“计算机程序代码”或“程序代码”(可以计算机程序或其他分类形式进行分类),当执行程序代码时,使得系统600的复杂的硬件系统优化方法可行。
以上描述涉及元件、节点、或零件“连接”或“连结”在一起。如这里所使用的,除非明确说明,否则“连接”意思是一个元件/节点/零件直接连接到(或直接与之通信)另一个元件/节点/零件,不一定是机械连接。同样,除非明确说明,否则“连结”意思是一个元件/节点/零件直接或间接地连接(或直接或间接地与之通信)另一个元件/节点/零件,不一定是机械连接。因此,尽管图3-4和图6描述了元件的实例安排,但是额外的介于其间的元件、设备、零件、或部件可以出现在公开的实施例中。
在本文件中使用的术语和短语,及其变体,除非明确说明,否则应当构造为可扩展而非限制。如前述的实例:术语“包括”应当理解为意思“包括,但不限于”等;术语“实例”用于提供讨论内容的示例性例子,不是其详尽的或限制列表;以及修饰语例如“常规的”、“传统的”、“普通的”、“标准的”、“已知的”和类似意思的术语不应当构造为将描述项限制为规定的时间周期或从规定时间起的有效项,而是应当理解为包括常规的、传统的、普通的、或标准的技术,其在目前或将来任一时间都是有效的或已知的。同样,与连接词“和”连接在一起的一组项不应当理解为要求那些项的每个和每一个出现在组中,而应当理解为“和/或”,除非明确说明。同样,与连接词“或”连接在一起的一组项不应当理解为要求在组中相互排他性,而是也应当理解为“和/或”,除非明确说明。而且,尽管可以单数形式描述或要求公开的项、元件、或部件,但是复数形式考虑在其范畴内,除非明确说明复数形式的限制。在某些实例中出现的扩大词语或短语,例如“一个或多个”、“至少”、“但不限于”或其他类似短语,不应当理解为在没有这种扩大短语的例子中意指或要求更窄范围的情况。
Claims (12)
1.一种在包括多个处理器和传感器的网络中分配资源的方法,所述方法包括:
确定处理所述网络中多个虚拟链路上的信息所需的处理器的最少数量以及处理器计算能力,其中每个虚拟链路表示所述网络中的所述传感器之一和至少一个所述处理器之间的专用数据通信路径;并且
其中确定所述处理器的最少数量以及处理器计算能力包括:
将所述处理器、传感器和虚拟链路建模为线性不等式组;
由所述线性不等式组形成凸多胞形;
在所述凸多胞形上优化目标函数,从而获得所述处理器的数量和计算余量。
2.根据权利要求1所述的方法,其中,所述线性不等式组包括:
( 6b) h≥0
其中ui是处理器,x是未知分配变量,h是未知处理器速度,d是进度变量,ej是分配给仓的应用i的执行时间的总数,ql是处理器ui的仓大小,q1是ql的仓增量,pj是第i个应用的周期。
3.根据权利要求1所述的方法,其中,所述线性不等式组包含:
其中raj是应用j所需的RAM,RAi是由ACMgi提供的全部RAM,roj是应用j所需的ROM,ROi是由ACMgi提供的全部ROM,rnj是应用j所需的非易失性存储器,RNi是由ACMgi提供的全部非易失性存储器,pj是第i个应用的周期,q1是仓增量。
4.一种在包括多个处理器和传感器的网络中分配资源的系统,其包含:
计算机,该计算机被编程以确定处理所述网络中多个虚拟链路上的信息所需的处理器的最少数量以及处理器计算能力,其中每个虚拟链路表示所述网络中的所述传感器之一和至少一个所述处理器之间的专用数据通信路径;并且其中确定所述处理器的最少数量以及处理器计算能力包括:
将所述处理器、传感器和虚拟链路建模为线性不等式组;
由所述线性不等式组形成凸多胞形;
在所述凸多胞形上优化目标函数,从而获得所述处理器的数量和计算余量。
5.根据权利要求4所述的系统,进一步包含显示模块,其可操作地显示所述系统的处理器需求。
6.根据权利要求4所述的系统,其中,所述线性不等式组包括:
s.t.
(6b) h≥0
其中,ui是处理器,x是未知分配变量,h是未知处理器速度,d是进度变量,ej是分配给仓的应用i的执行时间总数,ql是处理器ui的仓大小,q1是ql的仓增量,pj是第i个应用的周期。
7.根据权利要求4所述的系统,其中,所述线性不等式组包含:
其中,raj是应用j所需的RAM,RAi是由ACMgi提供的全部RAM,roj是应用j所需的ROM,ROi是由ACMgi提供的全部ROM,rnj是应用j所需的非易失性存储器,RNi是由ACMgi提供的全部非易失性存储器,pj是第i个应用的周期,q1是仓增量。
8.一种用于在包括多个处理器和传感器的网络中分配资源的系统,其包含:计算机,该计算机被配置为确定处理所述网络中多个虚拟链路上的信息所需的处理器的最少数量以及处理器计算能力,其中每个虚拟链路表示所述网络中的所述传感器之一和至少一个所述处理器之间的专用数据通信路径,并且该计算机被配置用于:
确定对集线器节点的中心传感器/试验器线路分配;
确定对信息的中心参数分配;
确定对虚拟链路的中心信息分配;
确定对处理器的中心应用分配;以及
如果中心系统资源分配满足余量需求,那么报告中心系统资源分配。
9.根据权利要求8所述的系统,其中确定处理所述网络中多个虚拟链路上的信息所需的处理器的最少数量以及处理器计算能力基于以下关系:
s.t.
(6b) h≥0
其中,ui是处理器,x是未知分配变量,h是未知处理器速度,d是进度变量,ej是分配给仓的应用i的执行时间总数,ql是处理器ui的仓大小,q1是ql的仓增量,pj是第i个应用的周期。
10.根据权利要求9所述的系统,其中指定分配给处理器中应用的内存总大小范围的约束陈述为:
其中,raj是应用j所需的RAM,RAi是由ACMgi提供的全部RAM,roj是应用j所需的ROM,ROi是由ACMgi提供的全部ROM,rnj是应用j所需的非易失性存储器,RNi是由ACMgi提供的全部非易失性存储器,q1是仓增量,pj是第i个应用的周期。
11.根据权利要求9所述的系统,其中,所述网络是航空电子系统的一部分。
12.一种在包括多个处理器和传感器的网络中分配资源的方法,所述方法包含:确定处理所述网络中多个虚拟链路上的信息所需的处理器的最少数量以及处理器计算能力,其中每个虚拟链路表示所述网络中的所述传感器之一和至少一个所述处理器之间的专用数据通信路径;并且
其中确定所述处理器的最少数量以及处理器计算能力包括:
确定对集线器节点的中心传感器/试验器线路分配;
确定对信息的中心参数分配;
确定对虚拟链路的中心信息分配;
确定对处理器的中心应用分配;以及
如果中心系统资源分配满足余量需求,那么报告中心系统资源分配。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/896,421 | 2010-10-01 | ||
US12/896,421 US8880381B2 (en) | 2010-10-01 | 2010-10-01 | Optimization of processor characteristics and large scale system optimization through domain decomposition |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102446238A CN102446238A (zh) | 2012-05-09 |
CN102446238B true CN102446238B (zh) | 2017-04-26 |
Family
ID=45420538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110251564.9A Active CN102446238B (zh) | 2010-10-01 | 2011-08-24 | 处理器特性优化和通过域分解的大规模系统优化 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8880381B2 (zh) |
EP (1) | EP2437210A1 (zh) |
JP (2) | JP6030294B2 (zh) |
CN (1) | CN102446238B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8755953B2 (en) * | 2012-05-21 | 2014-06-17 | The Boeing Company | Aircraft information management system |
US20140244218A1 (en) * | 2013-02-25 | 2014-08-28 | International Business Machines Corporation | Architecture optimization |
CN103593519B (zh) * | 2013-10-31 | 2016-05-04 | 中国运载火箭技术研究院 | 一种基于试验设计的运载火箭总体参数优化方法 |
US20150248505A1 (en) * | 2014-02-28 | 2015-09-03 | Barcelogic Solutions S.L. | Computer-implemented method for solving sets of linear arithmetic constraints modelling physical systems |
US20170315958A1 (en) * | 2014-02-28 | 2017-11-02 | Barcelogic Solutions S.L. | Computer-implemented method for solving sets of linear arithmetic constraints modelling physical systems |
US10176014B2 (en) * | 2015-07-27 | 2019-01-08 | Futurewei Technologies, Inc. | System and method for multithreaded processing |
US9902506B2 (en) * | 2016-03-10 | 2018-02-27 | General Electric Company | Using aircraft data recorded during flight to predict aircraft engine behavior |
JP6879625B2 (ja) * | 2016-12-27 | 2021-06-02 | 東芝インフラシステムズ株式会社 | プログラマブルコントローラ、管理装置および制御システム |
CN111401626B (zh) * | 2020-03-12 | 2023-04-07 | 东北石油大学 | 基于六度分隔理论的社交网络数值优化方法、系统及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101048985A (zh) * | 2004-10-25 | 2007-10-03 | 国际商业机器公司 | 用于部署和分配自主传感器网络的方法、系统和程序产品 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0588912A (ja) * | 1991-09-27 | 1993-04-09 | Nitto Seiko Co Ltd | マルチプロセツサシミユレータ |
JP3690721B2 (ja) * | 1999-10-25 | 2005-08-31 | 株式会社日立製作所 | システム性能見積システム及びシステム性能見積方法 |
JP2003015704A (ja) * | 2001-06-29 | 2003-01-17 | Aie Research Inc | 最適化計算方法、最適化システムおよびプログラム |
JP4080259B2 (ja) * | 2002-06-26 | 2008-04-23 | 株式会社日立製作所 | コンピュータのシステム構成導出方法及びコンピュータシステム |
FR2846117B1 (fr) * | 2002-10-21 | 2008-08-22 | Renault Sas | Procede et dispositif pour synthetiser une architecture electrique |
US7395195B2 (en) * | 2004-12-27 | 2008-07-01 | Sap Aktiengesellschaft | Sensor network modeling and deployment |
WO2008114323A1 (ja) * | 2007-03-20 | 2008-09-25 | Fujitsu Microelectronics Limited | プロセッサ・システム最適化支援装置、および支援方法 |
US8022843B2 (en) * | 2008-03-31 | 2011-09-20 | The Boeing Company | Wireless aircraft sensor network |
US8090814B2 (en) * | 2009-12-08 | 2012-01-03 | The Boeing Company | Method for determining distribution of a shared resource among a plurality of nodes in a network |
-
2010
- 2010-10-01 US US12/896,421 patent/US8880381B2/en active Active
-
2011
- 2011-08-24 CN CN201110251564.9A patent/CN102446238B/zh active Active
- 2011-09-27 JP JP2011210206A patent/JP6030294B2/ja active Active
- 2011-09-30 EP EP11183466A patent/EP2437210A1/en not_active Withdrawn
-
2016
- 2016-04-01 JP JP2016074326A patent/JP6199433B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101048985A (zh) * | 2004-10-25 | 2007-10-03 | 国际商业机器公司 | 用于部署和分配自主传感器网络的方法、系统和程序产品 |
Non-Patent Citations (2)
Title |
---|
"Multiple Sink Network Design Problem in Large Scale Wireless Sensor Networks";E.L.Oyman;《2004 IEEE International Conference on Communications》;20040726;摘要,3663-3664页第I-II节 * |
"WISE Design of Indoor Wireless Systems:Practical Computation";S.J.Fortune;《IEEE Computational Science and Engineering》;20020806;第2卷(第1期);第59页 * |
Also Published As
Publication number | Publication date |
---|---|
JP6199433B2 (ja) | 2017-09-20 |
US20120084541A1 (en) | 2012-04-05 |
JP6030294B2 (ja) | 2016-11-24 |
US8880381B2 (en) | 2014-11-04 |
JP2016167278A (ja) | 2016-09-15 |
CN102446238A (zh) | 2012-05-09 |
EP2437210A1 (en) | 2012-04-04 |
JP2012108883A (ja) | 2012-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102446238B (zh) | 处理器特性优化和通过域分解的大规模系统优化 | |
Seikh et al. | Q-rung orthopair fuzzy Frank aggregation operators and its application in multiple attribute decision-making with unknown attribute weights | |
Krishankumar et al. | Double-hierarchy hesitant fuzzy linguistic term set-based decision framework for multi-attribute group decision-making | |
Zhang et al. | Effective hybrid system falsification using Monte Carlo tree search guided by QB-robustness | |
Katagiri et al. | Random fuzzy bilevel linear programming through possibility-based value at risk model | |
D’Angelo et al. | Artificial neural networks for resources optimization in energetic environment | |
Zamanifar et al. | Optimization-based decision-making models for disaster recovery and reconstruction planning of transportation networks | |
Kumar et al. | ABCD Analysis of Industries Using High-Performance Computing | |
Chen et al. | Model-based system engineering supporting production scheduling based on satisfiability modulo theory | |
Parnell et al. | System design and engineering trade‐off analytics: State of the published practice | |
Verma | Systems Engineering for the Digital Age: Practitioner Perspectives | |
Ruphy | Computer simulations: A new mode of scientific inquiry? | |
Lefebvre | Approximated timed reachability graphs for the robust control of discrete event systems | |
Vass et al. | Exact and meta-heuristic approaches for the production leveling problem | |
Czerwinska | Interpretability of Machine Learning Models: How Can One Explain Machine Learning Models? | |
Dvijotham et al. | Robust feasibility of systems of quadratic equations using topological degree theory | |
Wang et al. | Effectiveness evaluation method of constellation satellite communication system with acceptable consistency and consensus under probability hesitant intuitionistic fuzzy preference relationship | |
Zhu et al. | A poverty index prediction model for students based on PSO-LightGBM | |
Lvovich et al. | Modeling and optimization of resources in information systems | |
Klimentov | Exascale Data Processing in Heterogeneous Distributed Computing Infrastructure for Applications in High Energy Physics | |
Al-Shafei et al. | High-performance and parallel computing techniques review: Applications, challenges and potentials to support net-zero transition of future grids | |
Fotedar et al. | A criterion space decomposition approach to generalized tri-objective tactical resource allocation | |
García-Nava et al. | Fast training of a transformer for global multi-horizon time series forecasting on tensor processing units | |
Dütting et al. | Machine learning for optimal economic design | |
Fasola et al. | An innovative telescope control system architecture for SST-GATE telescopes at the CTA Observatory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |