一种基于辅助工程设计软件的集合式调度优化方法

文档序号:9929436阅读:499来源:国知局
一种基于辅助工程设计软件的集合式调度优化方法
【技术领域】
[0001]本发明涉及计算机领域,特别是涉及一种基于辅助工程设计软件的集合式调度优化方法。
【背景技术】
[0002]在现有工程设计中,一般必须先进行计算机辅助工程设计一一CAE/CFD/EDA,即先通过计算机对工程设计的所有整车或者零部件进行模拟和性能计算。这种方式虽然能够大大的降低研发成本和周期,但是,目前的CAE等运算中存在运算效率过低,导致开发周期延长的缺陷;
[0003]如何提高计算机的运算效率成为本领域技术人员亟待解决的问题。
[0004]应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的【背景技术】部分进行了阐述而认为上述技术方案为本领域技术人员所公知。

【发明内容】

[0005]有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种有利于提高任务运算效率的基于辅助工程设计软件的集合式调度优化方法。
[0006]为实现上述目的,本发明提供了一种基于辅助工程设计软件的集合式调度优化方法,包括:
[0007]根据待处理任务制定需求的核心数量;
[0008]询问每个核心是否空闲,并根据反馈结果判断是否分配任务;
[0009 ]若反馈结果显示空闲的核心数量达到制定的处理器的核心数量,则选取需求数量的核心进行集合式封装后,再行分配以用于待处理任务的执行。
[0010]优选的,在询问每个核心是否空闲的步骤中包括:
[0011]若需求的核心数量小于或等于单机的总核心数量,则询问单机的所有核心是否空闲,并判断单机的空闲核心数量是否符合要求,若符合,则选取其中单机中需求数量的核心作为集合,以用于待处理任务的执行。本方案中,该方法将优先确认,资源池中所有的计算机中的某个单机是否能够承担待处理任务的执行工作,若能够,则优选选取单机中的核心作为集合用于完成待处理任务;现有的系统中,虽然多个计算机之间能够在网络中表现为单一的系统,并以单一系统的模式加以管理,但若需求核心较少情况下,同一单机中的核心仍然能够更好地进行通讯,以及协同运算,但现有技术很多时候不予区分,只要资源足够,就按照队列进行分配,这使得许多可以被单机执行的任务分配给了多个计算机,由此可知,使用本方案有利于运算效率的提升。
[0012]优选的,若单机的空闲核心数量不符合要求,则询问单机所有核心的忙碌状态,若空闲核心以外的核心中的部分处于半忙碌状态,且半忙碌状态的核心加上空闲核心的数量达到需求数量,则将对应的空闲核心和半忙碌状态核心作为集合,以用于待处理任务;
[0013]当占用该核心的程序类型符合预设条件,且核心的利用率低于预设阈值时,则判定所述核心为半忙碌状态。本方案中,优化方法就目前被忽视的半忙碌状态的核心进行了重视,其实,很多情况下,虽然某些核心被部分地进行了利用,但实际上其剩余资源仍然具备执行待处理任务的能力,本方案将这些被忽视的资源重新利用,使得系统的整体资源利用率得以提升,这有利于运算效率的提升,并有利于减少研发时间和成本;当然,若该占用核心的任务为辅助工程设计等类型的任务,则即使检测到的核心利用率低于阈值,亦不被判定为半忙碌状态,因而这些类型的任务,其执行初期核心的利用率可能较低,但随着计算的深入,其利用率将逐步提高,若不加以区分,则可能造成不必要的麻烦。
[0014]优选的,在询问单机的核心是否空闲的步骤中包括:
[0015]若需求的核心数量大于单机的总核心数量,则询问资源池内所有计算机的核心是否空闲,并判断资源池的空闲核心数量是否符合要求,若符合,则从资源池中挑选需求数量的核心作为集合,以用于待处理任务的执行。本方案中,该方法询问了资源池中所有的核心空闲情况,这使得单机无法承担任务的情况下,多机联合可以协同完成待处理任务;同时,可以充分的利用到某些单机中剩余的少量核心,避免资源浪费。
[0016]优选的,询问资源池内所有计算机的核心是否空闲的步骤中包括:
[0017]若资源池中所有计算机的空闲核心数量不符合要求,则询问每个核心的忙碌状态,并根据反馈的核心的忙碌状态,若空闲核心以外的核心中的部分处于半忙碌状态,且半忙碌状态的核心加上空闲核心的数量达到需求数量,则将对应的空闲核心和半忙碌状态核心作为集合,以用于待处理任务;
[0018]当占用该核心的程序类型符合预设条件,且核心的利用率低于预设阈值时,则判定所述核心为半忙碌状态。本方案中,优化方法就目前被忽视的半忙碌状态的核心进行了重视,其实,很多情况下,虽然某些核心被部分地进行了利用,但实际上其剩余资源仍然具备执行待处理任务的能力,以避免资源浪费的情况;当然,若该占用核心的任务为辅助工程设计等类型的任务,则即使检测到的核心利用率低于阈值,亦不被判定为半忙碌状态,因而这些类型的任务,其执行初期核心的利用率可能较低,但随着计算的深入,其利用率将逐步提高,若不加以区分,则可能造成不必要的麻烦。
[0019]优选的,在根据待处理任务制定需求的核心数量的步骤中还包括:
[0020]根据待处理任务制定需求的内存资源数;
[0021 ]在询问每个核心是否空闲的步骤中还包括:
[0022]询问每个计算机的内存资源情况;
[0023]在反馈结果显示空闲的核心数量达到制定的处理器的核心数量之后还需判断剩余内存资源是否达到需求资源数,若均达到,则以自动平衡的原则,将需求数量的核心和需求资源数的内存设定成一个集合,以用于待处理任务的执行。很多任务,运算并不只考虑核心数量,还需要考虑内存情况,例如对于冲击、碰撞和爆破等高度非线性问题进行的显式算法,需求的内存其实是比较少的;而大型的线性方程组等问题运用的隐式算法占用的计算资源、磁盘空间和内存等则要多许多,在资源分配时,需要进行平衡;例如,某机器中的核心被隐式算法部分占用,则可以考虑将剩余的核心分配给进行显示算法的待处理任务。
[0024]优选的,在根据待处理任务制定处理器的核心数量的步骤之前还包括:
[0025]设定待处理任务的优先级,优先级较高的待处理任务优先处理。本方案中,设定了优先级,在所有的任务中,总有一些任务是比较重要或者是急需的,设定优先级,可以对这些任务优先处理,给用户以操作便利;本方案中,即使剩余资源可以满足优先级较低的一些任务的需求,也会将其空闲,直至空闲的核心数量达到优先级较高任务需求的时候再予以分配和占用。
[0026]优选的,在根据待处理任务制定处理器的核心数量的步骤之前还包括:
[0027]设定待处理任务的任务批次,批次在前的待处理任务优先处理。本方案中,对任务的任务批次进行了设定,现实中,有这样一种情况偶有发生,那就是,某一批次的任务中有某个任务需求的资源数量比较大,而使得该任务一直无法被分配资源而无法执行的情况,这很可能造成后来批次的任务先完成而在前批次却未完成的情况出现;本方案,可以避免这一问题的发生。
[0028]优选的,在设定待处理任务的任务批次的步骤中还包括:
[0029]设定待处理任务的优先级,优先级较高的待处理任务较批次在前的待处理任务优先处理。当然,本方案中,也可以根据用户需求,设定批次在前的待处理任务优先于优先级较高的待处理任务优先处理;给用户以便利。
[0030]优选的,所述选取需求数量的核心进行集合式封装的步骤还包括:
[0031]根据显示算法、隐式算和和流体算法,以及预设的性能最优原则,选择需求数量的核心、内存资源和I/O接口资源,进行序列化绑定,并进行集合式封装。虽然核心资源在辅助工程设计中是主要需要的资源,但不少的任务除了核心之外,仍然需要相当的内存资源和I/O接口资源才能够执行,根据显示算法、隐式算和和流体算法,以及预设的性能最优原则,匹配对应的性能最近的集合组,可以提高计算效率;同时,本方案可以将硬件资源进行更合理的分配,例如,某个计算机的核心资源占用较多,而内存资源占用
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1