馬億旿,池鵬,陳磊,梁小林,蔡立軍
?
基于用戶反饋機制的超級計算CAE云平臺計費模型設計
馬億旿1,池鵬1,陳磊2,梁小林2,蔡立軍2
(1. 湖南大學國家超級計算長沙中心,湖南長沙,410082;2. 湖南大學信息科學與工程學院,湖南長沙,410082)
針對傳統CAE云平臺中計費算法未考慮用戶行為與反饋等缺陷以及傳統計費模型的模式單一、無法支撐差異化服務、業務靈活性差等缺點,建立一種插件式的超級計算CAE云平臺計費模型,提出一種基于用戶反饋機制的計費算法。插件式計費模型以服務為基本單位,通過插件的形式為用戶的服務提供不同的計費方案,從而解決了傳統計費模型的模式單一、靈活性差等缺陷,增強超級計算CAE云平臺的業務動態性。基于用戶反饋的計費算法能夠根據用戶的歷史行為和反饋情況,動態調整用戶的計費參數,實現了根據用戶的活躍度和重要性來減少服務費用的目的,保證了服務質量,提升了用戶體驗。
超級計算;CAE;云計算;計費模型
CAE(computer aided engineering,計算機輔助工程)軟件能夠快速模擬產品的整個生產和使用過程,大大縮短產品研發和調試的周期,節約企業成本。企業對大型CAE軟件的需求越來越強烈[1],CAE軟件仿真已成為工業設計領域的核心、數字化制造的關鍵。然而,復雜、繁瑣的計算需求使得普通計算機不能完成。超級計算機是計算機中功能最強、運算速度最快、存儲容量最大的一類計算機,通常擁有萬核級以上的CPU PB(Peta Byte,拍字節)級以上的內存、萬兆級以上局域網絡、大量的其他資源。超級計算機能夠提高超快的計算速度(可比普通計算機快幾千倍),輕松地與CAE軟件進行協調。利用并行計算模塊高效運行CAE軟件中需要大量計算內容(大規模計算),大大縮短了 CAE仿真計算的時間,減小了CAE仿真的周期,節約CAE仿真成本[2]。大型CAE軟件價格昂貴,一套軟件可達幾十萬至幾百萬元,普通企業根本無力承受。此外,CAE軟件操作復雜,需要專業的培訓,需要大量的人力和財力資源。利用超級計算機的計算能力搭建通用的工業仿真設計云平臺(簡稱超級計算CAE云平臺)已經成為研究熱點。國家超級計算長沙中心利用“天河一號”超級計算機,搭建了一套CAE云平臺,通過Web的方式為用戶提供公共的云服務。用戶只要按需付費便能使用到CAE資源。計費系統[3?4]是云服務商提供服務的價值度量、用戶按需使用服務的報酬策略[5?6],是超級計算CAE云平臺的核心組成部分。根據用戶差異化服務需求和個性化的計費模式,需要能夠適應各種計費方案的綜合計費模型。因此,設計一種綜合的計費模型是超級計算CAE云平臺的關鍵任務。計費系統存在如下問題:1) 計費模式單一,靈活性和擴展性差;2) 無法支持差異化服務,不能適應云市場的發展;3) 重復計費和遺漏計費問題;4) 沒有考慮用戶的使用情況和用戶行為。目前,計費系統的重點大都集中在計費模型和計費規則上[7?8]。陳紅 等[9]討論了按次和包月等多種簡單計費規則的異同,并以此為基礎提出了云服務收費、監管和運行的相關流程及說明。Elmroth等[10]提出了一種自動進行資源縮放的作業調度機制,將用戶對作業運行的最大時間以及費用的上限作為作業調度以及資源分配的參考指標。Barbera等[11?12]依據用戶對計算資源和基礎設施的消耗設計了云環境下的賬務和計費架構。張波等[4]提出通過基于租借實例的 Pay-Per-Use 計費模型,該計費模型按照用戶使用的資源數量和資源種類進行差異化計費。Mao等[13?14]通過動態調整作業的預算時間和工作負載量來計算費用,利用VM實例的啟動和關閉時間計算作業的費用。亞馬遜EC2通過計算實例、數據傳輸、存儲以及其他增值服務來進行計費[15?16]。他們都沒有考慮用戶的QOS、服務等級和用戶行為。為此,本文作者針對云服務需要的多種差異化計費策略共存的特性,建立一種插件式的云計費模型,采用插件式模式,以服務為最小計量單位,對每種資源進行不同定價,根據用戶的差異化需求制定不同的收費策略。其次,針對傳統計費規則中沒有考慮用戶行為和服務等級的特點,提出一種基于用戶反饋機制的計費算法。將用戶歷史行為和服務評價作為計費因子,動態調整用戶的計費策略,以達到調節服務質量和提升用戶體驗的效果。
1 基于插件式統一計費模型
基于插件式的統一計費模型是依托超級計算CAE云平臺而構建的,首先需要明確計費模型在超級計算CAE云平臺的整體設計中的地位和作用,其次理解插件式計費模型的設計目標和體系結構,最后明確插件式計費模型所解決的關鍵問題和核心作用。
1.1 超級計算CAE云平臺總體設計
超級計算CAE云平臺的總體設計如圖1所示,主要由表現層、應用層、ESB總線層、中間件層和HPC層構成。表現層為用戶提供個性化的界面定制、安全的權限管理和USBKEY功能認證等個性需求;應用層為用戶提供各種CAE軟件仿真計算,用戶可以按需進行CAE仿真并可以在線進行前后處理。此外,用戶還可以得到各種作業統計和報表功能;ESB總線層即服務構件裝配與復雜業務流程處理系統對用戶的各種服務構件在協議解藕的基礎上進行統一封裝,形成與其他系統集成與通信的接口;中間件層主要是屏蔽Windows集群和Linux集群(天河1號超級計算機)之間的差異,根據用戶的服務和目標集群生成不同的指令或腳本,提交目標集群執行,并獲取中間結果和最終結果;HPC層的功能是利用Windows集群和Linux集群(天河1號超級計算機)中安裝的各種CAE大型商業行業應用軟件,執行用戶提交的結構力學、流體力學、電磁學等多種有限元分析與計算,通過集群內的調度軟件來進行大規模分布式計算作業,并回傳給用戶相應的計算結果。

