王銀媛
摘要:由于傳統(tǒng)的計算機的硬件設備在實驗過程當中存在著一定的問題,在該文當中筆者提出了一種以云計算和真實實驗板為基礎的遠程實驗室,可以通過瀏覽器實現FPGA的遠程配置,從而進行相關的實驗,同時實驗數據也可以通過服務器進行全過程的記錄,從而實現了對硬件的合理調度。同時利用JTGA機制也可以實現實驗快照的保存與恢復。此外,在該系統(tǒng)當中,實驗預約功能也得到了很好的完善。在該文的研究當中以以上內容為基礎研發(fā)了一種遠程實驗室,實驗的結果表明該實驗室可以進行廣泛的運用。
關鍵詞:云計算平臺;計算機;硬件;遠程實驗室
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)27-0121-02
Abstract: Due to traditional computer hardware during the experiment there were some problems, in which the author of this article presents a true cloud computing and breadboard-based remote laboratory can achieve FPGA remote configuration through a browser, thus for related experiments, and the experimental data can also be recorded through the whole process of the server, in order to achieve reasonable dispatch hardware. While taking advantage of JTGA mechanism can be implemented to save and restore the experimental snapshot. In addition, among the system, experiment booking function has also been very good improvement. In this study, in which more than content-based developed a remote laboratory, experimental results show that the laboratory can be widely used.
Key words: cloud computing platforms; computer; hardware; remote laboratory
1 背景
當前階段實驗云技術是一種新型的技術,所謂的實驗云就是將云計算技術融合到遠程實驗技術當中去。而將虛擬實驗引入到實驗教學當中去就產生了遠程實驗技術。傳統(tǒng)教育模式由于虛擬實驗技術的運用而得到了革命性的改變,當前階段,在市場當中存在著許多針對實驗教學的虛擬實驗軟件,同時由于現階段大部分的高校都具有較為豐富的計算機網絡資源,從而使得虛擬實驗的物質基礎已經具備。在虛擬實驗室當中對一些實驗進行模擬不僅對提高教學質量具有非常重要的意義,同時在某些情況下由于實驗條件不具備,可以充分利用這種技術使得學生更高更加深刻的觀察到實驗的具體現象,此外通過虛擬實驗室,學生還可以實現異地實驗。從世界范圍內來看,虛擬實驗室的數量正在不斷增多,在許多高校當中都具有較為廣泛的運用[1]。
2 云實驗平臺的總體設計
2.1 總體結構
當前階段云實驗平臺的框架主要由三個部分組成,即硬件系統(tǒng)、軟件系統(tǒng)與參考文獻。硬件系統(tǒng)是云實驗平臺的物質基礎,硬件系統(tǒng)是指云實驗平臺的計算機硬件以及綜合實驗板節(jié)點、服務器以及交換機等硬件設施,硬件系統(tǒng)當中的所有設備都需要通過網絡連接到一起[2]。在實驗的過程當中所需要用到的軟件以及數據庫與運行于數據庫當中的WEB服務被稱為軟件系統(tǒng),軟件系統(tǒng)是用戶進行操作的主要區(qū)域,是機器語言轉化到自然語言的重要工具,在云實驗平臺的軟件系統(tǒng)當中,實驗板是由WEB服務器負責管理的,此外WEB服務器還會對客戶端的請求進行回應,從而使得實驗功能能夠順利地完成,此外還會將相關的實驗數據傳輸到服務器當中去[3]。通過軟件系統(tǒng),用戶只需要通過手機或者平板電腦就可以進行相關的實驗。在云實驗平臺當中,參考文獻的格式已經不再局限于傳統(tǒng)的文本文獻,其不僅可以是文本格式,還可以是視頻或者音頻格式。
2.2 服務端的軟件設計
在云實驗平臺當中,服務端的軟件具有重要的意義,是對整個系統(tǒng)進行調度的樞紐。用戶通過服務端軟件可以實現對實驗的控制。在整個云實驗平臺當中,服務端軟件是實驗功能軟件的基礎,通過服務端軟件,上層的實驗功能軟件可以獲取對應的硬件接口。服務端軟件按照功能可以被劃分為三個模塊,即網絡通信模塊、實驗資源管理模塊與遠程硬件控制模塊。網絡通信模塊是整個模塊與實驗板之間進行通信的通道,其原理是基于SCOKET通信機制,其可以完成數據的接收與發(fā)送功能,同時也可以和實驗板之間進行有效連接。實驗資源管理模塊可以對實驗板當中的所有資源進行管理,在虛擬實驗的過程當中,實驗資源管理系統(tǒng)可以實現對實驗板連接請求的全過程監(jiān)控,在完成連接之后,則會對實驗板進行初始化[4]。然后加入熱備的資源池中,同時借助心跳機制,能夠及時發(fā)現實驗板發(fā)生的死機現象并通知管理員處理。遠程硬件控制模塊可以將用戶的控制命令按照相關的協(xié)議進行包裝,同時通過網絡向硬件實驗板進行發(fā)送。
3 云實驗平臺任務節(jié)點的設計
在云實驗平臺當中,任務節(jié)點端軟件需要根據實驗板的芯片ARM芯片的STM32進行設計,任務節(jié)點端軟件實現對實驗板的控制需要依賴硬件本身自定義的相關接口才能實現,這些接口主要包括:存儲芯片、FPGA、網卡控制芯片、CPLD。任務階段軟件向上可以通過網絡與服務段的軟件進行連接,同時接受其所發(fā)出的控制命令,從而實現對電路板的操控,同時還會將相關的實驗結果進行反饋[5]。任務節(jié)點端軟件所具有的軟件功能主要包括以下內容:將從服務器所接受的文件進行FPGA配置,同時將用戶代碼輸入到電路板的程序的存儲器,同時根據服務端軟件的命令對實驗板進行控制;完成心跳機制與硬件自檢;分配實驗板IP地址;在云實驗平臺當中,任務節(jié)點軟件之間的關系如下圖中所示:
4 云實驗平臺關鍵技術分析
4.1 實驗板資源高效管理機制
在云實驗平臺當中,用戶一旦通過軟件申請了實驗板,那么就會對FPGA進行相關的配置,從而使得相關的實驗功能得以實現,在這個過程當中原有的文件會被最新下載的文件所覆蓋。在這個過程當中,必然會涉及的一個問題就是替換問題,由于大部分的FPGA文件都是比較大的,這就使得配置的過程往往需要耗費較多的時間,而如果實驗板一直在運行當中,那么上次實驗所配置的FPGA依然還會被保留,而如果用戶所需要進行的實驗與上一次是一致的,那么FPGA就沒有必要進行重新配置[6]。為了有效解決這種問題,我們將Cache調度的替換算法類比到分配過程當中去,在系統(tǒng)當中采用LRU算法。具體的實施方法如下所示:首先記錄實驗板當中的FPGA配置信息當中的實驗,同時對不同實驗板在最近的實驗次數進行統(tǒng)計,當用戶申請實驗板時,如果其所需要進行的實驗與最近在某實驗板上所進行的實驗的內容一致或者是相類似的話,且該實驗板并不處于使用狀態(tài),那么這些實驗板當中最最不經常使用的一塊就會被分配給用戶。而如果用戶所需要進行的實驗在最近都沒有人進行過,那么系統(tǒng)將會把所有實驗板當中最不經常使用的一塊實驗板分配給用戶。通過這種方式進行實驗板的分配對提升分配效率具有非常重要的意義。
此外,為了防止出現掛機的現象,系統(tǒng)還會進行實驗板的回收,即如果用戶申請了實驗板,但是該實驗板在被分配之后很長一段時間之內都沒有進行實驗或者沒有數據流通,那么系統(tǒng)將會判定該實驗板是出于空閑狀態(tài)的,服務端軟件就會自動斷開實驗板與用戶之間的連接,同時將實驗板進行回收并分配給其他用戶[7]。這種方式能夠有效減少掛機現象的產生,從而使得資源浪費的現象大幅度減少。
4.2 實驗快照保存與恢復機制
用戶在使用云實驗平臺的過程當中,往往會因為多種因素的影響,必須要在中途終止實驗,而如果系統(tǒng)不具有備份功能,則用戶在下次重新實驗時就必須要從頭開始,而無法恢復到上次的備份點,因此,為了用戶實驗的方便以及提高資源的利用效率,在該系統(tǒng)當中設計了相應的實驗快照保存和恢復機制。該機制的實現需要依賴JTAG邊界掃面技術,核心思想就是通過對FPGA芯片的掃描從而獲取其運行狀態(tài)的相關數據,同時將這些數據存儲到數據庫當中去,在進行實驗的恢復時,在將所有的數據從數據庫當中調出,并通過時鐘將其置入FPGA芯片當中去。
實驗快照保存與恢復機制的主要三個部分的內容組成,即網絡通信模塊、邊界掃描控制器與遠程被測試目標。遠程服務器在被啟動之后,連接的請求被傳送到服務器,服務器會對其作出回應,而本地客戶端則會對遠程服務器發(fā)送JTAG命令,遠程服務器會讀取該命令并同時向邊界掃描器發(fā)送,同時邊界掃描器會FPGA進行掃描并獲取相關的信息,并將相關的信息存儲到數據庫當中去,黨用戶需要對這些信息進行恢復時,可以從數據庫將這些數據調出,并置于FPGA芯片當中去[8]。其主要流程如下圖中所示。
5 系統(tǒng)功能測試
在進行系統(tǒng)測試時,首先需要進行文件傳輸的測試,其主要內容包括用戶代碼與配置文件的下載,同時將原始文件與系統(tǒng)所接受到的文件進行對比分析,對比的結果發(fā)現,文件在系統(tǒng)當中的傳輸是一種無損傳輸,代碼文件的測試結果也同樣表明文件文件在系統(tǒng)當中的傳輸是一種無損傳輸[9]。
其次還需要對用戶程序的執(zhí)行進行測試,對其執(zhí)行的結果與由Mars(MIPS assembler and runtime simulator)編譯軟件模擬執(zhí)行同樣的程序所得到的結果進行對比與分析,判斷二者之間的結果是否完全一致,對比的結果說明用戶程序的寄存器與存儲器都是一致的[10]。
6 結束語
在本文當中筆者所提出的云實驗平臺,不僅能夠通過網絡環(huán)境使得實驗資源得以共享,同時還可以為學生進行畢業(yè)設計于課程設計等提供必要的實驗基礎,此外,對于解決現階段高校實驗室的建設也有著重要的意義,可以解決高校在實驗室建設過程當中的重復建設以及資源利用率偏低等問題。在本文當中,筆者通過查閱大量的文獻,并結合實際調查,設計出了該云實驗平臺,希望能對我國現階段高校的實驗教學有所幫助。
參考文獻:
[1] 楊龍軍. 計算機硬件云實驗平臺關鍵技術研究與實現[D]. 長沙:國防科學技術大學, 2013.
[2] 閆格. 基于云計算架構的高校實驗室設計與實施[J]. 漳州師范學院學報:自然科學版, 2011(3): 25-29.
[3] 俞建華. 基于云計算的遠程教學資源建設模式——以浙江開放大學為例[J]. 中國電化教育, 2011(12): 130-135.
[4] 郝丹. 遠程實驗室:支撐環(huán)境與創(chuàng)新動力——“中國遠程教育學術論壇”綜述[J]. 中國遠程教育, 2012(11): 5-15.
[5] 張宇灝. 基于云計算的電熔鎂砂生產過程遠程能源監(jiān)視軟件平臺設計與開發(fā)[D]. 沈陽: 東北大學, 2014.
[6] 尹雪蓉, 宋耀光, 倪巍. 云計算環(huán)境下OpenFlow網絡研究與實驗探索[J]. 實驗室研究與探索, 2013(12): 122-125,136.
[7] 方雷. 基于云計算的土地資源服務高效處理平臺關鍵技術探索與研究[D]. 杭州: 浙江大學, 2011.
[8] 李婧. 基于云計算的遠程教育資源共享技術研究與實現[D]. 西安: 西安電子科技大學, 2013.
[9] 陳昌興. 高校實驗室信息化的云計算策略與方法[J]. 實驗技術與管理, 2014(1): 221-224.
[10] 陸忠芳. 基于云計算的移動醫(yī)療服務平臺的研究與開發(fā)[D]. 杭州: 浙江理工大學, 2013.