云环境下的程序运行性能自适应模拟方法研究

2015-06-23 13:55周艺华解高纯段淑凤张常有
太原理工大学学报 2015年6期
关键词:原语时限偏差

周艺华,解高纯,,段淑凤,张常有

(1.北京工业大学 计算机学院,北京 100124;2.中国科学院软件研究所 并行软件与计算科学实验室,北京 100190;3.石家庄铁道大学 信息科学与技术学院,石家庄 050043)

云环境下的程序运行性能自适应模拟方法研究

周艺华1,解高纯1,2,段淑凤3,张常有2

(1.北京工业大学 计算机学院,北京 100124;2.中国科学院软件研究所 并行软件与计算科学实验室,北京 100190;3.石家庄铁道大学 信息科学与技术学院,石家庄 050043)

针对Julia程序运行的时限约束,提出一种基于有色Petri网的程序运行性能自适应模拟方法。面向特定领域构建适应底层计算资源特点的工具库,抽取针对Julia语言的计算原语;程序员通过Julia语言实现原语,动态选取领域工具,适应运行时限约束。结合图像对象识别案例,构建Colored Petri Net模型,借助CPN Tools工具模拟运行,自动优化备选方案。模拟实验表明,基于工具库的性能标定,CPN模拟得到的工具库映射方案接近最优。

云编程环境;时限约束;性能自适应;CPN模型;性能标定

主流超级计算机的体系结构日趋复杂。Top500排行榜中的许多超级计算机采用了异构体系结构[1]。例如天河2号MilkyWay-2 (TH-IVB-FEP Cluster,英特尔 Xeon E5-2692 12C 2.200 GHz,TH Express-2,英特尔 Xeon Phi 31S1P),泰坦-Cray XK7(Opteron 6274 16C 2.200 GHz,Cray Gemini interconnect,NVIDIA K20x)。面向异构超级计算机的并行编程非常困难,因为异构集群的计算资源、存储资源、通信资源处于不同层次,需要不同的编程工具库支持。例如,MPI(消息传递接口)支持不同节点分布式内存之间的通信;Pthread支持在共享内存下的多线程计算;CUDA (Compute Unified Device Architecture)是NVIDIA GPU设备指定的开发架构,支持更深的存储和计算层次。Intel MIC的编程,基于X86架构,支持多种并行模型。

Julia语言是一种新的高性能动态高级编程语言,其设计目标是满足科学和数值计算的需求。Julia语言的语法与流行的编程语言相似。Julia语言支持可选的类型声明,重载和高性能等特性,采用类型推断和即时(JIT)编译技术,基于LLVM实现。Julia与R、Matlab和Python同样支持通用编程;除了高级数值计算,Julia具有默认的垃圾收集功能,支持许多成熟的高性能基础代码,包括浮点、线性代数、随机数生成、快速傅里叶变换和正则表达式匹配的动态库。Julia代码的运行速度接近C语言,远远超过R,Matlab和Python.语言级的分布式进程管理是Julia高性能计算的重要特点。

根据应用背景需要,程序员需要其程序在给定时间内完成。出于节约计算资源、降低功耗、减少花费等方面考虑,不需要追求最快的计算速度。本文基于Julia云编程环境中的领域工具库的性能、功耗、花费标定数据,以汽车图像的车型识别程序为例,建立有色Petri网模型,自动映射到合适的领域工具,满足应用程序的时限约束。

1 相关工作

1.1 基于云计算的编程环境

以用户为中心的交互式编程环境对于一种很有前途的新语言是必不可少的。例如,作为一个新语言,Julia是面向高性能计算的。一个友好易用的编程接口,将非常有利于发展Julia语言。笔者构建了一个基于云计算的Julia的高性能计算云平台。这个平台由三部分组成:用户编程环境(UPE),消息传递系统(MPS),Julia运行环境(JRE)。该平台的体系结构如图1所示。

图1 julia云编程服务平台架构

1.2 Julia语言对外部函数库的支持能力

在Julia运行环境中运行Julia代码,将Julia程序部署在基于LLVM的实时(JIT)编辑器中执行。