圖1 超級計算CAE云平臺總體設計圖
插件式統一計費模型貫穿在超級計算CAE云平臺的各個層中,為用戶使用服務提供價值度量。在表現層中,用戶根據需要進行界面、權限、安全等功能的定制,以功能為基本單位與計費模型進行交互;在應用層,用戶提交各種類型的CAE作業(ansys,abaqus和ly-dyna等),計費模型將按照用戶使用資源的類型和資源進行計費;在ESB層,將提供各種應用接口并產生應用流量,計費模型可以按接口或流量以包年、包月、次數等多種方式進行計費;在中間件層,用戶將以作業的方式調用HPC層的各種資源,因此,“作業”作為基本單位為計費模型提供基本業務數據;在HPC層,用戶使用各種計算資源(CPU、內存、硬盤、CAE軟件等)與計費模型進行相應交互。因此,計費模型將面臨各個層次、各種功能的計費需求,需要靈活可配置的計費方式。
1.2 插件式計費模型設計
針對超級計算CAE云平臺具有計費功能多、動態組合性強、計費方式多變等特性,設計一種基于插件式的統一計費模型。該模型能夠利用插件式思想,根據動態功能輕松擴展相應的新計費模式,快捷方便地解決了傳統計費模型存在的計費模式單一、擴展性差、計費方式死板固定等缺點。
用戶扣費過程圖見圖2。由圖2可知用戶使用服務到按需付費可歸結為服務、定量/定價和計費3個過程,因此,插件式計費模型將超級計算CAE云平臺歸結為3部分:服務、用戶和用戶計費規則庫。首先,將超級計算CAE云平臺的所有功能進行歸結和劃分,形成多種可供用戶訂購或使用的服務,這些服務是平臺的核心、用戶按需付費的根本。服務可以根據業務或用戶需求動態進行變動和添加。其次,計費模型將統一監管平臺的所有用戶(正式、商業用戶等)。用戶的添加、變動、刪除及計費規則的制定都將由計費模型管理。每個用戶在添加成功時,將自動配置默認的計費規則,默認規則可由系統管理員動態設置。最后,管理員可以根據用戶使用的服務為每個用戶制定相應的計費規則,包括按月、按年、按次數等。此外,針對新加業務的需求,系統管理員可以動態地添加一些補充計費規則(如折扣、獎勵、優惠等)。其具體的架構如圖3所示。

