一种寻求计算机程序执行定义目标的方法与流程

文档序号:12469724阅读:348来源:国知局

本发明属于计算机技术领域,特别是涉及一种寻求计算机程序执行定义目标的方法。



背景技术:

目标程序,又称为“目的程序”,为源程序经编译可直接被计算机运行的机器码集合,在计算机文件上以.obj作扩展名----由语言处理程序(汇编程序,编译程序,解释程序)将源程序处理(汇编,编译,解释)成与之等价的由机器码构成的,计算机能够直接运行的程序,该程序叫目标程序。目标代码尽管已经是机器指令,但是还不能运行,因为目标程序还没有解决函数调用问题,需要将各个目标程序与库函数连接,才能形成完整的可执行程序。

目标文件:编译器根据源文件创建的机器语言指令成为目标代码,包含目标代码的磁盘文件即目标文件。编译完源代码后生成的目标文件并不能直接执行。一般我们编写的程序都回引用基本的库函数,因此在运行程序之前还要把库函用定义好的目标代码替换,这个过程称为链接。就是把自己写的源代码的目标文件与库函数的目标文件组合起来,生成最终的可执行文件。链接由链接器完成。

现代高端计算机结构包含成千上万甚至数百万个处理元件、大量分布式存储器,以及各种级别的非局部存储器、网络组件和存储基础设施。这些系统为执行应用所消耗的资源的静态和动态优化提供了巨大挑战。传统上,计算机结构努力提供只有单个、简单的地址空间的应用,并且提供本身合理的语义以进行随后的代码执行和数据访问。产生的范式多年以来使用良好,但当通过平行处理而非通过更快的时钟率来分布计算和数据并且实际上实现所有硬件加速时,所述范式阻碍了优化资源分配。



技术实现要素:

本发明的目的在于提供一种寻求计算机程序执行定义目标的方法,通过系统最优地定位并调度小码集在给定数据处理硬件上的执行以寻求最大化存储器空间或执行时间中所述抽象模型的所述成员的邻近性降低了系统的能耗,解决了现有计算机运行系统的高能耗、低效率的问题。

为解决上述技术问题,本发明是通过以下技术方案实现的:

本发明为一种寻求计算机程序执行定义目标的方法,包括如下步骤:

SS1将计算机程序分解成抽象模型集,其中抽象模型包括以下成员中的一个或多个:小码、合作小码集、合作抽象模型集,或抽象模型的至少一些其它成员共享的数据;

SS2定义邻近的关系以寻求最大化存储器空间或执行时间中所述抽象模型的所述成员的邻近性;

SS3通过运行时间系统,执行以下至少一个:i)最初放置数据或以协调方式开始执行抽象模型中的小码,或ii)当寻求用户或系统定义目标有益时,以协调方式迁移抽象模型的成员;

SS4其中所述放置或所述迁移至少部分基于所述邻近的关系来进行。

优选地,所述分解包括分解所述计算机程序以最小化所述抽象模型间的依赖性。

优选地,还包括确定所述抽象模型间的依赖性集。

优选地,还包括如下步骤:

SS1将所述计算机程序分解成抽象模型集,其中抽象模型包括以下中的一个或多个:小码、合作小码集、合作抽象模型集,或抽象模型的至少一些其它成员共享的数据;

S2获取与所述程序相关的关于所述抽象模型、性能和资源利用的程序运行时间信息;和S3使用所述程序运行时间信息来指导至少部分所述计算机程序的正在进行的或随后的运行中所述抽象模型的随后的放置或执行调度。

优选地,所述包括确定所述抽象模型间的依赖性集。

优选地,所述包括至少部分基于改进抽象模型的元件的局部性的标准,迁移含有正在执行或即将执行小码的所述抽象模型的所述元件。

优选地,所述包括基于选自由以下组成的群组的标准来迁移抽象模型的元件:改进资源的全局分配;允许衰减处理资源以节能;允许切断处理资源的电源;和使用更适于给定处理任务的处理资源。

本发明具有以下有益效果:

本发明通过系统最优地定位并调度小码集在给定数据处理硬件上的执行的一种寻求计算机程序执行定义目标的方法,以寻求最大化存储器空间或执行时间中所述抽象模型的所述成员的邻近性。该方法有效的提高了执行计算机程序到目标文件的运行速度,降低了系统的能耗。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的一种寻求计算机程序执行定义目标的方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明的术语:

小码:一组在其输入可用之后大体上能被连续执行到完成为止的指令。

小码集:相对于依赖性分析或执行可作为单元来处理的小码组。

依赖性:两个小码集之间的表示一个小码集结束另一个才能开始的有向弧。

邻近:如存储器空间、计算空间中的局部性,或时间或依赖性上接近的状态。

请参阅图1所示,本发明为一种寻求计算机程序执行定义目标的方法,包括如下步骤:

SS1将计算机程序分解成抽象模型集,其中抽象模型包括以下成员中的一个或多个:小码、合作小码集、合作抽象模型集,或抽象模型的至少一些其它成员共享的数据;

SS2定义邻近的关系以寻求最大化存储器空间或执行时间中所述抽象模型的所述成员的邻近性;

SS3通过运行时间系统,执行以下至少一个:i)最初放置数据或以协调方式开始执行抽象模型中的小码,或ii)当寻求用户或系统定义目标有益时,以协调方式迁移抽象模型的成员;

SS4其中所述放置或所述迁移至少部分基于所述邻近的关系来进行。

其中,分解包括分解所述计算机程序以最小化所述抽象模型间的依赖性。还包括确定所述抽象模型间的依赖性集。

本发明为一种寻求计算机程序执行定义目标的方法,还包括如下步骤:

SS1将所述计算机程序分解成抽象模型集,其中抽象模型包括以下中的一个或多个:小码、合作小码集、合作抽象模型集,或抽象模型的至少一些其它成员共享的数据;

S2获取与所述程序相关的关于所述抽象模型、性能和资源利用的程序运行时间信息;和

S3使用所述程序运行时间信息来指导至少部分所述计算机程序的正在进行的或随后的运行中所述抽象模型的随后的放置或执行调度。

其中,包括确定所述抽象模型间的依赖性集。

其中,包括至少部分基于改进抽象模型的元件的局部性的标准,迁移含有正在执行或即将执行小码的所述抽象模型的所述元件。

其中,包括基于选自由以下组成的群组的标准来迁移抽象模型的元件:改进资源的全局分配;允许衰减处理资源以节能;允许切断处理资源的电源;和使用更适于给定处理任务的处理资源。

值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1