用户可以使用Julia调用自己的C/Fortran代码库或者专有第三方库中的外部函数,从而不用写任何的包装器代码或者不用重新编译现有的代码,在Julia交互提示符中直接引用外部库函数,可以直接得到反馈结果。

1.3 面向性能的调度方法

任务调度是云平台的最关键的问题,为了满足用户的要求,并能解决迫切的资源重用和共享的要求,提高资源的利用率,进而提高云计算环境的整体性能,文献[2]中,作者考虑到云计算和原始的自适应远传算法的新特点提出新的调度算法,基于双适应度的自适应算法建立的工作跨越时间和负载平衡的遗传算法。文献[3]中,作者提出了一种任务调度算法,这个算法可以优化任务完成时间,以及云计算任务调度问题的负载平衡和节能优化。文献[4]中,针对众核架构中随着核的数量增加,更有效地安排在资源上运行并行应用程序,作者在工作窃取思想的基础上研究了反馈驱动自适应调度方法,它提供了在众核系统中同时执行一组应用的高效解决方案。文献[5]中提出了一种新的自适应调度的概念,通过运行时执行和安排使得工作流协同工作在网格环境中具有一个非常好的显著变化。研究大型超级计算机调度策略是希望实现用户和系统所有者所期望的无定型的和有时相互冲突的目标,在这个工作中作业调度是最关键的和复杂的。文献[6]中提出的是一套优化部署异构节点集群上的应用程序的整体吞吐量的调度方式。文献[7]中提出的基于启发式工作流调度方案,通过使用方案减少所需的虚拟机实例的数目,并达最小能耗。上述相关文献都是追求最大的速度,最小的资源消耗,未考虑可能带来的节点使用费用。笔者提出的方法,在用户提出的实现约束的基础上调整实现模式,即可以实现用户的时间要求,同时还可以降低使用硬件的花费。

2 案例说明

用户通过Julia云编程环境提交程序脚本作为任务描述,同时通过Web页面说明其希望该识别任务最晚完成时间。会话映射服务器接到程序和时限约束后,启动自动过程为该计算任务挑选合适的子过程集合,保证该任务在指定期限内完成。一般地,用户既关心任务完成时间,同时也关心减少花费等。鉴于用户不了解计算资源和收费等方面的细节,Julia编程平台为用户自动选择调度方案,能提高平台的可用性和用户体验。

本实验采取车脸图像识别案例作为实验案例。案例如下:原始图像涵盖2个车道,可能有多辆汽车,如图2所示。一般地,为了更有效地提取车辆特征信息和消除背景干扰,定义原始图像中汽车的车脸为兴趣区域(ROI,Regin of Interest).

图2 案例原始图像

通过提取图像中的兴趣区域能提高识别性能。因此,针对车型识别用例,其计算过程主要包括:提取兴趣区域,抽取SIFT特征点,特征匹配,车型识别等。考虑到汽车与摄像机之间的距离和角度的变化,采用SIFT特征抽取算法(Scale-invariant feature transform)获取车脸图像的特征点及特征描述。特征点匹配采用了课题组提出的SiftKeyPre匹配算法。

3 领域工具库的性能标定

3.1 性能标定

标定性能指标,时间只是标定的一个指标,另外一个指标是用户花费。程序的执行需要时间约束,同时需要能耗约束,即能耗越低越好。

车辆图像检索案例中,用户使用云编程平台,首先,用户必须提交一个时限约束Tu,表示程序执行时间必须小于时限约束。那么,需要调整程序执行策略,使用户提交的程序在Tu范围内执行完成。当然,时间在Tu范围内可长可短。要求时间很短,那么就需要将程序运行在更高要求的硬件上或者使用更多的硬件并行执行,此时花费提高。为了降低用户花费,可延长执行时间,但不超过Tu;即,可调整到在Tu范围内,尽量延长执行时间。

3.2 标定方案

针对基于静态图像的车型识别案例,为帮助调度策略生成器更容易估计任务执行时间和花销,将车型识别过程抽象成若干原语。程序员通过将程序映射为操作原语,来确定每部分的时间和花销。如表1所示,列举了案例的操作原语集。