圖2 用戶扣費過程

圖3 插件式計費模型架構
針對傳統計費系統中存在的計費規則單一問題,插件式計費模型通過將平臺的所有服務進行歸結,以服務為計費的最小單位,根據服務為用戶提供多種計費規則的方式。管理員可根據用戶訂購的不同服務制定不同的計費方案,大大提高了用戶計費的靈活性,強化了用戶體驗,方便了系統管理。此外,針對傳統計費系統中無法進行差異化服務的缺點,本文的計費模型能夠利用新增業務和配置用戶相應計費規則的方式,輕松實現,大大增加了系統的可擴展性。針對重復或遺漏計費問題,插件式計費模型通過設置默認計費方案來解決遺漏計費問題,通過動態配置用戶計費規則的方式可手工查詢和避免重復計費問題。
2 基用戶行為和反饋的計費算法
針對傳統計費算法未考慮用戶歷史情況和用戶行為的問題,本文針對超級計算CAE云平臺中的各種CAE服務,提出一種基于用戶反饋機制的計費算法。該算法能夠結合用戶的歷史使用情況和用戶反饋信息動態調整計費因子,達到減少資源單價、提升用戶體驗、擴大用戶效應等效果。此外,通過該算法還能夠觀測出用戶的歷史使用情況,大大減少了管理者的管理成本。
2.1 相關定義
超級計算CAE云平臺的核心任務是為普通用戶或者商業用戶提供按需、全面的CAE云平臺。CAE作業是超級計算CAE云平臺的主要功能。針對傳統CAE云平臺未考慮用戶行為和反饋的缺點,提出一種基于用戶反饋的超級計算CAE云平臺計費算法,其相關定義如下。
定義1(事件) 事件是指用戶提交的各種CAE作業的執行狀態,包括作業提交、作業等待、作業上傳、作業失敗、作業成功等多個狀態。計費算法根據作業狀態來判斷用戶任務的完成情況以及作業計費開始和結束時間。超級計算CAE云平臺作業事件狀態轉換如圖4所示。

圖4 作業事件狀態轉換圖
定義2(作業等待時間wait) 作業等待時間wait是指用戶任務從作業提交狀態到作業運行狀態的時間,也就是作業排隊等待的時間。該時間表示云平臺為用戶任務準備相應資源的時間。設running為作業開始運行的時間,commit為作業提交的時間,則
wait=running?commit(1)
定義3(作業執行時間run) 作業執行時間run是指用戶任務從作業執行狀態到終結狀態的時間。終結狀態包括作業成功和作業失敗。該時間表示用戶作業的真實處理時間,是用戶任務處理過程的體現,是用戶計費的重要依據。設down為作業終結狀態是時間,running為作業運行時間,則有
run=down?running(2)
定義4(作業時間work) 作業時間work是指用戶作業成提交狀態到完成狀態的時間。是用戶任務的整個執行過程的度量,是平臺計算速度和性能的體現,由work表示。
work=wait+run=down?commit(3)

由上述公式可知:用戶(>0)行為因子定義為用戶的所有任務(,>0)的消費金額與所有用戶消費金額的比值。若所有用戶的消費金額小于常數,則將按常數計算。的取值由系統管理員根據市場需求決定。
2.2 算法流程
基于用戶反饋機制的計費算法主要是在傳統算法的基礎上加入用戶反饋因子和用戶行為因子這2個參數,將用戶的歷史行為和用戶反饋信息結合到計費系統中,增加用戶的行為對系統的影響,提升用戶體驗,加大用戶使用力度。其算法的具體流程如圖5所示。

