周藝華,解高純,,段淑鳳,張常有
(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 基于云計算的編程環境
以用戶為中心的交互式編程環境對于一種很有前途的新語言是必不可少的。例如,作為一個新語言,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]中提出的基于啟發式工作流調度方案,通過使用方案減少所需的虛擬機實例的數目,并達最小能耗。上述相關文獻都是追求最大的速度,最小的資源消耗,未考慮可能帶來的節點使用費用。筆者提出的方法,在用戶提出的實現約束的基礎上調整實現模式,即可以實現用戶的時間要求,同時還可以降低使用硬件的花費。
用戶通過Julia云編程環境提交程序腳本作為任務描述,同時通過Web頁面說明其希望該識別任務最晚完成時間。會話映射服務器接到程序和時限約束后,啟動自動過程為該計算任務挑選合適的子過程集合,保證該任務在指定期限內完成。一般地,用戶既關心任務完成時間,同時也關心減少花費等。鑒于用戶不了解計算資源和收費等方面的細節,Julia編程平臺為用戶自動選擇調度方案,能提高平臺的可用性和用戶體驗。
本實驗采取車臉圖像識別案例作為實驗案例。案例如下:原始圖像涵蓋2個車道,可能有多輛汽車,如圖2所示。一般地,為了更有效地提取車輛特征信息和消除背景干擾,定義原始圖像中汽車的車臉為興趣區域(ROI,Regin of Interest).

圖2 案例原始圖像
通過提取圖像中的興趣區域能提高識別性能。因此,針對車型識別用例,其計算過程主要包括:提取興趣區域,抽取SIFT特征點,特征匹配,車型識別等。考慮到汽車與攝像機之間的距離和角度的變化,采用SIFT特征抽取算法(Scale-invariant feature transform)獲取車臉圖像的特征點及特征描述。特征點匹配采用了課題組提出的SiftKeyPre匹配算法。
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.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 判斷是否繼續調整
若,t
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.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張原始圖像進行圖像處理。如圖8所示,6張原始圖像在時限約束變化下,總運行時間的變化狀況,橫坐標為時限約束tR,縱坐標是圖像的總運行時間tu,tR1~tR6為圖像1~圖像6的總使用時間。如圖所示,每張原始圖像的運行時間,都能根據時限約束改變運行時間,根據我們提出的自適應策略,總動調整程序的實現模式,調整模式將運行總時間控制在低于時限約束范圍內,但是盡量能夠延長運行時間。 從圖中得出,在時限約束在大于1 600 ms時,自適應策略調整程序的實現模式均為CPU,在時限約束內,運行時間能夠達到最高,當時限約束繼續提高時,tu不再變化。 圖8 隨用戶時限約束的變化六張原始圖像總用時變化對比圖 在低于1 600 ms,大于100 ms的用戶要求時間內,程序可以合理的調整實現模式。時限約束升高后,自適應策略修改實現模式,使程序運行時間能夠延長,但是不能超過時限約束。100 ms以下,時間太短,基本無法按要求時間完成,需要重新設定時限約束。 為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.0175 基于CPN 的性能模擬







6 性能分析

7 結論