标定数据集采用中国某城市公安局收集的中的JPG图像。图像的尺寸为2 048×1 536像素,图像大小为100~250 kB .

表1 本文案例抽象的原语集合

本质上,案例包括3个主要原语:EXTRROI (),EXTSIFTKEY (),MATCH ().这些原语占用了车型识别任务的主要时间和花销。原语标定就是这些原语在不同的实现模式下的时间消耗和用户花费。

原语标定,原语的标定值如表2所示,当前标定的原语为案例的3个主要原语。

表中已经标定原语的运行时间。表中左侧为案例原语,右侧为原语可选择的实现模式。图像识别过程,3个主要原语EXTRROI (),EXTSIFTKEY (),MATCH ()可以通过自适应调度机制在和是的模式下运行对应的程序,表中数字为程序在对应模式中的时间标定。

表2 本文案例抽象的原语集合

4 基于时限约束的性能自适应

4.1 原语到工具库的映射

假设每个操作原语可能运行在CPU,GPU,SPARK等3种模式。通过性能自适应机制映射到相应的节点运行。如图3所示,说明自适应机制中操作原语与工具库之间的映射关系。

图3 自适应机制中操作原语与工具库之间的映射关系

4.2 性能自适应算法

性能自适应的原则是:满足用户提交的时限约束;用户花费尽可能低。按照完成时间越短,用户花费越大的假设,根据前文的标定结果,提出车型识别过程的性能自适应算法。EXTRROI()原语运行时间明显多于其他原语。也就是说,其运行时间和花费都是远超其他2部分。所以,选择EXTRROI()原语的实现模式尤为重要。本文提出的性能自适应策略尽可能选择花费较少,运行时间合适的运行模式。

假设用户要求的时限约束为Tu.用户任务开始运行后,要求在Tu内完成整个车型识别过程。性能自适应算法的具体步骤如下:

4.2.1 计算期望运行时间

通过大量原始图像实验,获得Julia程序中3个部分在每个模式上的运行时间。对程序每个部分在每个模式上的运行时间分别求均值,获得Julia程序每部分在每个模式的期望运行时间。

程序在每个模式中的期望运行时间分别设定为:T1G,T1C,T1S,T2G,T2C,T2S,T3G,T3C,T3S(例如T1G表示EXTRROI ()原语对应程序在GPU模式下的期望运行时间,T2C表示EXTSIFTKEY ()原语对应程序在CPU模式下的期望运行时间,T3S表示MATCH()原语对应程序在SPARK模式下的期望运行时间)。本案例车辆图像检索的最大总期望运行时间设定为T:

T=max{TiG}+max{TiC}+max{TiS} .

(1)

式中:i∈原语3部分编号1,2,3;j∈G,C,S.

4.2.2 计算预测运行时间

假设用户约束时间为程序总运行时间,将用户约束时间与程序每部分平均运行时间在最大总期望运行时间所占比例相乘,所得结果作为程序每部分的预测运行时间。定义每个部分的预测运行时间为tp-i,已知用户时限约束为tu,那么预测运行时间tp-i可由下面公式获得:

Tp-i=Tu×(max{TiG,TiC,TiS}/T) .

(2)

即,EXTRROI()部分预测运行时间为Tp-1,EXTSIFTKEY ()部分预测运行时间为Tp-2,MATCH()部分的预测运行时间为Tp-3.

4.2.3 计算预测运行偏差

获得预测运行时间后,减去相应原语对应的程序在每种模式下的期望运行时间,相减之后的绝对值作为预测运行偏差ΔTp-i,预测运行偏差即程序的预测运行时间和期望运行时间的差值,差值越小,预测运行时间与期望运行时间越接近,对应运行模式越适合运行对应的程序。

ΔTp-iC=|Tp-i-T1C|,ΔTp-iG=|Tp-i-T1G| ,

ΔTp-iS=|Tp-i-T1S| .

(3)

4.2.4 选取程序实现模式

EXTRROI()原语对应程序在每个模式GPU,CPU,SPARK的预测运行偏差为:ΔTp-1C,ΔTp-1G,ΔTp-1S.此时,选择程序的实现模式,判断预测运行偏差最小者,即越接近程序的预测运行时间,选择最小者ΔTp-1,最小预测运行偏差对应的实现模式即为第一次选择。