圖5 基于用戶反饋的計費算法流程圖
由圖5可知基于用戶反饋的超級計算CAE計費算法主要由4步組成。
步驟1:用戶根據自身需求,填寫相應參數,提交CAE任務。用戶選擇不同的CAE任務,將提交不同的參數如CPU數量、GPU數量、內存數量、License數量、預計時間等。CAE云平臺將根據用戶提交的參數進行預先判斷,利用配置的計費算法,結合用戶歷史行為和反饋因子初步計算本次任務所需費用。
步驟2:根據步驟1中計算的預付費用與用戶自身余額進行比較,判斷用戶的本次作業是否可以執行。若用戶余額不足,則將跳轉到對應的費用支付頁面進行支付,然后再次進行判斷驗證;若用戶充足,則提交到CAE云平臺進行排隊計算。
步驟3:當用戶提交到CAE云平時,記錄作業提交時間;根據云平臺的資源情況和作業預估的資源情況進行判斷,若云平臺有充足的資源可以使用,則正式進行作業處理,并記錄相應的開始處理時間和結束時間;否則,排隊等待其他作業釋放資源。
步驟4:根據正式的計算時間和使用資源情況(CPU,GPU,License和內存),利用基于用戶反饋的計費算法計算最終用戶費用。若費用充足,則扣除費用允許用戶下一步操作;否則,跳轉到充值頁面進行充值,充值完成后重新進入步驟4。
3 超算CAE云平臺計費模型驗證
3.1 計費系統設計
超級計算CAE云平臺是依托于天河一號的CAE云平臺,其主要目的是為工程機械領域的用戶或企業提供一個簡單、方便、快捷的按需付費CAE仿真平臺。該平臺采用開源java技術進行研發,使用大型數據庫軟件oracle 11g進行數據支撐,大大提升了平臺的性能和用戶體驗。計費模型作為超級計算CAE云平臺的核心功能部分,其貫穿平臺整體設計的各個層次,發揮中非常重要的作用。基于用戶反饋機制的計費算法和其計費模型的具體設計圖6所示。

圖6 計費系統架構設計
計費模型作為CAE云平臺的核心功能,需要最高的安全等級和最強的安全防衛。因此,平臺將計費系統安置在安全性和協調性最強的中間件系統中,其他各層要想使用計費模型,都必須通過web service的方式進行接口調用,從而最終達到安全計費和信任計費的目標。平臺的計費系統由計費功能接口和計費輪詢系統2個子系統組成。
計費功能接口主要負責對外的各種計費功能與平臺統一數據庫的交互,保證計費功能的安全性和可信性。功能接口子系統利用通用的Tuscany組件作為業務管理容器,提供了一個面向服務的核心架構以支持簡單快速地開發和運行面向服務的應用程序,方便為平臺的各層提供各種計費接口。
計費輪詢子系統采用SSh通道結合輪詢模式負責監控和管理各種CAE任務與天河平臺的對接和相關計費功能(主要包括對作業的自動扣費以及作業運行失敗的可用余額自動恢復等功能)。此外,輪詢子系統還負責定期進行計費錯誤的檢驗和計費邏輯的校驗,保障平臺異常情況的正確處理,提升計費系統的整體健壯性。計費輪詢系統的具體結構如圖7所示。

圖7 計費輪詢子系統架構設計
計費輪詢子系統采用Quartz作業時鐘調度器,定時觸發Spring容器中的任務調度和異常檢查命令。中間件根據各種命令生成相應的作業調度或異常檢查指令,上傳給“天河”超級計算平臺進行執行。
3.2 案例驗證
超級計算CAE云平臺建立了插件式的計費模型。該模型以服務為基本單位,根據用戶屬性動態地為每個用戶的不同服務配置不同的計費策略,實現云服務中計費方案的靈活多變。目前,超算CAE云平臺已經完成按小時、按月、包年、按資源數量、自定特色計費方案與用戶行為和反饋計費方案等多種計費方案的集成,表1所示為一些典型計費方案。

