高洪皓 , 繆淮扣 , 劉浩宇 , 許華虎,3 , 于芷若
1(上海大學(xué) 計(jì)算中心,上海 200444)2(上海大學(xué) 計(jì)算機(jī)工程與科學(xué)學(xué)院,上海 200444)3(上海大學(xué) 信息化辦公室,上海 200444)4(上海市計(jì)算機(jī)軟件評(píng)測(cè)重點(diǎn)實(shí)驗(yàn)室,上海 201112)
影視動(dòng)漫行業(yè)的渲染是對(duì)視頻動(dòng)畫原模型進(jìn)行貼圖、光照、陰影、紋理等逐幀計(jì)算的復(fù)雜過(guò)程[1-3].近年來(lái),AR 和VR 產(chǎn)業(yè)的繁榮發(fā)展對(duì)計(jì)算機(jī)性能和GPU/CPU 計(jì)算能力提出了更高的性能要求,例如以3D 圖像和高清視頻技術(shù)為代表的視頻動(dòng)畫,將決定畫質(zhì)最終呈現(xiàn)的視覺(jué)效果[4,5].由于3D 模型和貼圖設(shè)計(jì)越來(lái)越細(xì)致,渲染任務(wù)將消耗大量的計(jì)算資源和存儲(chǔ)資源,同時(shí)也增加了更多時(shí)間來(lái)輸出相關(guān)渲染結(jié)果文件.但是在互聯(lián)網(wǎng)+的時(shí)代,影視動(dòng)漫行業(yè)的創(chuàng)意具有時(shí)效性和緊迫性,其中縮短創(chuàng)作時(shí)間、減少資金成本以及提高渲染質(zhì)量將是這類企業(yè)生存之道和發(fā)展關(guān)鍵.面對(duì)這一問(wèn)題,越來(lái)越多的企業(yè)青睞于使用云渲染來(lái)降低構(gòu)建私有渲染系統(tǒng)的經(jīng)濟(jì)負(fù)擔(dān)和技術(shù)難度.云計(jì)算技術(shù)被引入到渲染領(lǐng)域[6],利用互聯(lián)網(wǎng)網(wǎng)絡(luò)的高速、互聯(lián)能力,將本應(yīng)由計(jì)算能力有限的個(gè)人計(jì)算機(jī)執(zhí)行的渲染任務(wù)分發(fā)給部署在網(wǎng)絡(luò)的高性能服務(wù)器集群上,再通過(guò)對(duì)計(jì)算節(jié)點(diǎn)進(jìn)行統(tǒng)一管理和調(diào)度,為用戶提供便捷高效的渲染服務(wù).因此,基于云服務(wù)實(shí)現(xiàn)渲染任務(wù)的計(jì)算模式正逐漸成為影視動(dòng)漫行業(yè)節(jié)約時(shí)間和成本的重要實(shí)現(xiàn)手段.
云渲染系統(tǒng)提供的渲染服務(wù)屬于軟件即服務(wù)(SaaS)層面,以渲染作業(yè)為核心向外提供服務(wù),具有資源虛擬化、按需使用、按需付費(fèi)等特點(diǎn).用戶通過(guò)Web 瀏覽器或客戶端軟件,提交需要渲染的模型文件并設(shè)定相應(yīng)參數(shù)后,云渲染系統(tǒng)會(huì)根據(jù)用戶要求分配計(jì)算資源和存儲(chǔ)資源來(lái)完成相關(guān)渲染任務(wù)[7-9].由于互聯(lián)網(wǎng)的異構(gòu)性、動(dòng)態(tài)性和協(xié)同性,各種異常隨時(shí)會(huì)導(dǎo)致服務(wù)執(zhí)行失效和服務(wù)中斷,嚴(yán)重影響渲染業(yè)務(wù)流程整體的正確性和可靠性.因此,云渲染系統(tǒng)需要不斷地調(diào)整渲染任務(wù)和執(zhí)行動(dòng)態(tài)配置策略,以適應(yīng)不斷變化的用戶需求和不穩(wěn)定的運(yùn)行環(huán)境.其中,云渲染服務(wù)提供商通常定義服務(wù)等級(jí)協(xié)議(SLA)來(lái)明確服務(wù)質(zhì)量QoS 參數(shù)和需履行的服務(wù)職責(zé)[10-12].但如何檢驗(yàn)渲染業(yè)務(wù)任務(wù)調(diào)度是正確的并且滿足預(yù)期服務(wù)質(zhì)量需求,卻是確保渲染任務(wù)能動(dòng)態(tài)且高效執(zhí)行的前提.
失效威脅是云渲染面臨的最嚴(yán)峻的挑戰(zhàn),已有學(xué)者研究云計(jì)算的服務(wù)質(zhì)量:一部分是用戶可感知屬性的研究[13,14],例如可用性和響應(yīng)性屬性,用戶在使用渲染系統(tǒng)的過(guò)程中能夠直接感受到系統(tǒng)是否可以訪問(wèn),點(diǎn)擊按鈕后系統(tǒng)是否能夠及時(shí)反饋等.另一部分是用戶不可感知屬性的研究[15],例如系統(tǒng)可靠性屬性,表示系統(tǒng)在指定的一段時(shí)間內(nèi)正常運(yùn)行的概率.由于云服務(wù)資源的高度虛擬化,云渲染系統(tǒng)所使用的計(jì)算節(jié)點(diǎn)、存儲(chǔ)設(shè)備和系統(tǒng)的具體執(zhí)行過(guò)程對(duì)用戶而言是透明的,而在其內(nèi)部服務(wù)流程結(jié)構(gòu)復(fù)雜且存在隨機(jī)失效現(xiàn)象.在云渲染系統(tǒng)執(zhí)行渲染任務(wù)的全期間,用戶只能看到渲染進(jìn)度和渲染結(jié)果,卻很難判斷云渲染系統(tǒng)是否按照約定提供了相應(yīng)質(zhì)量的服務(wù).因此,需要服務(wù)提供商對(duì)系統(tǒng)進(jìn)行評(píng)測(cè)后將可靠性計(jì)算結(jié)果反饋給用戶.本文考察的可靠性因素是指云渲染系統(tǒng)模塊或服務(wù)器出現(xiàn)各種失效的隨機(jī)概率,通過(guò)形式化驗(yàn)證方法綜合評(píng)估系統(tǒng)可靠性,確保向用戶提供的渲染服務(wù)是可信的.傳統(tǒng)軟件測(cè)試采用數(shù)理統(tǒng)計(jì)方法得出系統(tǒng)執(zhí)行成功的次數(shù)與總執(zhí)行次數(shù)的比率或系統(tǒng)故障的時(shí)間與總運(yùn)行時(shí)間的比率,以此來(lái)衡量系統(tǒng)的可靠性.傳統(tǒng)軟件測(cè)試只能使得錯(cuò)誤盡可能少地出現(xiàn),而采用形式化驗(yàn)證方式,尤其是采用概率模型檢驗(yàn)技術(shù)對(duì)云渲染系統(tǒng)任務(wù)調(diào)度進(jìn)行定量檢驗(yàn),則可以同時(shí)證明相關(guān)服務(wù)流程的正確性和可靠性.
基于上述問(wèn)題,本文針對(duì)云渲染系統(tǒng)的任務(wù)調(diào)度問(wèn)題[16],對(duì)系統(tǒng)執(zhí)行渲染任務(wù)的路徑和失效概率狀態(tài)等采用形式化方法進(jìn)行建模,定量檢驗(yàn)調(diào)度任務(wù),評(píng)估服務(wù)流程性能,找出產(chǎn)生異常的環(huán)節(jié)或處理節(jié)點(diǎn),提高渲染任務(wù)的成功率,并確保云渲染系統(tǒng)的可靠性.首先,針對(duì)云渲染系統(tǒng)的文件準(zhǔn)備模塊、資源請(qǐng)求模塊、渲染任務(wù)執(zhí)行模塊的概率建模問(wèn)題,將云渲染系統(tǒng)任務(wù)調(diào)度的服務(wù)流程狀態(tài)集合分割成“正常”和“異?!眱深?采用離散時(shí)間馬爾可夫鏈DTMC 對(duì)系統(tǒng)各功能模塊進(jìn)行概率建模;其次,從服務(wù)質(zhì)量屬性QoS 定義角度,結(jié)合渲染需求給出多角度的可靠性屬性檢驗(yàn)公式,使用模型檢驗(yàn)工具PRISM[17,18]計(jì)算概率,并驗(yàn)證云渲染系統(tǒng)可靠性;最后,在實(shí)驗(yàn)部分,通過(guò)分析定量檢驗(yàn)結(jié)果給出任務(wù)調(diào)度相關(guān)策略,用于指導(dǎo)云渲染系統(tǒng)的任務(wù)調(diào)度、資源調(diào)度和負(fù)載均衡.實(shí)驗(yàn)對(duì)比分析改進(jìn)前后的系統(tǒng)可靠性,驗(yàn)證本文方法在提高云渲染系統(tǒng)可靠性方面具有較高應(yīng)用價(jià)值.
本文第1 節(jié)介紹了云渲染系統(tǒng)概率建模方法.第2 節(jié)提出了可靠性相關(guān)屬性定義和其對(duì)應(yīng)的概率計(jì)算樹邏輯PCTL 公式.第3 節(jié)通過(guò)實(shí)驗(yàn)分析證明了本文方法的可行性.第4 節(jié)介紹了相關(guān)工作.第5 節(jié)總結(jié)了研究?jī)?nèi)容,提出今后研究方向.
本節(jié)通過(guò)一個(gè)平臺(tái)實(shí)例介紹云渲染系統(tǒng)形式化建模和驗(yàn)證的必要性.特別是面向概率失效而引起的系統(tǒng)穩(wěn)定性問(wèn)題,急需能對(duì)渲染任務(wù)調(diào)度進(jìn)行定量評(píng)估的解決方案.如圖1 所示是云渲染系統(tǒng)拓?fù)鋱D,平臺(tái)主要包括Web 服務(wù)器、文件服務(wù)器、平臺(tái)數(shù)據(jù)庫(kù)、節(jié)點(diǎn)管理服務(wù)器和云渲染資源節(jié)點(diǎn),通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)互聯(lián)和調(diào)度.首先,用戶通過(guò)終端連接云渲染系統(tǒng)Web 服務(wù)器,將待渲染文件上傳到文件服務(wù)器中;隨后,Web 服務(wù)器向節(jié)點(diǎn)服務(wù)器請(qǐng)求云渲染資源,節(jié)點(diǎn)服務(wù)器收到請(qǐng)求后分配云渲染資源節(jié)點(diǎn);接著,待渲染任務(wù)獲得云渲染資源后,由Web 服務(wù)器將用戶的渲染任務(wù)提交至節(jié)點(diǎn)管理服務(wù)器,節(jié)點(diǎn)管理服務(wù)器將任務(wù)分割并分發(fā)至計(jì)算節(jié)點(diǎn)執(zhí)行渲染子任務(wù),云渲染資源中的存儲(chǔ)節(jié)點(diǎn)保存數(shù)據(jù)塊和渲染子任務(wù)執(zhí)行產(chǎn)生的中間結(jié)果;接著,待所有子任務(wù)執(zhí)行完后,節(jié)點(diǎn)管理服務(wù)器合并存儲(chǔ)節(jié)點(diǎn)的渲染結(jié)果,將最終渲染結(jié)果上傳至云渲染平臺(tái)文件服務(wù)器;最后,由云渲染平臺(tái)Web 服務(wù)器通知用戶渲染任務(wù)完成.
Fig.1 Topology of general cloud rendering system圖1 云渲染系統(tǒng)拓?fù)鋱D
然而在云渲染系統(tǒng)環(huán)境下,為了完成渲染任務(wù)需要龐大的存儲(chǔ)資源保存待渲染文件,通過(guò)性能強(qiáng)大的CPU和GPU 計(jì)算以滿足執(zhí)行大規(guī)模渲染任務(wù)的需求.高效的任務(wù)調(diào)度和渲染流程是保證渲染任務(wù)執(zhí)行的前提.為了說(shuō)明任務(wù)調(diào)度,如圖2 所示是上海大學(xué)承擔(dān)的上海市科委專項(xiàng)項(xiàng)目云渲染平臺(tái)所涉及的相關(guān)流程.該系統(tǒng)任務(wù)調(diào)度的服務(wù)流程分為校驗(yàn)待渲染文件、請(qǐng)求云渲染資源、渲染子任務(wù)分配、節(jié)點(diǎn)執(zhí)行渲染子任務(wù)、合并渲染結(jié)果等模塊.云渲染系統(tǒng)的執(zhí)行步驟包括開始、校驗(yàn)待渲染文件、請(qǐng)求云渲染資源、獲得云渲染資源、分配渲染子任務(wù)、執(zhí)行渲染任務(wù)、保存中間結(jié)果、合并渲染結(jié)果、結(jié)束.網(wǎng)絡(luò)的不穩(wěn)定性容易產(chǎn)生數(shù)據(jù)丟包現(xiàn)象,引起數(shù)據(jù)不一致、文件損壞、執(zhí)行參數(shù)不一致等問(wèn)題,進(jìn)而導(dǎo)致渲染幀質(zhì)量不高、結(jié)果輸出時(shí)間過(guò)長(zhǎng)等問(wèn)題,更有可能出現(xiàn)渲染任務(wù)無(wú)法順利執(zhí)行或渲染服務(wù)異常等結(jié)果.因此,云渲染系統(tǒng)的任務(wù)調(diào)度流程在關(guān)注服務(wù)功能執(zhí)行情況外,還需要考慮異常情況和概率因素.
Fig.2 Flow chart of task scheduling in cloud rendering system圖2 云渲染系統(tǒng)任務(wù)調(diào)度的流程圖
一方面,由于云渲染服務(wù)資源是有限的,且渲染任務(wù)需要大量的計(jì)算和存儲(chǔ)支持,常伴有請(qǐng)求資源不足等問(wèn)題.其中,云渲染資源主要是指執(zhí)行渲染任務(wù)的虛擬主機(jī),是用于保存渲染結(jié)果的虛擬存儲(chǔ)單元.云渲染任務(wù)需要等待足夠云渲染資源后才能繼續(xù)執(zhí)行.若等待請(qǐng)求云渲染資源時(shí)間過(guò)長(zhǎng),表明系統(tǒng)同時(shí)執(zhí)行了較多用戶提交的渲染任務(wù),虛擬主機(jī)正在執(zhí)行繁重的渲染任務(wù).云渲染資源的可用性是任務(wù)調(diào)度的重要考慮因素.另一方面,節(jié)點(diǎn)執(zhí)行渲染子任務(wù)不總是成功的,各種軟硬件都容易出錯(cuò)致使渲染子任務(wù)異常.因此當(dāng)整個(gè)渲染任務(wù)完成時(shí),需要檢查所有子任務(wù)是否都成功執(zhí)行:若有執(zhí)行失敗的子任務(wù),重新分配這些渲染子任務(wù)并嘗試執(zhí)行;當(dāng)嘗試次數(shù)過(guò)多時(shí),渲染任務(wù)被迫中止.只有所有渲染子任務(wù)成功執(zhí)行,產(chǎn)生了正確的結(jié)果后,云渲染系統(tǒng)才會(huì)合并中間結(jié)果并將渲染最終結(jié)果交付給用戶.因此,云渲染子任務(wù)的成功執(zhí)行率也是任務(wù)調(diào)度的重要考慮因素.根據(jù)上述原因分析,對(duì)云渲染系統(tǒng)中不同模塊異常與可靠性進(jìn)行關(guān)聯(lián)分析,給出如下3 個(gè)角度的異常現(xiàn)象.
1) 文件準(zhǔn)備模塊的異?,F(xiàn)象
用戶通過(guò)網(wǎng)絡(luò)將待渲染的視頻、圖片和腳本等原始文件上傳到云渲染系統(tǒng)的文件服務(wù)器.根據(jù)文件大小,一般先被分割成若干小塊后存儲(chǔ)到存儲(chǔ)節(jié)點(diǎn)中.考慮到傳輸或存儲(chǔ)文件過(guò)程可能由于網(wǎng)絡(luò)、硬件等不確定因素導(dǎo)致文件損壞或者不兼容,云渲染系統(tǒng)在使用文件之前要先檢查文件的有效性.如果校驗(yàn)結(jié)果為文件無(wú)效或損壞,系統(tǒng)將執(zhí)行文件修復(fù)程序,此時(shí)可認(rèn)為系統(tǒng)進(jìn)入了異常狀態(tài),即文件異常.如果系統(tǒng)發(fā)生多次異?;蛘叽罅课募惓?則可靠性較低.另一方面,如果修復(fù)程序成功地將文件恢復(fù),系統(tǒng)可繼續(xù)執(zhí)行下一步操作,即恢復(fù)到正常狀態(tài).這種異?;謴?fù)能力可定義為異?;謴?fù)率.當(dāng)文件異常恢復(fù)率較高時(shí),可認(rèn)為系統(tǒng)可靠性較高.
2) 云渲染資源請(qǐng)求模塊的異?,F(xiàn)象
云渲染資源包括用于執(zhí)行渲染任務(wù)的虛擬主機(jī)(即計(jì)算節(jié)點(diǎn))和保存渲染結(jié)果的虛擬存儲(chǔ)單元(即存儲(chǔ)節(jié)點(diǎn)).通常,云渲染服務(wù)資源是有限的且需要共享,加上渲染任務(wù)需要大量的計(jì)算和存儲(chǔ)支持,可能導(dǎo)致渲染任務(wù)無(wú)法及時(shí)得到滿足.因此,若請(qǐng)求資源沒(méi)有得到滿足,渲染任務(wù)先進(jìn)入等待狀態(tài).此時(shí)可認(rèn)為云渲染系統(tǒng)進(jìn)入了異常狀態(tài),即資源異常.無(wú)期限的等待將是致命的缺陷.若系統(tǒng)能在規(guī)定時(shí)間內(nèi)及時(shí)分配給目標(biāo)渲染任務(wù)足夠的云渲染資源,則可恢復(fù)執(zhí)行下一步操作.若等待請(qǐng)求云渲染資源時(shí)間超時(shí),可認(rèn)為此系統(tǒng)無(wú)法承受當(dāng)前工作負(fù)載的渲染任務(wù)請(qǐng)求,則直接終止任務(wù).由此可定義資源異?;謴?fù)率為:在資源不足的情況下,系統(tǒng)能及時(shí)調(diào)度獲得目標(biāo)資源的能力.云渲染資源異常率和資源異?;謴?fù)率影響著云渲染系統(tǒng)的可靠性.
3) 渲染任務(wù)執(zhí)行模塊的異?,F(xiàn)象
渲染節(jié)點(diǎn)執(zhí)行子任務(wù)不總是成功的,即,有可能子任務(wù)雖然執(zhí)行完畢但是輸出了無(wú)效的中間結(jié)果.因此,檢查所有子任務(wù)是否都產(chǎn)生了正確有效的結(jié)果是必要的.若有的子任務(wù)執(zhí)行失敗,則需要重新分配并執(zhí)行.重新執(zhí)行子任務(wù)也存在一定的失敗概率.當(dāng)多次嘗試重新執(zhí)行子任務(wù),渲染效果仍舊沒(méi)有達(dá)到預(yù)期效果,可認(rèn)為執(zhí)行失敗.如果所有子任務(wù)都成功執(zhí)行且效果正確,則渲染系統(tǒng)合并所有中間結(jié)果后得到完整的渲染結(jié)果.極端情況下,如果節(jié)點(diǎn)執(zhí)行任務(wù)出現(xiàn)嚴(yán)重錯(cuò)誤導(dǎo)致整個(gè)系統(tǒng)無(wú)法正常工作,例如多個(gè)節(jié)點(diǎn)斷電或磁盤損壞等,將直接終止任務(wù).渲染異常率表示節(jié)點(diǎn)執(zhí)行渲染子任務(wù)失敗的概率.渲染異常恢復(fù)率表示當(dāng)有子任務(wù)執(zhí)行失敗時(shí),系統(tǒng)重新分配子任務(wù)并且最終執(zhí)行成功的概率.因此,渲染異常率和渲染異?;謴?fù)率也影響著云渲染系統(tǒng)的可靠性.
針對(duì)失效概率問(wèn)題,提出概率模型用于云渲染系統(tǒng)形式化建模和驗(yàn)證,從業(yè)務(wù)模型邏輯角度進(jìn)行功能建模,從成功執(zhí)行概率角度進(jìn)行非功能性建模.云渲染系統(tǒng)任務(wù)調(diào)度需要慮內(nèi)部流程結(jié)構(gòu)和渲染服務(wù),因此采用離散馬爾科夫鏈模型DTMC[19]對(duì)云渲染系統(tǒng)任務(wù)調(diào)度進(jìn)行流程建模.
定義1.云渲染系統(tǒng)任務(wù)調(diào)度的概率模型定義為六元組:RM=(Snormal,Sexception,sinit,P,AP,L),其中,
1)Snormal是有限非空狀態(tài)集合,表示云渲染系統(tǒng)處于正常運(yùn)行的狀態(tài)空間.包含所有的正常狀態(tài),例如請(qǐng)求資源和分配任務(wù)等,以及初始狀態(tài)和成功結(jié)束狀態(tài);
2)Sexception是有限非空狀態(tài)集合,表示云渲染系統(tǒng)處于異常運(yùn)行的狀態(tài)空間,包含所有的異常狀態(tài).除了修復(fù)文件、等待資源、重新渲染等異常狀態(tài),還包含文件修復(fù)失敗、資源不足、渲染執(zhí)行失敗等出錯(cuò)狀態(tài);
3)sinit∈Snormal代表初始狀態(tài);
4)L:S→2AP標(biāo)簽函數(shù),用來(lái)描述狀態(tài)上的命題集合,標(biāo)識(shí)具體狀態(tài)所對(duì)應(yīng)的正在執(zhí)行的任務(wù)操作或出錯(cuò)情況.其中,AP是原子命題集合,S=Snormal∪Sexception是所有狀態(tài)空間集合;
5)P:S×S→[0,1]是狀態(tài)遷移概率函數(shù),表示云渲染系統(tǒng)中從某一個(gè)狀態(tài)是否會(huì)遷移轉(zhuǎn)換到另一個(gè)狀態(tài)以及狀態(tài)遷移概率.
概率模型的每個(gè)狀態(tài)對(duì)應(yīng)云渲染系統(tǒng)任務(wù)調(diào)度的一個(gè)任務(wù)節(jié)點(diǎn),每次任務(wù)執(zhí)行視為執(zhí)行渲染服務(wù)或使用資源.該云渲染系統(tǒng)模型描述了流程狀態(tài)、狀態(tài)變遷信息和概率.此外,將系統(tǒng)狀態(tài)集合分成正常和異常兩種狀態(tài)集,用執(zhí)行步驟與出錯(cuò)描述作為狀態(tài),并加入錯(cuò)誤狀態(tài)描述出現(xiàn)的異常情況.為了將任務(wù)調(diào)度的流程轉(zhuǎn)化為相應(yīng)的概率模型,給出了如下幾種通用轉(zhuǎn)化規(guī)則:
定義2.云渲染系統(tǒng)任務(wù)調(diào)度的形式化建模轉(zhuǎn)化規(guī)則包括順序執(zhí)行、條件分支和循環(huán)操作等.
1)順序執(zhí)行:按照渲染流程任務(wù)依次執(zhí)行操作.圖3 給出了順序任務(wù)到概率模型的轉(zhuǎn)換規(guī)則;
2)條件分支:當(dāng)流程中遇到條件判斷時(shí)會(huì)執(zhí)行兩種不同的渲染操作,從而產(chǎn)生兩個(gè)不同的計(jì)算結(jié)果.在概率模型中可以直接展現(xiàn)成兩條概率路徑,但要求狀態(tài)轉(zhuǎn)移概率值相加為1.圖4 給出了條件分支任務(wù)到概率模型的轉(zhuǎn)換規(guī)則,其中,p和1-p分別是兩個(gè)分支的發(fā)生的概率;
3)循環(huán)操作:當(dāng)流程中遇到條件判斷時(shí),執(zhí)行結(jié)果中有一分支是返回執(zhí)行跳轉(zhuǎn)前的步驟以構(gòu)成循環(huán).圖5給出了循環(huán)任務(wù)到概率模型的轉(zhuǎn)換規(guī)則,其中,1-p是發(fā)生自循環(huán)的概率.
Fig.3 Transformation rule for sequence圖3 順序任務(wù)轉(zhuǎn)化
Fig.4 Transformation rule for branch圖4 條件分支任務(wù)轉(zhuǎn)化
Fig.5 Transformation rule for loop圖5 循環(huán)任務(wù)轉(zhuǎn)化
根據(jù)上節(jié)定義1,結(jié)合圖2 所示平臺(tái),將云渲染主要流程分為3 個(gè)模塊:準(zhǔn)備待渲染文件、獲取云渲染資源、執(zhí)行渲染任務(wù).表1 所示云渲染系統(tǒng)模型的狀態(tài)定義信息.
定義3.將云渲染系統(tǒng)模型的狀態(tài)定義分為:
1)云渲染系統(tǒng)的執(zhí)行成功狀態(tài)記為ssucc,失敗狀態(tài)記為sfail;
2)其他狀態(tài)用s(a,b)表示,表示a為功能模塊的編號(hào),b為a功能模塊中某一步操作或者某一錯(cuò)誤的編號(hào).
結(jié)合定義2 轉(zhuǎn)化規(guī)則,如圖6 所示是圖2 云渲染系統(tǒng)的概率模型實(shí)例.
Table 1 State definition for cloud rendering system表1 云渲染系統(tǒng)模型的狀態(tài)定義表
Fig.6 An example of probabilistic model for cloud rendering system圖6 云渲染系統(tǒng)的概率模型實(shí)例
如圖7 所示是圖6 模型的準(zhǔn)備渲染文件模塊,包括校驗(yàn)文件完整性和修復(fù)損壞的文件.該模塊有兩個(gè)執(zhí)行步驟和一個(gè)出錯(cuò)描述,分別對(duì)應(yīng)狀態(tài)s(1,1),s(1,2),s(1,3).校驗(yàn)文件時(shí)可能會(huì)出現(xiàn)文件損壞異常,需要執(zhí)行修復(fù)文件操作以恢復(fù)到正常狀態(tài).如果修復(fù)操作執(zhí)行失敗,云渲染系統(tǒng)無(wú)法繼續(xù)執(zhí)行任務(wù),則進(jìn)入失敗狀態(tài).因此,在跳轉(zhuǎn)到失敗狀態(tài)sfail前加上一個(gè)錯(cuò)誤狀態(tài)s(1,3),用于描述系統(tǒng)運(yùn)行失敗是由于文件無(wú)法修復(fù)導(dǎo)致的.而狀態(tài)s(1,2)到s(1,1)變化描述了可修復(fù)的概率遷移.
如圖8 所示是圖6 模型的請(qǐng)求云渲染資源模塊,包括請(qǐng)求云渲染資源、等待云渲染資源和獲得云渲染資源這3 個(gè)步驟,分別對(duì)應(yīng)概率模型中的狀態(tài)s(2,1),s(2,2),s(2,3).在請(qǐng)求云渲染資源時(shí),可能因資源被其他渲染任務(wù)占用而無(wú)法足夠分配,使得系統(tǒng)會(huì)進(jìn)入等待云渲染資源的異常狀態(tài).當(dāng)?shù)却龝r(shí)間超出限制時(shí)間時(shí),系統(tǒng)返回云渲染資源不足的錯(cuò)誤警告,表示運(yùn)行失敗.因此,在失敗狀態(tài)sfail前添加一個(gè)云渲染資源不足的錯(cuò)誤狀態(tài)節(jié)點(diǎn).此外,等待云渲染資源和獲取云渲染資源是耗時(shí)操作,所以狀態(tài)s(2,2)和s(2,3)存在自循環(huán).
Fig.8 Module of rendering resource request圖8 請(qǐng)求云渲染資源模塊說(shuō)明
如圖9 所示是圖6 模型的渲染任務(wù)執(zhí)行模塊,包括分配渲染子任務(wù)、執(zhí)行渲染子任務(wù)、保存中間結(jié)果、刪除錯(cuò)誤中間結(jié)果、重新分配未完成的渲染子任務(wù)、合并渲染結(jié)果等,分別對(duì)應(yīng)狀態(tài)s(3,1),s(3,2),s(3,3),s(3,4),s(3,5),s(3,6).執(zhí)行渲染子任務(wù)時(shí),可能因?yàn)槌绦蚵┒椿蛴布p壞導(dǎo)致渲染任務(wù)執(zhí)行失敗,所以在失敗狀態(tài)sfail前添加渲染執(zhí)行失敗的狀態(tài)s(3,7).然而即使渲染子任務(wù)執(zhí)行成功了,也不能保證產(chǎn)生的中間結(jié)果是正確的,在這種情況下,系統(tǒng)會(huì)嘗試重新分配這些渲染子任務(wù)給計(jì)算節(jié)點(diǎn)執(zhí)行.如果嘗試次數(shù)超出允許的最大次數(shù),則進(jìn)入狀態(tài)s(3,6)表示合并正確的中間結(jié)果.如果渲染子任務(wù)沒(méi)有全部完成,只合并了部分中間結(jié)果,也視為執(zhí)行失敗,即狀態(tài)s(3,6)仍有一定概率遷移到錯(cuò)誤狀態(tài)s(3,7).當(dāng)所有渲染子任務(wù)都產(chǎn)生正確結(jié)果,則視為系統(tǒng)運(yùn)行成功,即狀態(tài)s(3,6)遷移到成功狀態(tài)ssucc.
概率模型狀態(tài)轉(zhuǎn)移的概率參數(shù)值可以從實(shí)際云渲染系統(tǒng)中統(tǒng)計(jì)獲得.在概率模型的狀態(tài)遷移概率矩陣P中,行列分別對(duì)應(yīng)云渲染系統(tǒng)概率模型的狀態(tài),其中,pij表示狀態(tài)i遷移到狀態(tài)j的概率值.如下矩陣P是圖6 云渲染系統(tǒng)的概率模型各狀態(tài)之間的遷移概率信息示例.
Fig.9 Module of rendering task execution圖9 執(zhí)行渲染任務(wù)功能模塊說(shuō)明
可靠的渲染服務(wù)不僅滿足預(yù)期用戶對(duì)渲染作業(yè)的功能性需求,而且在受到干擾(外部攻擊、錯(cuò)誤操作或網(wǎng)絡(luò)環(huán)境影響)時(shí),具有連續(xù)提供渲染服務(wù)的能力,不會(huì)出現(xiàn)用戶需求以外的錯(cuò)誤行為.本節(jié)考慮云渲染服務(wù)質(zhì)量屬性,基于PCTL 性質(zhì)描述方法從系統(tǒng)運(yùn)行結(jié)果、系統(tǒng)出現(xiàn)異常的概率、異?;謴?fù)概率這3 個(gè)方面定義可靠性檢驗(yàn)公式.
概率計(jì)算樹邏輯PCTL 用概率運(yùn)算符號(hào)P~p定量地?cái)U(kuò)展了計(jì)算樹邏輯(CTL)的路徑量詞A(all)和E(exists).基于PCTL 能夠定量描述系統(tǒng)性質(zhì)以及概率事件等.
定義4.每個(gè)PCTL 概率計(jì)算樹邏輯公式由原子命題、邏輯運(yùn)算符、概率運(yùn)算符以及時(shí)態(tài)運(yùn)算符構(gòu)成[18,19],通過(guò)以下公式構(gòu)造獲得:
1)命題常量{true,false}和原子命題p是PCTL 公式;
2)如果φ,φ是PCTL 性質(zhì),則?φ,φ∧φ,φ∨φ,φ→φ,Xφ,Fφ,Gφ,φUφ和φU≤kφ是PCTL 公式;
3)如果φ是PCTL 性質(zhì),則P~p(φ)是PCTL 公式,稱為極值公式;
4)如果φ是PCTL 性質(zhì),則P=?(φ)是PCTL 公式,稱為計(jì)算公式.每個(gè)概率計(jì)算樹邏輯PCTL 公式由概率運(yùn)算符和路徑公式組成,其中,路徑操作符包括X(next),F(future),G(globally),U(until)這4 種.概率運(yùn)算符分為兩類.
· 第1 類是有關(guān)定量判斷限定符~∈{<,≤,>,≥},描述滿足性質(zhì)的路徑概率是否符合用戶指定閾值.概率操作符~p表示可達(dá)概率,其中,p∈[0,1]是給定的限定(界限)概率值.k∈?>0表示路徑的步長(zhǎng),≤k表示在k步執(zhí)行之內(nèi);
· 第2 類是有關(guān)計(jì)算定量數(shù)值符號(hào)=?,計(jì)算滿足性質(zhì)的路徑概率值.
概率模型檢驗(yàn)工具PRISM 已實(shí)現(xiàn)對(duì)帶概率約束的系統(tǒng)行為進(jìn)行建模和驗(yàn)證,支持對(duì)PCTL,PCTL*等定量性質(zhì)的執(zhí)行.實(shí)例說(shuō)明:如性質(zhì)公式P≤0.75(trueU≤5login)表示至少在5 次操作內(nèi)成功并登錄的概率最大值為0.75,而性質(zhì)公式P=?(trueUfail)表示系統(tǒng)出現(xiàn)故障的概率;如性質(zhì)公式P=?(FTaskFailed)表示計(jì)算將來(lái)出現(xiàn)任務(wù)失敗的概率;又如,性質(zhì)公式P=?(F(RequestResources→FGetResources))表示計(jì)算發(fā)出請(qǐng)求資源后獲得資源的概率.
云渲染系統(tǒng)執(zhí)行渲染任務(wù)成功時(shí)會(huì)輸出渲染結(jié)果,而失敗分兩種情況:一是執(zhí)行渲染任務(wù)之前出錯(cuò),導(dǎo)致任務(wù)提前終止;二是執(zhí)行部分渲染子任務(wù)出錯(cuò),導(dǎo)致系統(tǒng)只輸出部分渲染結(jié)果并終止.針對(duì)云渲染系統(tǒng)運(yùn)行狀態(tài)和渲染作業(yè)結(jié)果,基于PCTL 語(yǔ)法定義以下定量檢驗(yàn)性質(zhì).
性質(zhì)1.系統(tǒng)運(yùn)行成功的概率:
性質(zhì)公式描述了系統(tǒng)狀態(tài)遷移step步內(nèi),即在執(zhí)行渲染任務(wù)過(guò)程中,異常次數(shù)未超出限制且完成了全部渲染子任務(wù)的概率.此時(shí),若系統(tǒng)運(yùn)行成功的概率設(shè)置為大于95%,則通過(guò)比較執(zhí)行結(jié)果與95%得出定量結(jié)論.
性質(zhì)2.系統(tǒng)運(yùn)行失敗的概率:
性質(zhì)公式表示系統(tǒng)狀態(tài)遷移step步內(nèi),即在執(zhí)行渲染任務(wù)過(guò)程中,異常次數(shù)未超出限制、且未完成任何渲染子任務(wù)就到達(dá)失敗狀態(tài)的概率.其中,s=15 表示失效狀態(tài),其他相關(guān)編碼見(jiàn)后文表4 所示.此時(shí),若系統(tǒng)運(yùn)行失敗的概率設(shè)置為小于1%,則通過(guò)比較執(zhí)行結(jié)果與1%得出定量結(jié)論.
性質(zhì)3.系統(tǒng)不能完成全部渲染子任務(wù)概率:
性質(zhì)公式表示系統(tǒng)狀態(tài)遷移step步內(nèi),即在執(zhí)行渲染任務(wù)過(guò)程中,異常次數(shù)未超出限制、但只完成部分渲染子任務(wù)的概率.此時(shí),若系統(tǒng)不能完成全部渲染子任務(wù)概率設(shè)置為小于95%,則通過(guò)比較執(zhí)行結(jié)果與95%得出結(jié)論.
上述性質(zhì)1~性質(zhì)3 的公式中,step表示系統(tǒng)狀態(tài)遷移的步長(zhǎng),exception表示系統(tǒng)出現(xiàn)異常狀態(tài)的總次數(shù),upper表示允許系統(tǒng)出現(xiàn)異常最大次數(shù).布爾變量all_complete表示系統(tǒng)是否完成所有的渲染子任務(wù),布爾變量part_complete表示系統(tǒng)是否只完成部分渲染子任務(wù).
云渲染系統(tǒng)進(jìn)入異常狀態(tài)主要分為3 種情況:(1) 接收用戶提交的云渲染任務(wù)和存儲(chǔ)待渲染文件的過(guò)程中有一定機(jī)率造成文件損壞,使得渲染文件不可用,若修復(fù)文件失敗,則整個(gè)渲染任務(wù)無(wú)法進(jìn)行;(2) 請(qǐng)求云渲染資源時(shí),可能會(huì)遇到計(jì)算資源不足的情況,導(dǎo)致當(dāng)前云渲染任務(wù)長(zhǎng)時(shí)間等待分配云渲染資源,整個(gè)渲染任務(wù)無(wú)法正常進(jìn)行;(3) 由于計(jì)算節(jié)點(diǎn)配置各不相同,計(jì)算能力也有差異,不能保證每個(gè)渲染子任務(wù)都成功執(zhí)行并得到正確結(jié)果.整個(gè)渲染任務(wù)結(jié)束后,系統(tǒng)將嘗試重新分配和執(zhí)行未完成的子任務(wù),但可能發(fā)生多次嘗試后仍然失敗的情況.針對(duì)云渲染系統(tǒng)的上述異常情況,基于PCTL 語(yǔ)法定義以下定量檢驗(yàn)性質(zhì).
性質(zhì)4.用戶上傳的文件損壞的概率:
性質(zhì)公式表示系統(tǒng)狀態(tài)遷移step步內(nèi),即在執(zhí)行渲染任務(wù)過(guò)程中,出現(xiàn)過(guò)異常且修復(fù)過(guò)文件的概率.此時(shí),若用戶上傳的文件損壞的概率設(shè)置為小于1%,則通過(guò)比較執(zhí)行結(jié)果與1%得出結(jié)論.
性質(zhì)5.系統(tǒng)等待分配云渲染資源超時(shí)的概率:
性質(zhì)公式表示系統(tǒng)狀態(tài)遷移step步內(nèi),即在執(zhí)行渲染任務(wù)過(guò)程中,出現(xiàn)過(guò)異常且等待過(guò)云渲染資源的概率.此時(shí),若系統(tǒng)等待分配云渲染資源超時(shí)的概率設(shè)置為小于1%,則通過(guò)比較執(zhí)行結(jié)果與1%得出結(jié)論.
性質(zhì)6.節(jié)點(diǎn)執(zhí)行渲染子任務(wù)產(chǎn)生不正確結(jié)果的概率:
性質(zhì)公式表示系統(tǒng)狀態(tài)遷移step步內(nèi),即在執(zhí)行渲染任務(wù)過(guò)程中,出現(xiàn)過(guò)異常且重新嘗試過(guò)執(zhí)行渲染子任務(wù)的概率.此時(shí),若節(jié)點(diǎn)執(zhí)行渲染子任務(wù)產(chǎn)生不正確結(jié)果的概率設(shè)置為小于1%,則通過(guò)比較執(zhí)行結(jié)果與1%得出結(jié)論.
上述性質(zhì)4~性質(zhì)6 的公式中,step表示系統(tǒng)狀態(tài)遷移的步長(zhǎng),exception表示系統(tǒng)出現(xiàn)異常狀態(tài)的總次數(shù),repair_file表示系統(tǒng)修復(fù)文件的次數(shù),wait_resources表示系統(tǒng)進(jìn)入等待計(jì)算資源的狀態(tài)的次數(shù),rerendering表示系統(tǒng)重新執(zhí)行失敗的渲染子任務(wù)的次數(shù).
對(duì)于云渲染系統(tǒng)這種結(jié)構(gòu)復(fù)雜的系統(tǒng),運(yùn)行時(shí)出現(xiàn)異常是不可避免的.但可靠性也表現(xiàn)為從異常狀態(tài)中恢復(fù)的能力.針對(duì)云渲染系統(tǒng)異?;謴?fù),基于PCTL 語(yǔ)法定義以下定量檢驗(yàn)性質(zhì):
性質(zhì)7.用戶上傳的待渲染文件損壞時(shí),系統(tǒng)能夠及時(shí)修復(fù)的概率:
在該性質(zhì)公式的百分比中:分母為系統(tǒng)執(zhí)行過(guò)程中出現(xiàn)文件損壞的概率;分子為系統(tǒng)狀態(tài)遷移step步內(nèi),修復(fù)文件且將文件修復(fù)完好的概率.整個(gè)公式表示系統(tǒng)在進(jìn)入文件損壞異常時(shí),修復(fù)文件成功的概率.此時(shí),若系統(tǒng)能夠及時(shí)修復(fù)的概率設(shè)置為大于95%,則通過(guò)比較執(zhí)行結(jié)果與95%得出結(jié)論.
性質(zhì)8.系統(tǒng)等待分配云渲染資源超時(shí)后,能通過(guò)資源分配策略,經(jīng)過(guò)有限的狀態(tài)遷移后獲得足夠資源的概率:
在該性質(zhì)公式的百分比中:分母為系統(tǒng)執(zhí)行過(guò)程中出現(xiàn)長(zhǎng)時(shí)間等待云渲染資源情況的概率;分子為系統(tǒng)狀態(tài)在遷移step步內(nèi),等待云渲染資源且成功獲得云渲染資源的概率.整個(gè)公式表示系統(tǒng)在進(jìn)入長(zhǎng)時(shí)間等待云渲染資源異常時(shí),能成功獲取到云渲染資源的概率.此時(shí),若經(jīng)過(guò)有限的狀態(tài)遷移后獲得足夠資源的概率設(shè)置為大于95%,則通過(guò)比較執(zhí)行結(jié)果與95%得出結(jié)論.
性質(zhì)9.當(dāng)部分渲染子任務(wù)執(zhí)行失敗時(shí),系統(tǒng)通過(guò)重新分配子任務(wù)給計(jì)算節(jié)點(diǎn)進(jìn)行渲染并執(zhí)行成功,得到正確結(jié)果的概率:
在該性質(zhì)公式的百分比中:分母為系統(tǒng)執(zhí)行過(guò)程中渲染子任務(wù)執(zhí)行失敗的概率;分子為系統(tǒng)狀態(tài)遷移step步內(nèi),重新執(zhí)行過(guò)渲染子任務(wù)且最終完成所有渲染子任務(wù)的概率.整個(gè)公式表示系統(tǒng)在出現(xiàn)渲染異常時(shí),能重新分配并完成所有任務(wù)的概率.此時(shí),若系統(tǒng)通過(guò)重新分配子任務(wù)給計(jì)算節(jié)點(diǎn)進(jìn)行渲染并執(zhí)行成功,得到正確結(jié)果的概率設(shè)置大于95%,則通過(guò)比較執(zhí)行結(jié)果與95%得出結(jié)論.
上述性質(zhì)7~性質(zhì)9 的公式中,step表示系統(tǒng)狀態(tài)遷移的步長(zhǎng),exception表示系統(tǒng)出現(xiàn)異常狀態(tài)的總次數(shù),repair_file表示系統(tǒng)修復(fù)文件的次數(shù),wait_resources表示系統(tǒng)進(jìn)入等待計(jì)算資源狀態(tài)的次數(shù),rerendering表示系統(tǒng)重新執(zhí)行失敗的渲染子任務(wù)的次數(shù),布爾變量file_ok表示用戶文件是否完好無(wú)損,布爾變量resources_ok表示系統(tǒng)是否獲得足夠的云渲染資源,布爾變量all_complete表示系統(tǒng)是否完成所有的渲染子任務(wù).
1)葡萄已經(jīng)生長(zhǎng)到8片葉,受凍很嚴(yán)重,甚至所有新梢都凍死了。外國(guó)專家的建議是,不用剪掉已經(jīng)凍死的枝條,讓其自然生長(zhǎng),葡萄自身具備受損后的恢復(fù)機(jī)能,會(huì)啟動(dòng)新梢基部或原來(lái)新梢著生的結(jié)果母枝上的次生芽萌發(fā)出新的枝條,這些次生枝條當(dāng)年可能會(huì)有一些有限的產(chǎn)量,但第2年的產(chǎn)量恢復(fù)情況會(huì)更好。如果人為剪掉凍壞的新梢,不但費(fèi)工費(fèi)時(shí)增加成本,還可能會(huì)不小心傷及基部的次生芽,得不償失。當(dāng)然,由于新梢形成很晚,冬季修剪需要多下些功夫。
本節(jié)實(shí)驗(yàn)主要是采用PRISM 工具執(zhí)行定量驗(yàn)證,實(shí)驗(yàn)對(duì)象為圖2 所示流程實(shí)例.為了進(jìn)行仿真實(shí)驗(yàn),本文使用20 臺(tái)計(jì)算機(jī)搭建了小型云渲染系統(tǒng)的存儲(chǔ)和計(jì)算節(jié)點(diǎn).實(shí)驗(yàn)環(huán)境具體配置見(jiàn)表2.
Table 2 Computer configuration of experiment表2 實(shí)驗(yàn)環(huán)境計(jì)算機(jī)配置
該云渲染系統(tǒng)運(yùn)行一周后,從系統(tǒng)日志中得到狀態(tài)遷移概率矩陣P中的各項(xiàng)參數(shù)概率值.表3 是PRISM 代碼中描述概率的變量信息和相關(guān)賦值操作.表4 所示PRISM 代碼中描述變量的值與狀態(tài)名稱對(duì)應(yīng)關(guān)系.具體云渲染系統(tǒng)概率模型詳見(jiàn)附錄1 的代碼.
Table 3 Probability of parameters from system running log表3 系統(tǒng)運(yùn)行日志的參數(shù)概率值
Table 4 Mapping between state and value表4 狀態(tài)名稱對(duì)應(yīng)表
得到云渲染系統(tǒng)任務(wù)調(diào)度的概率模型后,根據(jù)第2 節(jié)描述的可靠性檢驗(yàn)性質(zhì),執(zhí)行概率模型檢驗(yàn).通過(guò)分析執(zhí)行結(jié)果的定量數(shù)值,評(píng)估云渲染系統(tǒng)是否滿足預(yù)期可靠性需求.
圖10 是性質(zhì)1 的檢驗(yàn)結(jié)果,其中,橫坐標(biāo)表示執(zhí)行步長(zhǎng),縱坐標(biāo)表示概率值.實(shí)驗(yàn)分別設(shè)置upper為0~5.觀察結(jié)果可知:系統(tǒng)未出現(xiàn)異常狀態(tài)完成渲染任務(wù)的概率低于95%;系統(tǒng)出現(xiàn)1 次異常狀態(tài)完成渲染任務(wù)的概率大于95%;系統(tǒng)出現(xiàn)2 次及以上異常狀態(tài)完成渲染任務(wù)的概率接近97%.允許的異常狀態(tài)次數(shù)越多,渲染系統(tǒng)運(yùn)行成功的概率越高.這是由于云渲染系統(tǒng)具有異常狀態(tài)修復(fù)能力.因此,系統(tǒng)滿足性質(zhì)1,即該云渲染系統(tǒng)在允許出現(xiàn)異常的前提下,執(zhí)行渲染任務(wù)成功的概率大于95%.
圖11 是性質(zhì)2 的檢驗(yàn)結(jié)果,其中,橫坐標(biāo)表示執(zhí)行步長(zhǎng),縱坐標(biāo)表示概率值.實(shí)驗(yàn)分別設(shè)置upper為1~5.從圖中結(jié)果發(fā)現(xiàn):系統(tǒng)狀態(tài)轉(zhuǎn)移次數(shù)在6 次以內(nèi),渲染任務(wù)失敗的概率非常小,其原因可能是文件異常和云渲染資源不足;而隨著狀態(tài)轉(zhuǎn)移次數(shù)的不斷增加,系統(tǒng)執(zhí)行渲染子任務(wù)失敗的概率明顯上升;另外,隨著允許出現(xiàn)異常狀態(tài)最大次數(shù)的增加,系統(tǒng)運(yùn)行失敗的概率也隨之升高,接近1.5%.因此,該云渲染系統(tǒng)不滿足性質(zhì)2,即系統(tǒng)狀態(tài)遷移6 步之外,執(zhí)行渲染任務(wù)出錯(cuò)的概率大于1%.
Fig.10 Verification result of property 1圖10 性質(zhì)1 檢驗(yàn)結(jié)果
Fig.11 Verification result of property 2圖11 性質(zhì)2 檢驗(yàn)結(jié)果
圖12 是性質(zhì)3 的檢驗(yàn)結(jié)果,其中,橫坐標(biāo)表示執(zhí)行步長(zhǎng),縱坐標(biāo)表示概率值.實(shí)驗(yàn)分別設(shè)置upper為1~5.觀察結(jié)果可知:隨著狀態(tài)遷移次數(shù)的增加,系統(tǒng)不能完成全部渲染子任務(wù)的概率不斷升高;當(dāng)系統(tǒng)僅允許1 次異常時(shí),部分任務(wù)失敗的概率小于1.675%;當(dāng)系統(tǒng)的允許異常次數(shù)在2 次及以上時(shí),部分任務(wù)失敗的概率超過(guò)1.675%.由于允許異常次數(shù)的增加,給了云渲染系統(tǒng)更多的機(jī)會(huì)去重新執(zhí)行之前失敗的渲染子任務(wù).因此,該云渲染系統(tǒng)不滿足性質(zhì)3,即系統(tǒng)完成全部的渲染子任務(wù)的概率大于1%.
圖13 展示了性質(zhì)4~性質(zhì)6 的檢驗(yàn)結(jié)果.觀察結(jié)果可知:文件損壞的異常出現(xiàn)得比較早,是因?yàn)閳?zhí)行渲染任務(wù)前首先要對(duì)待渲染文件進(jìn)行檢驗(yàn);出現(xiàn)長(zhǎng)時(shí)間等待云渲染資源的概率極小,不足0.25%;渲染異常與文件異常的概率較大,超過(guò)1.25%.因此,該云渲染系統(tǒng)滿足性質(zhì)5,但不滿足性質(zhì)4 和性質(zhì)6.即系統(tǒng)運(yùn)行過(guò)程中,發(fā)生文件損壞異常和渲染異常的概率大于1%,而發(fā)生長(zhǎng)時(shí)等待云渲染資源的異常概率小于1%.
Fig.12 Verification result of property 3圖12 性質(zhì)3 檢驗(yàn)結(jié)果
Fig.13 Verification result of property 4~6圖13 性質(zhì)4~性質(zhì)6 檢驗(yàn)結(jié)果
圖14 展示了對(duì)性質(zhì)7~性質(zhì)9 的檢驗(yàn)結(jié)果.觀察結(jié)果可知:文件異常較渲染異常能更早得到修復(fù),這也符合云渲染系統(tǒng)的實(shí)際任務(wù)執(zhí)行流程.本實(shí)驗(yàn)的云渲染系統(tǒng)對(duì)3 種異常的恢復(fù)能力相對(duì)較高,恢復(fù)到正常狀態(tài)的概率均大于95%.對(duì)文件異常的修復(fù)能力也較高,修復(fù)成功率大于97%.因此,該云渲染系統(tǒng)滿足性質(zhì)7 至性質(zhì)9,即系統(tǒng)運(yùn)行過(guò)程中對(duì)文件異常,云渲染資源異常以及渲染異常的成功修復(fù)概率均大于95%.
通過(guò)對(duì)上述實(shí)驗(yàn)結(jié)果的分析,統(tǒng)計(jì)出該云渲染系統(tǒng)可靠性檢驗(yàn)結(jié)果,見(jiàn)表5.
在本實(shí)驗(yàn)中,云渲染系統(tǒng)滿足了5 條檢驗(yàn)性質(zhì),即性質(zhì)公式1、性質(zhì)公式5、性質(zhì)公式7~性質(zhì)公式9.考慮到性質(zhì)公式2~性質(zhì)公式4、性質(zhì)公式6 不滿足,通過(guò)對(duì)定量數(shù)值進(jìn)一步分析,給出了如下結(jié)論和建議.
1)從系統(tǒng)執(zhí)行結(jié)果的角度看,系統(tǒng)在理想狀態(tài)(零異常發(fā)生)下執(zhí)行渲染任務(wù)成功率為94%.出現(xiàn)異常次數(shù)越多,表明系統(tǒng)的穩(wěn)定性越差.由于云渲染系統(tǒng)具備較好的異常狀態(tài)修復(fù)能力,當(dāng)允許的異常次數(shù)增加,系統(tǒng)成功運(yùn)行的概率也隨之提高.允許的異常次數(shù)大于2 時(shí),系統(tǒng)成功運(yùn)行的概率接近97%;
2)從異常率的角度看,文件發(fā)生異常的概率比較高,說(shuō)明文件傳輸或文件存取模塊的程序存在漏洞,也有可能是因?yàn)榇鎯?chǔ)節(jié)點(diǎn)的硬件質(zhì)量問(wèn)題或硬件穩(wěn)定性不達(dá)標(biāo).對(duì)于防范文件異常而言,需要更換高質(zhì)量的存儲(chǔ)設(shè)備并優(yōu)化文件傳輸和存取程序.渲染異常和文件異常的發(fā)生概率同樣高,這可能是由于計(jì)算節(jié)點(diǎn)的渲染算法或CPU 和GPU 計(jì)算壓力過(guò)大導(dǎo)致.對(duì)于防范渲染異常,需要優(yōu)化渲染算法或者考慮選用計(jì)算能力更強(qiáng)的計(jì)算機(jī)作為計(jì)算節(jié)點(diǎn).云渲染資源不足的異常率較低,說(shuō)明在本實(shí)驗(yàn)環(huán)境下該云渲染系統(tǒng)有充足的計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn),能夠滿足渲染任務(wù)的資源需求;
3)從異常恢復(fù)率角度看,若損壞文件被成功修復(fù)的概率很高,說(shuō)明文件備份和還原修復(fù)的功能良好.當(dāng)渲染任務(wù)長(zhǎng)時(shí)間等待云渲染資源時(shí),若及時(shí)分配請(qǐng)求資源的概率較高,表明云渲染資源的分配和調(diào)度策略是適用于當(dāng)前云渲染系統(tǒng)的.當(dāng)部分渲染子任務(wù)失敗時(shí),若能及時(shí)刪除并重新分配子任務(wù),表明云渲染系統(tǒng)對(duì)渲染任務(wù)的分配和調(diào)度能力較高.總體來(lái)說(shuō),系統(tǒng)進(jìn)入異常狀態(tài)后,能恢復(fù)到正常狀態(tài)的概率是評(píng)估可靠性的重要指標(biāo).
Fig.14 Verification result of property 7~9圖14 性質(zhì)7~性質(zhì)9 的檢驗(yàn)結(jié)果
Table 5 Verification result of all given properties表5 云渲染系統(tǒng)可靠性檢驗(yàn)結(jié)果
綜合上述3 個(gè)方面的分析可知:如果要提高渲染系統(tǒng)可靠性,需要對(duì)文件準(zhǔn)備模塊和渲染執(zhí)行模塊進(jìn)行優(yōu)化配置.本節(jié)基于檢驗(yàn)結(jié)果對(duì)云渲染系統(tǒng)提出改進(jìn)方案以提高系統(tǒng)可靠性,之后再次執(zhí)行概率模型檢驗(yàn)對(duì)可靠性檢驗(yàn)性質(zhì)進(jìn)行校驗(yàn),以期能提高相關(guān)定量數(shù)值.
首先,文件準(zhǔn)備模塊主要執(zhí)行校驗(yàn)文件和修復(fù)文件等操作,所以文件的存儲(chǔ)方式和存儲(chǔ)節(jié)點(diǎn)的性能需要額外關(guān)注.在本實(shí)驗(yàn)平臺(tái)下,在文件存儲(chǔ)到節(jié)點(diǎn)前,系統(tǒng)讀取預(yù)先設(shè)定好的存儲(chǔ)塊閾值,即根據(jù)BLOCK_SIZE的值來(lái)決定是否分割文件.如果文件大小超過(guò)預(yù)設(shè)大小,則文件會(huì)被分割成小于或等于BLOCK_SIZE大小的數(shù)據(jù)塊后再存儲(chǔ)到節(jié)點(diǎn)中.此外,數(shù)據(jù)塊會(huì)有多個(gè)副本存儲(chǔ)在不同節(jié)點(diǎn)上,但是由于實(shí)驗(yàn)系統(tǒng)使用普通機(jī)器作為云渲染主機(jī),其存儲(chǔ)和讀取數(shù)據(jù)的性能較低.如果數(shù)據(jù)塊副本數(shù)量適當(dāng)增加,也可以提高存儲(chǔ)系統(tǒng)的容錯(cuò)率,從而提高存儲(chǔ)和讀取可靠性.表6 代碼是為云渲染系統(tǒng)的HDFS 副本數(shù)量.
Table 6 Copy parameter setting of HDFS in cloud rendering system表6 云渲染HDFS 副本數(shù)量設(shè)置
其次,渲染執(zhí)行模塊主要由計(jì)算節(jié)點(diǎn)接收和執(zhí)行渲染子任務(wù),要求執(zhí)行渲染任務(wù)的計(jì)算節(jié)點(diǎn)能夠承擔(dān)高計(jì)算量并擁有足夠的穩(wěn)定性,使得每個(gè)子任務(wù)順利執(zhí)行.本實(shí)驗(yàn)系統(tǒng)中的各個(gè)設(shè)備的CPU 和GPU 性能都較低,容易導(dǎo)致執(zhí)行渲染子任務(wù)失敗.調(diào)整后的實(shí)驗(yàn)設(shè)備硬件配置見(jiàn)表7.從表中可以看出:CPU 更換成英特爾i7 或i5 處理器,內(nèi)存為8G 容量,同時(shí)更換了性能較高的顯卡.由于本實(shí)驗(yàn)系統(tǒng)滿足性質(zhì)5,即出現(xiàn)云渲染資源不足的異常概率較小,因此可以認(rèn)為當(dāng)前系統(tǒng)云渲染資源充足,不需要增加計(jì)算機(jī)設(shè)備數(shù)量.表7 是更新后的實(shí)驗(yàn)配置,其中計(jì)算機(jī)數(shù)量與表2 保持一致.
Table 7 Updated computer configuration for experiment表7 更新后的計(jì)算機(jī)配置
根據(jù)上節(jié)內(nèi)容調(diào)整策略后,向系統(tǒng)提交同樣數(shù)量和類型的渲染任務(wù).待系統(tǒng)運(yùn)行數(shù)周之后,再?gòu)南到y(tǒng)日志管理模塊中獲取新的概率參數(shù)值.表8 是改進(jìn)后云渲染系統(tǒng)的概率變量參數(shù)和數(shù)值.
Table 8 Probability of parameters after improvement表8 改進(jìn)后的變量參數(shù)和概率數(shù)值
接著,執(zhí)行概率模型檢驗(yàn),得到圖15~圖18 的實(shí)驗(yàn)數(shù)據(jù).
圖15 是對(duì)性質(zhì)1 的檢驗(yàn)結(jié)果.對(duì)照?qǐng)D9 可知:改進(jìn)前后的系統(tǒng)運(yùn)行成功的概率隨系統(tǒng)狀態(tài)轉(zhuǎn)移步數(shù)的變化趨勢(shì)相似,但是改進(jìn)后的系統(tǒng)運(yùn)行成功的概率明顯提高.改進(jìn)之前系統(tǒng)運(yùn)行成功的概率接近97%,改進(jìn)之后的概率超過(guò)了97.5%.因此,系統(tǒng)改進(jìn)后仍滿足性質(zhì)1,即系統(tǒng)運(yùn)行成功的概率大于95%.
圖16 是對(duì)性質(zhì)2 的檢驗(yàn)結(jié)果.對(duì)照?qǐng)D10 可知:系統(tǒng)狀態(tài)轉(zhuǎn)移次數(shù)在6 次以內(nèi),出現(xiàn)任務(wù)失敗的概率非常小;隨著狀態(tài)轉(zhuǎn)移次數(shù)的不斷增加,出現(xiàn)系統(tǒng)運(yùn)行失敗概率驟增現(xiàn)象;當(dāng)允許的異常狀態(tài)次數(shù)增加后,系統(tǒng)運(yùn)行失敗的概率小幅上升;改進(jìn)前的失敗概率接近1.5%,改進(jìn)后的失敗概率值下降,接近1%.改進(jìn)后的云渲染系統(tǒng)雖然仍不滿足性質(zhì)2,但是可靠性已有小幅度提高.因此,該改進(jìn)策略方向正確,具有一定的參考性.
Fig.15 Verification result of property 1圖15 改進(jìn)后對(duì)性質(zhì)1 的檢驗(yàn)結(jié)果
Fig.16 Verification result of property 2圖16 改進(jìn)后對(duì)性質(zhì)2 的檢驗(yàn)結(jié)果
圖17 是對(duì)性質(zhì)3 的檢驗(yàn)結(jié)果.對(duì)照?qǐng)D11 可知:隨著系統(tǒng)狀態(tài)遷移次數(shù)的增加,系統(tǒng)不能完成全部渲染子任務(wù)的概率不斷升高;改進(jìn)后,當(dāng)系統(tǒng)僅允許2 次以內(nèi)異常時(shí),部分任務(wù)失敗的概率小于0.7%;當(dāng)系統(tǒng)的異常次數(shù)在2 次以上時(shí),系統(tǒng)只完成部分渲染子任務(wù)的概率增加,超過(guò)了0.7%,但均沒(méi)有超過(guò)1%.因此,改進(jìn)后的云渲染系統(tǒng)滿足性質(zhì)3,即系統(tǒng)不能完成全部的渲染子任務(wù)的概率小于1%.
圖18 展示了對(duì)性質(zhì)4~性質(zhì)6 的檢驗(yàn)結(jié)果.對(duì)照?qǐng)D12 可知:系統(tǒng)文件異常和渲染異常發(fā)生的概率明顯下降;文件異常發(fā)生的概率略高于0.8%,但低于1%;渲染子任務(wù)執(zhí)行異常發(fā)生的概率在0.5%~0.6%之間;由于系統(tǒng)改進(jìn)方案沒(méi)有涉及云渲染資源總量,云渲染資源不足的異常發(fā)生概率幾乎保持不變.改進(jìn)后的云渲染系統(tǒng)同時(shí)滿足性質(zhì)4~性質(zhì)6,即云渲染系統(tǒng)3 個(gè)功能模塊發(fā)生異常的概率都小于1%.
Fig.17 Verification result of property 3圖17 改進(jìn)后對(duì)性質(zhì)3 的檢驗(yàn)結(jié)果
Fig.18 Verification result of property 4~6圖18 改進(jìn)后對(duì)性質(zhì)4~性質(zhì)6 的檢驗(yàn)結(jié)果
圖19 展示了對(duì)性質(zhì)7~性質(zhì)9 的檢驗(yàn)結(jié)果.對(duì)照?qǐng)D13 可知:系統(tǒng)改進(jìn)前后各個(gè)功能模塊的異?;謴?fù)率都高于95%.改進(jìn)后的異常恢復(fù)率小幅提高,其中,由于改進(jìn)方案中增加了數(shù)據(jù)塊的副本數(shù),文件異?;謴?fù)率更加接近98%.在云渲染資源不足的情況下,由于改進(jìn)方案中提升了計(jì)算節(jié)點(diǎn)的CPU 性能,異?;謴?fù)率和渲染子任務(wù)執(zhí)行異常的恢復(fù)率也提升到了97.5%以上.因此,改進(jìn)后的系統(tǒng)仍然滿足性質(zhì)7~性質(zhì)9,即3 個(gè)功能模塊的異常恢復(fù)率均大于95%.
綜上所述,表9 是對(duì)檢驗(yàn)結(jié)果匯總.
總的來(lái)說(shuō),改進(jìn)后的云渲染系統(tǒng)滿足8 條可靠性性質(zhì).相較于改進(jìn)前,改進(jìn)后的云渲染系統(tǒng)的可靠性水平有所升高.改進(jìn)后的系統(tǒng)同時(shí)滿足了性質(zhì)3、性質(zhì)4 和性質(zhì)6,說(shuō)明改進(jìn)后的云渲染系統(tǒng)出現(xiàn)文件損壞和文件無(wú)效的異常概率下降,節(jié)點(diǎn)執(zhí)行渲染子任務(wù)失敗的概率也有所下降,這些都有助于確保渲染作業(yè)正確執(zhí)行.
Fig.19 Verification result of property 7~9圖19 改進(jìn)后對(duì)性質(zhì)7~性質(zhì)9 的檢驗(yàn)結(jié)果
Table 9 Verification result of all given properties after improvement表9 改進(jìn)后的系統(tǒng)可靠性性質(zhì)檢驗(yàn)結(jié)果匯總
渲染任務(wù)是計(jì)算密集型和數(shù)據(jù)密集型作業(yè).傳統(tǒng)以單機(jī)模式的渲染方法存在計(jì)算效率低和耗時(shí)等問(wèn)題.因此,研究人員開始關(guān)注分布式計(jì)算方法以多機(jī)聯(lián)合輔助形式實(shí)現(xiàn)渲染任務(wù).Mahsa 等人[20]提出了一種支持3D 視頻遠(yuǎn)程渲染模型,能在減少視頻傳輸延遲的同時(shí)保障渲染質(zhì)量.由于網(wǎng)絡(luò)和云的不確定性,延遲傳輸是導(dǎo)致系統(tǒng)異常的重要因素,提高可靠性問(wèn)題是云渲染的任務(wù)調(diào)度和優(yōu)化的核心.Donghyeok 等人[21]提出了一種基于移動(dòng)云的交互式3D 渲染和流媒體系統(tǒng),包括支持軟件定義網(wǎng)絡(luò)(SDN)的自適應(yīng)云資源管理模塊和上下文感知的3D渲染和流媒體模塊,以提高渲染和流服務(wù)的服務(wù)質(zhì)量.但該方法的自適應(yīng)云資源管理和上下文感知涉及大規(guī)模流式數(shù)據(jù)的存儲(chǔ)和交換,因此,如何評(píng)估最優(yōu)渲染服務(wù)器是非常重要的研究點(diǎn).Audrius 等人[22]提出了基于Game Large 架構(gòu)模式的遠(yuǎn)程渲染系統(tǒng).當(dāng)客戶端的硬件或網(wǎng)絡(luò)不通暢時(shí),系統(tǒng)通過(guò)視頻流將圖形渲染切換到服務(wù)器,并將結(jié)果壓縮為能夠在客戶端使用的視頻流.這一混合模式雖然提高了任務(wù)持續(xù)性,但是仍然缺乏大規(guī)模云端服務(wù)器應(yīng)用的數(shù)據(jù)交換和服務(wù)器性能監(jiān)控等相關(guān)方法和技術(shù).Li 等人[23]提出了一種高效的兩層結(jié)構(gòu)的作業(yè)調(diào)度和任務(wù)調(diào)度策略(RF-FD)用于集群渲染系統(tǒng),其中:RF 策略利用低優(yōu)先級(jí)作業(yè)使得作業(yè)在被阻塞時(shí)最大化資源利用率;而FD 策略利用資源使用反饋來(lái)選擇渲染器并為其分配相應(yīng)線程,并將渲染節(jié)點(diǎn)劃分為細(xì)粒度渲染單元以平衡負(fù)載分布.從技術(shù)角度看,這些策略和方法有助于實(shí)現(xiàn)任務(wù)調(diào)度的可靠性,但是策略制定和自動(dòng)化執(zhí)行策略還需要進(jìn)一步研究和提高.
針對(duì)云計(jì)算環(huán)境,相關(guān)分布式協(xié)作平臺(tái)和研究成果正促使傳統(tǒng)的渲染服務(wù)向云渲染模式方向發(fā)展.Liu 等人[24]提出了基于Hadoop 的大型渲染系統(tǒng),將場(chǎng)景解析后每一幀渲染對(duì)應(yīng)的場(chǎng)景文件存儲(chǔ)到HDFS 上,利用它的數(shù)據(jù)本地性減少數(shù)據(jù)傳輸消耗的時(shí)間;同時(shí),利用MapReduce 編程模型完成作業(yè)的調(diào)度.Zhou 等人[25]針對(duì)超大規(guī)模渲染云問(wèn)題,提出一種5 級(jí)軟件架構(gòu)的黃金農(nóng)場(chǎng)集群渲染平臺(tái),包括基礎(chǔ)架構(gòu)層、平臺(tái)服務(wù)層、應(yīng)用服務(wù)層、服務(wù)管理和訪問(wèn)接口.開發(fā)并部署在“天河-1A”超級(jí)計(jì)算機(jī)上,能夠管理多達(dá)2 000 個(gè)高性能渲染節(jié)點(diǎn),支持同時(shí)使用24 000 個(gè)CPU 進(jìn)行并行任務(wù)渲染.由于3D 模型的大小和復(fù)雜性,渲染過(guò)程耗時(shí)且生產(chǎn)力低下.Kijsipongse 等人[26]評(píng)估了BitTorrent 文件系統(tǒng),通過(guò)對(duì)等方式傳播數(shù)據(jù),并使用本地緩存來(lái)縮短渲染時(shí)間,改進(jìn)了分布式動(dòng)畫渲染的通信性能.Wu 等人[27]設(shè)計(jì)了云三維動(dòng)畫渲染系統(tǒng),通過(guò)云計(jì)算模式,可以縮減動(dòng)畫的渲染時(shí)間,并且顯著提升渲染效果.雖然這些平臺(tái)在一定程度上解決了不同類型的渲染任務(wù),但是值得注意的是:由于網(wǎng)絡(luò)不穩(wěn)定性,任務(wù)調(diào)度的可靠性方面需要進(jìn)一步研究.
渲染通常在分布式計(jì)算環(huán)境下進(jìn)行,其執(zhí)行大量并行計(jì)算來(lái)加速渲染作業(yè),且異構(gòu)網(wǎng)絡(luò)下的數(shù)據(jù)服務(wù)成本受限.因此,越來(lái)越多的學(xué)術(shù)界和工業(yè)界的研究者關(guān)注任務(wù)調(diào)度中數(shù)據(jù)流和工作負(fù)載等方面問(wèn)題,致力于提高渲染效果.Cristian 等人[28]針對(duì)二維圖像的輸出序列中幀丟失問(wèn)題,提出了一種并行計(jì)算解決方案.該方案由多個(gè)基于GPU 異構(gòu)節(jié)點(diǎn)組成渲染方案實(shí)現(xiàn)交替幀渲染.在移動(dòng)設(shè)備上處理3D 模型較為困難,Yan 等人[29]提出了一種包括自適應(yīng)分裂和錯(cuò)誤處理機(jī)制的傳輸控制方法,并將其與典型的遠(yuǎn)程渲染系統(tǒng)相集成.該機(jī)制可以通過(guò)分割操作交易傳輸來(lái)降低傳輸頻率.Vilutis 等人[30]針對(duì)任務(wù)延遲問(wèn)題,提出了混合云的工作負(fù)載均衡算法用于渲染服務(wù),以確保其基于云的及時(shí)交付.Dobashi 等人[31]提出了一種借助求解反演渲染方法來(lái)解決渲染參數(shù)設(shè)置問(wèn)題,給定非均勻的合成云密度分布,使用遺傳算法搜索最佳參數(shù),對(duì)渲染合成云的參數(shù)進(jìn)行估計(jì).上述方法雖然考慮到任務(wù)/數(shù)據(jù)可靠性問(wèn)題,但是在性能計(jì)算和評(píng)估方面還缺少相關(guān)技術(shù)支撐.近年來(lái),越來(lái)越多的研究人員關(guān)注云渲染的可靠性,特別是對(duì)網(wǎng)絡(luò)系統(tǒng)、通信系統(tǒng)引起的不可靠、不可預(yù)測(cè)性行為進(jìn)行定量建模和檢驗(yàn).形式化驗(yàn)證技術(shù)作為一種可行方法,尤其是概率模型檢驗(yàn)技術(shù),能實(shí)現(xiàn)對(duì)流程進(jìn)行定量和定性的檢驗(yàn).但目前鮮有概率模型檢驗(yàn)技術(shù)在云渲染系統(tǒng)上的相關(guān)應(yīng)用研究.與上述工作不同,本文重點(diǎn)關(guān)注采用概率模型檢驗(yàn)驗(yàn)證云渲染系統(tǒng)任務(wù)調(diào)度的流程可靠性,并通過(guò)定量的驗(yàn)證結(jié)果數(shù)值指導(dǎo)如何設(shè)計(jì)云渲染系統(tǒng)優(yōu)化改進(jìn)策略,以確保云渲染系統(tǒng)提供可靠的渲染服務(wù).
隨著互聯(lián)網(wǎng)和云計(jì)算技術(shù)的快速發(fā)展,使用云渲染系統(tǒng)有助于企業(yè)在較短時(shí)間內(nèi)完成預(yù)期的渲染工作,在影視和動(dòng)畫等行業(yè)具有廣泛應(yīng)用前景和推廣市場(chǎng).渲染任務(wù)執(zhí)行和調(diào)度過(guò)程對(duì)用戶而言是透明的,即提交渲染文件后由渲染系統(tǒng)在云端自動(dòng)執(zhí)行相對(duì)應(yīng)的渲染操作并返回渲染結(jié)果.然而,網(wǎng)絡(luò)的不確定性等諸多影響因素使得用戶更加關(guān)心渲染任務(wù)的可靠性,因此,有必要針對(duì)云渲染系統(tǒng)任務(wù)調(diào)度流程進(jìn)行正確性和可靠性檢驗(yàn).同時(shí),可靠性評(píng)估的定量數(shù)值可以指導(dǎo)云渲染系統(tǒng)進(jìn)行任務(wù)切換,以確保渲染服務(wù)持續(xù)和穩(wěn)定運(yùn)行.基于此,本文提出了基于概率模型檢驗(yàn)的云渲染任務(wù)調(diào)度定量驗(yàn)證方法.從系統(tǒng)運(yùn)行成功率、異常率和異?;謴?fù)率這3 個(gè)角度分析云渲染系統(tǒng)的可靠性,并定義可靠性檢驗(yàn)性質(zhì)公式,通過(guò)PRISM 執(zhí)行概率模型檢驗(yàn)得到定量結(jié)果用于可靠性和系統(tǒng)性能評(píng)估.在實(shí)驗(yàn)部分,搭建了實(shí)驗(yàn)環(huán)境,一方面檢驗(yàn)和計(jì)算云渲染系統(tǒng)可靠性;另一方面,根據(jù)性能評(píng)估結(jié)果執(zhí)行指導(dǎo)云渲染資源的分配和調(diào)度策略.實(shí)驗(yàn)證明了本文方法的可行性和有效性,對(duì)提高云渲染系統(tǒng)服務(wù)可靠性具有指導(dǎo)意義.
在未來(lái)工作方面,將增加實(shí)驗(yàn)環(huán)境的計(jì)算節(jié)點(diǎn)數(shù)量,增加實(shí)驗(yàn)用戶數(shù)和并發(fā)量,提交更多的渲染任務(wù),研究分布式渲染數(shù)據(jù)的收集和處理方法.此外,針對(duì)定量檢驗(yàn)結(jié)果,研究基于服務(wù)質(zhì)量參數(shù)的自我評(píng)估和自動(dòng)修正方法,從而增強(qiáng)異常情況下實(shí)時(shí)任務(wù)調(diào)度的可操作性.
附錄1 PRISM 構(gòu)建云渲染系統(tǒng)概率模型
根據(jù)PRISM 建模語(yǔ)言語(yǔ)法規(guī)則,所構(gòu)建的云渲染系統(tǒng)概率模型名為“Cloud Rendering System”,其核心代碼如下所示.
代碼的第2 行~第10 行對(duì)模型參數(shù)進(jìn)行定義,具體變量描述見(jiàn)表10.代碼第11 行~第22 行為系統(tǒng)狀態(tài)遷移的定義,其中,在一些特定的狀態(tài)遷移中加入了對(duì)異常計(jì)數(shù)類參數(shù)的自增操作,是為了記錄系統(tǒng)到達(dá)某一狀態(tài)時(shí)的歷史信息.代碼23 行~第29 行對(duì)邊界條件進(jìn)行判斷,例如:異常發(fā)生的次數(shù)超過(guò)邊界值,則直接進(jìn)入失敗狀態(tài).
Table 10 Parameters introduction for Cloud Rendering System model表10 Cloud Rendering System 模型的參數(shù)變量定義