同理,对应于EXTSIFTKEY (),MATCH()部分执行同样过程。EXTSIFTKEY ()原语对应程序在每个实现模式预测运行偏差为:ΔTp-2C,ΔTp-2G, ΔTp-2S,预测运行偏差最小者ΔTp-2,最小预测偏差对应的实现模式即为第一次选择。MATCH()原语对应程序在每个实现模式预测运行偏差为:ΔTp-2C,ΔTp-2G, ΔTp-2S,预测运行偏差最小者为ΔTp-3,最小预测运行偏差对应的实现模式即为第一次选择。

4.2.5 获取实际运行时间第一遍自适应调度,实现程序,程序的总运行时间为t

EXTRROI (),EXTSIFTKEY (),MATCH()原语对应的程序在各自选中实现模式的实现时间分别为Tf-1,Tf-2,Tf-3,

t=Tf-1+Tf-2+Tf-3.

(4)

4.2.6 判断是否继续调整

若,tTu,表示实现时间超出用户提交的时限约束,需重新调整实现模式。

4.2.7 重新调整实现模式

1) 计算每分程序实际运行时间与预测运行时间的偏差值:

ΔTi=Tf-i-Tp-i.

(5)

本案例EXTRROI(),EXTSIFTKEY(),MATCH()原语对应的程序实际运行时间与预测运行时间偏差分别是:ΔT1,ΔT2,ΔT3.

2) 从上一步计算的偏差中选择最大偏差值ΔTi,例如ΔT1为最大值,说明EXTRROI ()部分原语对应的程序在当前选择的模式下实现花费的时间过大,需要重新调整。调整EXTRROI ()原语对应程序的实现模式。判断预测运行偏差:ΔTp-1C,ΔTp-1G,ΔTp-1S,从中选择第二小的值ΔTp-1,此时选择对应的实现模式运行实现EXTRROI()原语对应的程序。其他2部分实现模式选择不变,重新模拟实现整个过程。

获取运行时间,继续判断是否合适。

若t>Tu,继续调整,当第一个原语EXTRROI ()对应程序的实现模式选择了最少的节点仍然不能满足,此时根据ΔT2,ΔT3由大到小的顺序继续调整,直到t

算法描述:

输入:用户提交约束时间Tu,图像数据data,

输出:调整是否成功,原语各部分程序最终实现模式

1) 计算原语对应程序的期望运行时间,得出总运行时间T;

2) 计算预测运行时间Tp-i(i∈1,2,3,j∈G,C,S),第一次调整k=1,;

3) for预测运行偏差ΔTp-ij(i∈原语各部分编号:1,2,3,j∈G,C,S);

4) 预测运行偏差ΔTp-ij中去掉已参考偏差后,选择偏差最小者ΔTp-ij,(i∈1,2,3,j∈G,C,S);

5) 通过ij判断程序要实现模式;

6) 运行程序,获取运行时间t,以及每部分的程序运行时间Tf-i(i∈1,2,3,j∈G,C,S);

7) if 程序运行时间t

8) return;

9) else获取实际运行时间与预测时间的偏差ΔTi(i∈1,2,3);

10) 选择ΔTi的最大值,确定最大值的对应原语;

11) 当前模式i的预测运行偏差ΔTp-ij中去掉已参考偏差后,选择偏差最小者ΔTp-ij,(i∈1,2,3,j∈G,C,S);

12) 通过ij判断程序要运行的模式,其他原语实现模式不变;

13) 返回第7)步;

14) 所有可能调整完成,t>Tu,返回要求用户重新调整约束时间Tu;

15) end .

5 基于CPN 的性能模拟

5.1 有色Petri网模型

运行在云平台的Julia程序,其性能分析需要考虑程序中函数之间的依赖关系。有色网系统定义了托肯颜色以区分资源的种类,增强了其描述系统的能力。对于进程间的控制依赖和数据依赖,分别抽象为有向弧和托肯。数据类型对应托肯颜色;消息长度对应托肯值;是影响程序运行顺序和执行延迟的重要因素