表1 插件式計費模型典型計費方案表
基于用戶反饋的計費算法根據用戶的任務情況,分析、記錄任務的運行時間(elapsed time)、使用CPU數量(processor)、內存數量、GPU數量、Licence數量等,并綜合分析用戶的歷史作業行為和用戶反饋因子,從而進行對應任務的費用計算。
表2所示為系統各種資源的單價和計費參數,用戶反饋計費算法根據計費參數和用戶歷史行為和反饋,利用相應的計費算法(式(13)),對用戶任務的費用進行計算。文中對6個用戶利用按小時、資源、用戶反饋這3種計費方案,以abaqus服務為例,驗證“用戶反饋”計算方案的計費效果。在試驗中用戶1,3和5進行4 h任務,且用戶滿意度一般;用戶2,4和6為5 h任務,用戶滿意度較好。表3所示為6個用戶的計費配置表,圖8所示為用戶使用abaqus服務的計費費用率對比結果。

表2 系統資源計費參數

表3 用戶abaqus計費方案表

圖8 abaqus服務計費費用率對比圖
從圖8可以看出:無論用戶任務處理結果是否達到用戶效果,按小時計費和傳統按資源計費,其費用率即單位時間內的計費金額是固定不變的。用戶反饋方案考慮了用戶的任務情況和用戶的反饋結果,根據用戶的評價相應地動態改變用戶的計費費用率,提升了用戶的體驗。
4 結論
1) 插件式的計費模型以服務的最小單位,利用插件的方式為每個用戶的服務配置不同的計費方案和算法,大大增強了系統的靈活性,解決了傳統計費模型模式單一、靈活性差、無法提供差異化服務的缺陷。
2) 基于用戶反饋的計費算法,結合用戶的歷史行為和使用反饋,根據用戶的平臺使用活躍程度、自身重要性以及用戶反饋情況進行動態計算,動態地生成計費方案,大大提升了用戶的體驗感,為超算CAE平臺提供了更強的人性化和健壯性。
3) 基于用戶反饋的計費算法和插件式計費模型都依托于超算CAE云平臺。通過靈活的計費模型和動態的計費算法,提升了整個超速CAE云平臺的用戶體驗,加強了超速CAE云平臺的服務特色,加快了市場化速度。插件式計費模型還存在一些不足,如:計費模型和業務邏輯分離必然造成系統性能下降;計費模型的靈活性增強了管理的維護難度;用戶反饋的計費算法存在用戶惡意攻擊的漏洞。在下一步研究中,將改進上述缺點,并將一些進化算法與計費方案結合,以形成更加智能化的計費算法。
[1] 岳中第, 劉彬, 高光波. 先進數字化制造中的工程分析及其應用[J]. 航空制造技術, 2005(6): 65?70. YUE Zhongdi, LIU Bin, GAO Guangbo. Engineering analysis and its applications in advanced digital manufacturing[J]. Aeronautical Manufacturing Technology, 2005(6): 65?70.
[2] Saleh R A, Gallivan K A, Chang M C, et al. Parallel circuit simulation on supercomputers[J]. Proceedings of the IEEE, 1989, 77(12): 1915?1931.
[3] XIAO Yanping, LIN Chuang, JIANG Yixin, et al. Reputation- based QoS provisioning in cloud computing via Dirichlet multinomial model[C]//Communications (ICC), 2010 IEEE International Conference Cape Town, South Atrica: IEEE, 2010: 1?5.
[4] 張波, 沈蘇彬. 移動互聯網動態接入計費機制研究[J]. 南京郵電大學學報(自然科學版), 2011, 31(1): 90?95. ZHANG Bo, SUN Subin. Study the mechanism of dynamic mobile internet access charging[J]. Nanjing University of Posts and Telecommunications (Natural Science), 2011, 31(1): 90?95.
[5] 徐健. 計費系統負載模型的研究與應用[J]. 計算機工程, 2013, 39(6): 82?84, 90. XU Jian. Research and application of the billing system load model[J]. Computer Engineering, 2013, 39(6): 82?84, 90.
[6] Mihoob A, Molina-Jimenez C, Shrivastava S. A case for consumer–centric resource accounting models[C]//Cloud Computing (CLOUD), 2010 IEEE 3rd International Conference on IEEE. Miami, FL, USA, 2010: 506?512.
[7] Park K W, Han J, Chung J W, et al. THEMIS:A mutually verifiable billing system for the cloud computing environment[J]. IEEE Transactions on Services Computing, 2013, 6(3): 300?313.
[8] Barmouta A, Buyya R. Gridbank: A grid accounting services architecture (gasa) for distributed systems sharing and integration[C]//Parallel and Distributed Processing Symposium. Washington D C, USA: IEEE, 2003: 8.
[9] 陳紅, 任怡, 劉曉建. 云計算平臺下計費機制研究[J]. 計算機科學, 2011, 38(8): 48?52. CHEN Hong, REN Yi, LIU Xiaojian. Research billing mechanisms cloud computing platform[J]. Computer Science, 2011, 38(8): 48?52.
[10] Elmroth E, Marquez F G, Henriksson D, et al. Accounting and billing for federated cloud infrastructures[C]//Grid and Cooperative Computing, Eighth International Conference. Lanzhou, China: IEEE, 2009: 268?275.
[11] Barbera R, Giorgio E, Hwang S, et al. Gustav: A lightweight approach to CPU accounting in distributed systems[C]//P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC). Fukuoka, Japan: IEEE, 2010: 24?29.
[12] Yuan Q, Liu Z, Peng J, et al. A leasing instances based billing model for cloud computing[M]//Advances in Grid and Pervasive Computing. Heidelberg, Berlin: Springer, 2011: 33?41.
[13] Mao M, Li J, Humphrey M. Cloud autoscaling with deadline and budget constraints[C]//Proceedings of the 2010 11th IEEE/ACM International Conference on Grid Computing (GRID).Brussels, Belgaria, 2010: 41?48.
[14] Sterling T, Stark D. A high-performance computing forecast: Partly cloudy[J]. Computing in Science & Engineering, 2009, 11(4): 42?49.
[15] Rodriguez D Z, Rosa R L, Bressan G. A billing system model for voice call service in cellular networks based on voice quality[C]//Consumer Electronics (ISCE), 17th International Symposium. Hsinchu, Taiwan. Hsinchu: IEEE, 2013: 89?90.
[16] YU Hongyong, WANG Deshuai. Applied technology in a composite and definable SaaS billing mechanism supporting optimized utilization of resource[J]. Advanced Materials Research, 2014, 859: 438?443.
Design of charging model using supercomputing CAE cloud platform of user feedback mechanism
MA Yiwu1, CHI Peng1, CHEN Lei2, LIANG Xiaolin2, CAI Lijun2
(1. National Supercomputing Center in Changsha, Hunan University, Changsha 410082, China; 2. College of Electrical and Information Engineering, Hunan University, Changsha 410082, China)
As the traditional charging model of CAE cloud platform has many shortcomings, such as user behavior and feedback are not considered, the single charging model can not support differentiated services, and it has poor business flexibility, a charging model was proposed based on plug-in in the supercomputer CAE cloud platform and a charging algorithm was put forward based on user feedback mechanism. The plug-in accounting model regards service as a basic unit, and provides different charging solutions for user’s service by a form of plug-in unit, which makes it easy to solve those problems, and to some extent, it strengthens the characteristic of the strong business dynamics of supercomputer CAE cloud platform. The charging algorithm can dynamically adjust the user's charging parameters according to the historical behavior and feedback of user mechanism, and reduce service costs by the activity and the importance of user, which enhances the quality of services and user experience.
supercomputer; CAE; cloud computing; charging model
10.11817/j.issn.1672-7207.2015.10.023
TP391.9
A
1672?7207(2015)10?3718?08
2014?11?22;
2015?01?19
國家科技支撐計劃項目(2012BAH09B02);長沙市科技計劃重大專項(K1204006-11-1)(Project (2012BAH09B02) supported by the National Key Technology Support Program;Project (K1204006-11-1) supported by Science and Technology Plan Major Projects of Changsha)
池鵬,工程師,從事高性能計算與云計算研究;E-mail:chipeng@189.cn
(編輯 陳燦華)