CN106250227A - 一种寻求计算机程序执行定义目标的方法 - Google Patents
一种寻求计算机程序执行定义目标的方法 Download PDFInfo
- Publication number
- CN106250227A CN106250227A CN201610624975.0A CN201610624975A CN106250227A CN 106250227 A CN106250227 A CN 106250227A CN 201610624975 A CN201610624975 A CN 201610624975A CN 106250227 A CN106250227 A CN 106250227A
- Authority
- CN
- China
- Prior art keywords
- abstract model
- computer program
- collection
- calibration method
- mesh calibration
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/482—Application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/502—Proximity
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种寻求计算机程序执行定义目标的方法。包括如下步骤:将计算机程序分解成抽象模型集,其中抽象模型包括以下成员中的一个或多个:小码、合作小码集、合作抽象模型集,或抽象模型的至少一些其它成员共享的数据;定义邻近的关系以寻求最大化存储器空间或执行时间中所述抽象模型的所述成员的邻近性;其中所述放置或所述迁移至少部分基于所述邻近的关系来进行。本发明通过系统最优地定位并调度小码集在给定数据处理硬件上的执行的一种寻求计算机程序执行定义目标的方法,以寻求最大化存储器空间或执行时间中所述抽象模型的所述成员的邻近性。该方法有效的提高了执行计算机程序到目标文件的运行速度,降低了系统的能耗。
Description
技术领域
本发明属于计算机技术领域,特别是涉及一种寻求计算机程序执行定义目标的方法。
背景技术
目标程序,又称为“目的程序”,为源程序经编译可直接被计算机运行的机器码集合,在计算机文件上以.obj作扩展名----由语言处理程序(汇编程序,编译程序,解释程序)将源程序处理(汇编,编译,解释)成与之等价的由机器码构成的,计算机能够直接运行的程序,该程序叫目标程序。目标代码尽管已经是机器指令,但是还不能运行,因为目标程序还没有解决函数调用问题,需要将各个目标程序与库函数连接,才能形成完整的可执行程序。
目标文件:编译器根据源文件创建的机器语言指令成为目标代码,包含目标代码的磁盘文件即目标文件。编译完源代码后生成的目标文件并不能直接执行。一般我们编写的程序都回引用基本的库函数,因此在运行程序之前还要把库函用定义好的目标代码替换,这个过程称为链接。就是把自己写的源代码的目标文件与库函数的目标文件组合起来,生成最终的可执行文件。链接由链接器完成。
现代高端计算机结构包含成千上万甚至数百万个处理元件、大量分布式存储器,以及各种级别的非局部存储器、网络组件和存储基础设施。这些系统为执行应用所消耗的资源的静态和动态优化提供了巨大挑战。传统上,计算机结构努力提供只有单个、简单的地址空间的应用,并且提供本身合理的语义以进行随后的代码执行和数据访问。产生的范式多年以来使用良好,但当通过平行处理而非通过更快的时钟率来分布计算和数据并且实际上实现所有硬件加速时,所述范式阻碍了优化资源分配。
发明内容
本发明的目的在于提供一种寻求计算机程序执行定义目标的方法,通过系统最优地定位并调度小码集在给定数据处理硬件上的执行以寻求最大化存储器空间或执行时间中所述抽象模型的所述成员的邻近性降低了系统的能耗,解决了现有计算机运行系统的高能耗、低效率的问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种寻求计算机程序执行定义目标的方法,包括如下步骤:
SS1将计算机程序分解成抽象模型集,其中抽象模型包括以下成员中的一个或多个:小码、合作小码集、合作抽象模型集,或抽象模型的至少一些其它成员共享的数据;
SS2定义邻近的关系以寻求最大化存储器空间或执行时间中所述抽象模型的所述成员的邻近性;
SS3通过运行时间系统,执行以下至少一个:i)最初放置数据或以协调方式开始执行抽象模型中的小码,或ii)当寻求用户或系统定义目标有益时,以协调方式迁移抽象模型的成员;
SS4其中所述放置或所述迁移至少部分基于所述邻近的关系来进行。
优选地,所述分解包括分解所述计算机程序以最小化所述抽象模型间的依赖性。
优选地,还包括确定所述抽象模型间的依赖性集。
优选地,还包括如下步骤:
SS1将所述计算机程序分解成抽象模型集,其中抽象模型包括以下中的一个或多个:小码、合作小码集、合作抽象模型集,或抽象模型的至少一些其它成员共享的数据;
S2获取与所述程序相关的关于所述抽象模型、性能和资源利用的程序运行时间信息;和S3使用所述程序运行时间信息来指导至少部分所述计算机程序的正在进行的或随后的运行中所述抽象模型的随后的放置或执行调度。
优选地,所述包括确定所述抽象模型间的依赖性集。
优选地,所述包括至少部分基于改进抽象模型的元件的局部性的标准,迁移含有正在执行或即将执行小码的所述抽象模型的所述元件。
优选地,所述包括基于选自由以下组成的群组的标准来迁移抽象模型的元件:改进资源的全局分配;允许衰减处理资源以节能;允许切断处理资源的电源;和使用更适于给定处理任务的处理资源。
本发明具有以下有益效果:
本发明通过系统最优地定位并调度小码集在给定数据处理硬件上的执行的一种寻求计算机程序执行定义目标的方法,以寻求最大化存储器空间或执行时间中所述抽象模型的所述成员的邻近性。该方法有效的提高了执行计算机程序到目标文件的运行速度,降低了系统的能耗。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种寻求计算机程序执行定义目标的方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明的术语:
小码:一组在其输入可用之后大体上能被连续执行到完成为止的指令。
小码集:相对于依赖性分析或执行可作为单元来处理的小码组。
依赖性:两个小码集之间的表示一个小码集结束另一个才能开始的有向弧。
邻近:如存储器空间、计算空间中的局部性,或时间或依赖性上接近的状态。
请参阅图1所示,本发明为一种寻求计算机程序执行定义目标的方法,包括如下步骤:
SS1将计算机程序分解成抽象模型集,其中抽象模型包括以下成员中的一个或多个:小码、合作小码集、合作抽象模型集,或抽象模型的至少一些其它成员共享的数据;
SS2定义邻近的关系以寻求最大化存储器空间或执行时间中所述抽象模型的所述成员的邻近性;
SS3通过运行时间系统,执行以下至少一个:i)最初放置数据或以协调方式开始执行抽象模型中的小码,或ii)当寻求用户或系统定义目标有益时,以协调方式迁移抽象模型的成员;
SS4其中所述放置或所述迁移至少部分基于所述邻近的关系来进行。
其中,分解包括分解所述计算机程序以最小化所述抽象模型间的依赖性。还包括确定所述抽象模型间的依赖性集。
本发明为一种寻求计算机程序执行定义目标的方法,还包括如下步骤:
SS1将所述计算机程序分解成抽象模型集,其中抽象模型包括以下中的一个或多个:小码、合作小码集、合作抽象模型集,或抽象模型的至少一些其它成员共享的数据;
S2获取与所述程序相关的关于所述抽象模型、性能和资源利用的程序运行时间信息;和
S3使用所述程序运行时间信息来指导至少部分所述计算机程序的正在进行的或随后的运行中所述抽象模型的随后的放置或执行调度。
其中,包括确定所述抽象模型间的依赖性集。
其中,包括至少部分基于改进抽象模型的元件的局部性的标准,迁移含有正在执行或即将执行小码的所述抽象模型的所述元件。
其中,包括基于选自由以下组成的群组的标准来迁移抽象模型的元件:改进资源的全局分配;允许衰减处理资源以节能;允许切断处理资源的电源;和使用更适于给定处理任务的处理资源。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (7)
1.一种寻求计算机程序执行定义目标的方法,其特征在于,包括如下步骤:
SS1将计算机程序分解成抽象模型集,其中抽象模型包括以下成员中的一个或多个:小码、合作小码集、合作抽象模型集,或抽象模型的至少一些其它成员共享的数据;
SS2定义邻近的关系以寻求最大化存储器空间或执行时间中所述抽象模型的所述成员的邻近性;
SS3通过运行时间系统,执行以下至少一个:i)最初放置数据或以协调方式开始执行抽象模型中的小码,或ii)当寻求用户或系统定义目标有益时,以协调方式迁移抽象模型的成员;
SS4其中所述放置或所述迁移至少部分基于所述邻近的关系来进行。
2.根据权利要求1所述的一种寻求计算机程序执行定义目标的方法,其特征在于,所述分解包括分解所述计算机程序以最小化所述抽象模型间的依赖性。
3.根据权利要求1所述的一种寻求计算机程序执行定义目标的方法,其特征在于,还包括确定所述抽象模型间的依赖性集。
4.根据权利要求1所述的一种寻求计算机程序执行定义目标的方法,其特征在于,还包括如下步骤:
SS1将所述计算机程序分解成抽象模型集,其中抽象模型包括以下中的一个或多个:小码、合作小码集、合作抽象模型集,或抽象模型的至少一些其它成员共享的数据;
S2获取与所述程序相关的关于所述抽象模型、性能和资源利用的程序运行时间信息;和
S3使用所述程序运行时间信息来指导至少部分所述计算机程序的正在进行的或随后的运行中所述抽象模型的随后的放置或执行调度。
5.根据权利要求4所述的一种寻求计算机程序执行定义目标的方法,其特征在于,包括确定所述抽象模型间的依赖性集。
6.根据权利要求4所述的一种寻求计算机程序执行定义目标的方法,其特征在于,包括至少部分基于改进抽象模型的元件的局部性的标准,迁移含有正在执行或即将执行小码的所述抽象模型的所述元件。
7.根据权利要求4所述的一种寻求计算机程序执行定义目标的方法,其特征在于,包括基于选自由以下组成的群组的标准来迁移抽象模型的元件:改进资源的全局分配;允许衰减处理资源以节能;允许切断处理资源的电源;和使用更适于给定处理任务的处理资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610624975.0A CN106250227A (zh) | 2016-08-02 | 2016-08-02 | 一种寻求计算机程序执行定义目标的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610624975.0A CN106250227A (zh) | 2016-08-02 | 2016-08-02 | 一种寻求计算机程序执行定义目标的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106250227A true CN106250227A (zh) | 2016-12-21 |
Family
ID=57606207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610624975.0A Pending CN106250227A (zh) | 2016-08-02 | 2016-08-02 | 一种寻求计算机程序执行定义目标的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106250227A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1790322A (zh) * | 2004-12-17 | 2006-06-21 | 国际商业机器公司 | 从多个格式不同的物理表创建逻辑表的方法和系统 |
CN101416214A (zh) * | 2006-03-30 | 2009-04-22 | 微软公司 | 用于基于延续的元运行时环境的抽象执行模型 |
CN102934081A (zh) * | 2010-04-13 | 2013-02-13 | Et国际有限公司 | 运行空间方法、系统和装置 |
CN105183552A (zh) * | 2015-09-25 | 2015-12-23 | 东华大学 | 操作系统中断安全隐患定位系统及其应用 |
-
2016
- 2016-08-02 CN CN201610624975.0A patent/CN106250227A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1790322A (zh) * | 2004-12-17 | 2006-06-21 | 国际商业机器公司 | 从多个格式不同的物理表创建逻辑表的方法和系统 |
CN101416214A (zh) * | 2006-03-30 | 2009-04-22 | 微软公司 | 用于基于延续的元运行时环境的抽象执行模型 |
CN102934081A (zh) * | 2010-04-13 | 2013-02-13 | Et国际有限公司 | 运行空间方法、系统和装置 |
CN105183552A (zh) * | 2015-09-25 | 2015-12-23 | 东华大学 | 操作系统中断安全隐患定位系统及其应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8495598B2 (en) | Control flow graph operating system configuration | |
JP6267711B2 (ja) | モデル化された依存関係に基づく、レガシーソフトウェアシステムのモダニゼーション | |
CN102576314B (zh) | 具有横跨多个处理器的数据并行线程之映射处理逻辑 | |
CN102298514B (zh) | 用于有效动态二进制变换的寄存器映射技术 | |
US7613753B2 (en) | Platform and method for functional programming (FP) processing | |
US20020035722A1 (en) | Interactive instruction scheduling and block ordering | |
CN104090765A (zh) | 一种手机游戏转网页游戏的方法及装置 | |
CN116467061B (zh) | 一种任务执行的方法、装置、存储介质及电子设备 | |
CN109196476A (zh) | 共享垃圾收集器的不同类型图之间的无缝高性能互操作性 | |
CN103488536A (zh) | 任务调度方法、装置及操作系统 | |
CN103440457A (zh) | 基于进程模拟的二进制程序分析系统 | |
US8341613B2 (en) | Reducing stack space consumption via head-call optimization | |
Takeda et al. | Sensory uncertainty field for mobile robot navigation | |
US8701098B2 (en) | Leveraging multicore systems when compiling procedures | |
CN102004662A (zh) | 嵌入式可裁剪式虚拟机 | |
US8769498B2 (en) | Warning of register and storage area assignment errors | |
CN108139929B (zh) | 用于调度多个任务的任务调度装置和方法 | |
CN105447285A (zh) | 一种提高OpenCL硬件执行效率的方法 | |
Boucheneb et al. | Optimal reachability in cost time Petri nets | |
CN106250227A (zh) | 一种寻求计算机程序执行定义目标的方法 | |
US20050216900A1 (en) | Instruction scheduling | |
Benoit et al. | Scheduling skeleton-based grid applications using PEPA and NWS | |
US20190042389A1 (en) | Design assistance device, design assistance method, and recording medium storing design assistance program | |
Baloukas et al. | Mapping embedded applications on MPSoCs: the MNEMEE approach | |
US10983947B2 (en) | Method and dynamically reconfigurable processor adapted for management of persistence of information across multiple instruction cycles |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161221 |
|
RJ01 | Rejection of invention patent application after publication |