在有色Petri网的基础上,增加程序的执行元素,以表示程序运行时间限制,要求数据长度等,Julia云编程平台系统如定义1。

表3 元素对应关系

定义1 Julia云编程平台系统∏=(P,T;F,C,I-,I+,K,D,M0)

称为Julia云编程平台系统的充分必要条件,是

1) ∑=(P,T;F,C,I-,I+,M0)是有色网系统;

2) 对于t∈T,D(t)为变迁t的程序运行时间限制函数;

3) 对于p∈P,K(p)为库所p的数据长度限制函数。

5.2 Julia云编程平台的分析模型

在CPN TOOLS中建立Petri网,分析自适应策略。在Petri网中直观描述原语所描述的车辆图像检索的过程。本文案例车辆类型识别petri网顶层模型如图4所示。

主要分为3个部分(虚框部分):AD1部分,表示第一次调整选择,通过计算得出程序运行模式;AD2部分,将原语部署到前一阶段选择的模式中运行。如果Judge1判断总时间超过实现约束,重新判断;AD3部分,表示重新调整:Judge2判断调整运;重新运行;直到运行时间合适。图4 所示,第一部分提取兴趣区EXTRROI (),EXTRROI ()原语对应程序选择实现模式,计算程序在每个模式的预测偏差来选择程序执行模式,对应于GPU,CPU,SPARK的预测运行偏差分别为:d1,d2,d3;图4所示,将3个模式的预测偏差进行比较,选择偏差最小者为运行模式,此时节点编号iid,最小预测偏差对应的运行模式即为第一次选择的运行模式。

图4 车辆图像检索顶层网模型

程序部署到选择的运行模式运行,在上例中,假设选择的运行模式为GPU,程序部署到GPU运行模式下运行。通过A库所输入的iid号,同时输入总实现tir(tir)。运行后,获取本过程时间ut(tu),以及此过程的实际偏差dtt1。如图5中所示。

其余两部分EXTSIFTKEY (),MATCH()原语对应的程序调整模型与图5 结构相同如果在第一遍运行完成后tu>tir,表示超时,即调整不合理,需要重新调整。判断每部分偏差,找到最大偏差(最大偏差表示对应部分用时超过期望用时,故需要重新调整)。

获取最大偏差即为选择调整方向,以第一部分的偏差较大为例,将第一部分节点重新调整。第一次选择是对应位置预测运行偏差最小者,此时调整为预测运行偏差第二小者对应的模式为运行模式。如图6 所示,后续判断调整部分。

5.3 实验环境与参数设置

本文中定义的主要参数的类型、缩写和说明如表4所示。

图5 节点调整模型

图6 后续判断模型

表4 元素对应关系

名称类型缩写说明FIDintfid作业编号QDALintdal数据长度QTIRrealtir约束长度SPTrealspt每部分预测时长ALTrealalt总预测长度DEVIrealdt/dt1偏差DAT1realdat1第一部分时长

分析系统的运行性能,CPN Tools 支持标准的ML语言,能提供基本的数据类型定义、数据操作描述等,用以构建简洁的参数化数学模型.定义数据类型的取值范围,并调用其随机函数生成运行时间、执行偏差等。

在CPN Tools 4.4.0上仿真运行系统模型,观测各原语对应程序的运行时间,运行偏差、总运行时间等。

5.4 实验环境与参数设置

实验选取6张原始图像,大小均为250 kB,在Julia云编辑平台编写车辆图像检索Julia程序。用户提交程序到云平台后端运行。测算出每个原语对应的程序在每个模式中运行时间,如表5所示。表中数据时间可以知,3部分的原语对应程序在不同实现模式上的运行时间差距非常大,而不同模式的使用费用也是差别很大。

实施图像检索,实验改变时限约束tR的值(tR=120,130,140,149,150,160,170,180,190,200,250,300,400,500,600,700,800,900,1 000,1 100,1 200,1 300,1 400,1 500,1 600,1 700,1 800,1 900,2 000).测算每个时限约束对应图像检索过程的实际运行时间。

如图7所示,为1号图片对应的图像识别过程运行时间,每部分的用时随时限约束的改变而改变。当时限约束tR=140 ms时,自适应策略根据时限约束调整程序的实现模式。

图7 第一张原始图像检索,程序三个部分运行时间变化图

表5 元素对应关系

原始图像IDSPLIT-CFACE()EXTSIFTKEY()MATCH()GPUCPUSPARKGPUCPUSPARKGPUCPUSPARK1368.321338.12126.213.97195.958.9612.3445.441.212491.31388.72133.914.3123.99.32.0368.040.973298.111278.1108.2612.7786.887.770.663.170.614305.61239.02101.6513.4399.478.430.563.040.155332.151421.13119.1314.07132.229.070.894.310.096367.61255.7898.6112.6124.297.60.955.10.86

EXTRROI()原语实现模式调整为SPARK,对应的程序实现时间为126.2 ms;EXTSIFTKEY ()的实现模式调整为SPARK,对应程序实现时间为8.96ms;第三部分MATCH()原语的实现模式选择SPARK,对应运行时间为1.21 ms,总运行时间为136.37 ms,小于时限约束140 ms.例如,时限约束tR=400 ms时,根据时限约束调整程序在云编程环境的实现模式,EXTRROI ()调整为GPU,对应程序运行时间为368.32 ms;EXTSIFTKEY ()部分的程序实现模式调整为SPARK,对应程序运行时间为13.97 ms;第三部分MATCH()部分对应的程序实现模式选择GPU,对应程序的运行时间为12.34 ms,总运行时间为394.63 ms小于实现约束,实现模式选择正确如果用户时限约束达到了2 000 ms,此时图片1的选择时间可以都选择CPU,总实现时间也达到1 579.71 ms.所以,在时限约束范围内,可以选择出合适的实现模式。

6 性能分析

实验使用6张原始图像进行图像处理。如图8所示,6张原始图像在时限约束变化下,总运行时间的变化状况,横坐标为时限约束tR,纵坐标是图像的总运行时间tu,tR1~tR6为图像1~图像6的总使用时间。如图所示,每张原始图像的运行时间,都能根据时限约束改变运行时间,根据我们提出的自适应策略,总动调整程序的实现模式,调整模式将运行总时间控制在低于时限约束范围内,但是尽量能够延长运行时间。

从图中得出,在时限约束在大于1 600 ms时,自适应策略调整程序的实现模式均为CPU,在时限约束内,运行时间能够达到最高,当时限约束继续提高时,tu不再变化。

图8 随用户时限约束的变化六张原始图像总用时变化对比图

在低于1 600 ms,大于100 ms的用户要求时间内,程序可以合理的调整实现模式。时限约束升高后,自适应策略修改实现模式,使程序运行时间能够延长,但是不能超过时限约束。100 ms以下,时间太短,基本无法按要求时间完成,需要重新设定时限约束。

7 结论

为Julia云编程环境设计了用户程序性能自适应策略。以车辆图像检索为案例,扩展有色petri网,建立形式化模型,并进行模型检测,验证云编程环境中的调度策略的正确性,预测调度策略的运行性能。通过调整自适应调度策略内部流程和系统结构,以及调度策略的内部机制,优化案例的执行性能。实验结果表明,基于Julia云编程环境提出的性能自适应策略,能根据用户提交的时限约束合理安排程序的运行,追求程序运行时间在时限约束内的最大化,模拟用户提出的时限约束线性变化,实现程序运行时间动态改变。

[1] Meuer H,Strohmaier E,Dongarra J,et al.Top500 LISTS JVNE2015[EB/OL].http:∥www.top500.org/,2015.

[2] Wang T,Liu Z,Chen Y,et al.Load balancing task scheduling based on genetic algorithm in cloud computing[C]∥Dependable,Autonomic and Secure Computing (DASC).2014 IEEE 12th International Conference onIEEE,2014:146-152.

[3] Xue J,Li L,Zhao S S,et al.A Study of task scheduling based on differential evolution algorithm in cloud computing[C]∥2014 International Conference on Computational Intelligence and Communication Networks (CICN) IEEE Computer Society,2014:637-640.

[4] Mei J,Li K.Energy-Aware scheduling algorithm with duplication on heterogeneous computing systems[C]∥Grid Computing,IEEE/ACM International Workshop onIEEE,2012:122-129.

[5] Yu Zhifeng,Shi Weisong.An adaptive rescheduling strategy for grid workflow applications[C]∥IEEE,2007:1-8.

[6] Ravi V T,Becchi M,Wei J,et al.Scheduling concurrent applications on a cluster of CPU-GPU nodes[J].Future Generation Computer Systems,2013,29(8):2262-2271.

[7] Kang D K,Kim S H,Youn C H,et al.Cost adaptive workflow scheduling in cloud computing[C]∥Proceedings of the 8th International Conference on Ubiquitous Information Management and Communication.ACM,2014:65.

[8] Lou Y,Zhang T,Yan J,et al.Dynamic scheduling strategy for testing task in cloud computing[C]∥Computational Intelligence and Communication Networks (CICN).2014 International Conference onIEEE,2014:633-636.

[9] Muthuvelu N,Chai I,Eswaran C.An adaptive and parameterized job grouping algorithm for scheduling grid jobs[C]∥Advanced Communication Technology.ICACT 2008.10th International Conference on,2008:975-980.

[10] Gabel T,Riedmiller M.Scaling adaptive agent-based reactive job-shop scheduling to large-scale problems[C]∥Computational Intelligence in Scheduling.IEEE Symposium on IEEE,2007:259-266.

[11] ZHANG Changyou,LIU Renfen,DUAN Shufeng,et al.Cloud service platform for julia programming on supercomputer[J].International Journal of Grid and Distributed Computing.2014:177-186.

(编辑:刘笑达)

A Research of Program Performance Adapting Simulationin Cloud Environment

ZHOU Yihua1,XIE Gaochun1,2,DUAN Shufeng3,ZHANG Changyou2

(1.CollegeofComputerScience,BeijingUniversityofTechnology,Beijing100124,China;2.LaboratoryofParallelSoftwareandComputationalScience,InstituteofSoftware,ChineseAcademyofSciences,Beijing100190,China;3.SchoolofInformationScienceandTechnology,ShijiazhuangTiedaoUniversity,Shijiazhuang050043,China)

The parallel program developing is difficult on heterogeneous computing platform.Cloud programming in Julia dynamic language is a reasonable model.For time-constrained cases of the Julia program,a performance self-adaptive simulation method based on the Colored Petri Net is proposed in this paper.Oriented to specific field,such as the case of image object recognition,we constructed a tool-library adapting to the characteristics of the underlying computing resources,and extracted a set of primitives in the Julia language.These primitives are implemented in Julia language,and they select tools dynamically to adapt the time-constrained running limitation.Considering the case of image object recognition,we constructed Colored Petri Net models,and simulated this model on CPN tools to observe the auto-optimizing processes.The simulation experimental results show that the tools mapping scheme produced in CPN simulation is close to the best on the basis of the performance calibration of the tools library.

cloud-based programming environment;time-constrained;performance adapting; CPN Models;performance calibration

1007-9432(2015)06-0727-08

2015-05-15

中国科学院院地合作项目:面向众核平台的高能效大规模图并行算法研究(61379048)

周艺华(1969-),男,济南人,博士,副教授,主要从事网络与信息安全、多媒体信息检索与内容安全研究, (E-mail)zhouyh@bjut.edu.cn,(Tel)010-67396063

张常有,教授,主要从事并行与分布式计算、协同计算、智能信息网络等研究,(E-mail)changyou@iscas.ac.cn

TP302.7

A

10.16355/j.cnki.issn1007-9432tyut.2015.06.017

猜你喜欢
原语时限偏差
50种认知性偏差
如何走出文章立意偏差的误区
心电图QRS波时限与慢性心力衰竭患者预后的相关性分析
平行时空
论民事举证时限制度
浅谈旅游翻译中文化差异的处理
基于ZigBee协议栈的PHY服务研究
机械装配偏差源及其偏差传递机理研究
基于原语自动生成的安全协议组合设计策略及应用研究
QRS时限对慢性心力衰竭患者远期预后的影响