淺談云計算平臺的計算機(jī)硬件遠(yuǎn)程實驗室實現(xiàn)論文
1 背景
當(dāng)前階段實驗云技術(shù)是一種新型的技術(shù),所謂的實驗云就是將云計算技術(shù)融合到遠(yuǎn)程實驗技術(shù)當(dāng)中去。而將虛擬實驗引入到實驗教學(xué)當(dāng)中去就產(chǎn)生了遠(yuǎn)程實驗技術(shù)。傳統(tǒng)教育模式由于虛擬實驗技術(shù)的運用而得到了革命性的改變,當(dāng)前階段,在市場當(dāng)中存在著許多針對實驗教學(xué)的虛擬實驗軟件,同時由于現(xiàn)階段大部分的高校都具有較為豐富的計算機(jī)網(wǎng)絡(luò)資源,從而使得虛擬實驗的物質(zhì)基礎(chǔ)已經(jīng)具備。在虛擬實驗室當(dāng)中對一些實驗進(jìn)行模擬不僅對提高教學(xué)質(zhì)量具有非常重要的意義,同時在某些情況下由于實驗條件不具備,可以充分利用這種技術(shù)使得學(xué)生更高更加深刻的觀察到實驗的具體現(xiàn)象,此外通過虛擬實驗室,學(xué)生還可以實現(xiàn)異地實驗。從世界范圍內(nèi)來看,虛擬實驗室的數(shù)量正在不斷增多,在許多高校當(dāng)中都具有較為廣泛的運用。
2 云實驗平臺的總體設(shè)計
2.1 總體結(jié)構(gòu)
當(dāng)前階段云實驗平臺的框架主要由三個部分組成,即硬件系統(tǒng)、軟件系統(tǒng)與參考文獻(xiàn)。硬件系統(tǒng)是云實驗平臺的物質(zhì)基礎(chǔ),硬件系統(tǒng)是指云實驗平臺的計算機(jī)硬件以及綜合實驗板節(jié)點、服務(wù)器以及交換機(jī)等硬件設(shè)施,硬件系統(tǒng)當(dāng)中的所有設(shè)備都需要通過網(wǎng)絡(luò)連接到一起。在實驗的過程當(dāng)中所需要用到的軟件以及數(shù)據(jù)庫與運行于數(shù)據(jù)庫當(dāng)中的WEB服務(wù)被稱為軟件系統(tǒng),軟件系統(tǒng)是用戶進(jìn)行操作的主要區(qū)域,是機(jī)器語言轉(zhuǎn)化到自然語言的重要工具,在云實驗平臺的軟件系統(tǒng)當(dāng)中,實驗板是由WEB服務(wù)器負(fù)責(zé)管理的,此外WEB服務(wù)器還會對客戶端的請求進(jìn)行回應(yīng),從而使得實驗功能能夠順利地完成,此外還會將相關(guān)的實驗數(shù)據(jù)傳輸?shù)椒⻊?wù)器當(dāng)中去。通過軟件系統(tǒng),用戶只需要通過手機(jī)或者平板電腦就可以進(jìn)行相關(guān)的實驗。在云實驗平臺當(dāng)中,參考文獻(xiàn)的格式已經(jīng)不再局限于傳統(tǒng)的文本文獻(xiàn),其不僅可以是文本格式,還可以是視頻或者音頻格式。
2.2 服務(wù)端的軟件設(shè)計
在云實驗平臺當(dāng)中,服務(wù)端的軟件具有重要的意義,是對整個系統(tǒng)進(jìn)行調(diào)度的樞紐。用戶通過服務(wù)端軟件可以實現(xiàn)對實驗的控制。在整個云實驗平臺當(dāng)中,服務(wù)端軟件是實驗功能軟件的基礎(chǔ),通過服務(wù)端軟件,上層的實驗功能軟件可以獲取對應(yīng)的硬件接口。服務(wù)端軟件按照功能可以被劃分為三個模塊,即網(wǎng)絡(luò)通信模塊、實驗資源管理模塊與遠(yuǎn)程硬件控制模塊。網(wǎng)絡(luò)通信模塊是整個模塊與實驗板之間進(jìn)行通信的通道,其原理是基于SCOKET通信機(jī)制,其可以完成數(shù)據(jù)的接收與發(fā)送功能,同時也可以和實驗板之間進(jìn)行有效連接。實驗資源管理模塊可以對實驗板當(dāng)中的所有資源進(jìn)行管理,在虛擬實驗的過程當(dāng)中,實驗資源管理系統(tǒng)可以實現(xiàn)對實驗板連接請求的全過程監(jiān)控,在完成連接之后,則會對實驗板進(jìn)行初始化。然后加入熱備的資源池中,同時借助心跳機(jī)制,能夠及時發(fā)現(xiàn)實驗板發(fā)生的死機(jī)現(xiàn)象并通知管理員處理。遠(yuǎn)程硬件控制模塊可以將用戶的控制命令按照相關(guān)的協(xié)議進(jìn)行包裝,同時通過網(wǎng)絡(luò)向硬件實驗板進(jìn)行發(fā)送。
3 云實驗平臺任務(wù)節(jié)點的設(shè)計
在云實驗平臺當(dāng)中,任務(wù)節(jié)點端軟件需要根據(jù)實驗板的芯片ARM芯片的STM32進(jìn)行設(shè)計,任務(wù)節(jié)點端軟件實現(xiàn)對實驗板的控制需要依賴硬件本身自定義的相關(guān)接口才能實現(xiàn),這些接口主要包括:存儲芯片、FPGA、網(wǎng)卡控制芯片、CPLD。任務(wù)階段軟件向上可以通過網(wǎng)絡(luò)與服務(wù)段的軟件進(jìn)行連接,同時接受其所發(fā)出的控制命令,從而實現(xiàn)對電路板的操控,同時還會將相關(guān)的實驗結(jié)果進(jìn)行反饋。任務(wù)節(jié)點端軟件所具有的軟件功能主要包括以下內(nèi)容:將從服務(wù)器所接受的文件進(jìn)行FPGA配置,同時將用戶代碼輸入到電路板的程序的存儲器,同時根據(jù)服務(wù)端軟件的命令對實驗板進(jìn)行控制;完成心跳機(jī)制與硬件自檢;分配實驗板IP地址
4 云實驗平臺關(guān)鍵技術(shù)分析
4.1 實驗板資源高效管理機(jī)制
在云實驗平臺當(dāng)中,用戶一旦通過軟件申請了實驗板,那么就會對FPGA進(jìn)行相關(guān)的配置,從而使得相關(guān)的實驗功能得以實現(xiàn),在這個過程當(dāng)中原有的文件會被最新下載的文件所覆蓋。在這個過程當(dāng)中,必然會涉及的一個問題就是替換問題,由于大部分的FPGA文件都是比較大的,這就使得配置的過程往往需要耗費較多的時間,而如果實驗板一直在運行當(dāng)中,那么上次實驗所配置的FPGA依然還會被保留,而如果用戶所需要進(jìn)行的實驗與上一次是一致的,那么FPGA就沒有必要進(jìn)行重新配置。為了有效解決這種問題,我們將Cache調(diào)度的替換算法類比到分配過程當(dāng)中去,在系統(tǒng)當(dāng)中采用LRU算法。具體的實施方法如下所示:首先記錄實驗板當(dāng)中的FPGA配置信息當(dāng)中的實驗,同時對不同實驗板在最近的實驗次數(shù)進(jìn)行統(tǒng)計,當(dāng)用戶申請實驗板時,如果其所需要進(jìn)行的實驗與最近在某實驗板上所進(jìn)行的實驗的'內(nèi)容一致或者是相類似的話,且該實驗板并不處于使用狀態(tài),那么這些實驗板當(dāng)中最最不經(jīng)常使用的一塊就會被分配給用戶。而如果用戶所需要進(jìn)行的實驗在最近都沒有人進(jìn)行過,那么系統(tǒng)將會把所有實驗板當(dāng)中最不經(jīng)常使用的一塊實驗板分配給用戶。通過這種方式進(jìn)行實驗板的分配對提升分配效率具有非常重要的意義。
此外,為了防止出現(xiàn)掛機(jī)的現(xiàn)象,系統(tǒng)還會進(jìn)行實驗板的回收,即如果用戶申請了實驗板,但是該實驗板在被分配之后很長一段時間之內(nèi)都沒有進(jìn)行實驗或者沒有數(shù)據(jù)流通,那么系統(tǒng)將會判定該實驗板是出于空閑狀態(tài)的,服務(wù)端軟件就會自動斷開實驗板與用戶之間的連接,同時將實驗板進(jìn)行回收并分配給其他用戶。這種方式能夠有效減少掛機(jī)現(xiàn)象的產(chǎn)生,從而使得資源浪費的現(xiàn)象大幅度減少。
4.2 實驗快照保存與恢復(fù)機(jī)制
用戶在使用云實驗平臺的過程當(dāng)中,往往會因為多種因素的影響,必須要在中途終止實驗,而如果系統(tǒng)不具有備份功能,則用戶在下次重新實驗時就必須要從頭開始,而無法恢復(fù)到上次的備份點,因此,為了用戶實驗的方便以及提高資源的利用效率,在該系統(tǒng)當(dāng)中設(shè)計了相應(yīng)的實驗快照保存和恢復(fù)機(jī)制。該機(jī)制的實現(xiàn)需要依賴JTAG邊界掃面技術(shù),核心思想就是通過對FPGA芯片的掃描從而獲取其運行狀態(tài)的相關(guān)數(shù)據(jù),同時將這些數(shù)據(jù)存儲到數(shù)據(jù)庫當(dāng)中去,在進(jìn)行實驗的恢復(fù)時,在將所有的數(shù)據(jù)從數(shù)據(jù)庫當(dāng)中調(diào)出,并通過時鐘將其置入FPGA芯片當(dāng)中去。
實驗快照保存與恢復(fù)機(jī)制的主要三個部分的內(nèi)容組成,即網(wǎng)絡(luò)通信模塊、邊界掃描控制器與遠(yuǎn)程被測試目標(biāo)。遠(yuǎn)程服務(wù)器在被啟動之后,連接的請求被傳送到服務(wù)器,服務(wù)器會對其作出回應(yīng),而本地客戶端則會對遠(yuǎn)程服務(wù)器發(fā)送JTAG命令,遠(yuǎn)程服務(wù)器會讀取該命令并同時向邊界掃描器發(fā)送,同時邊界掃描器會FPGA進(jìn)行掃描并獲取相關(guān)的信息,并將相關(guān)的信息存儲到數(shù)據(jù)庫當(dāng)中去,黨用戶需要對這些信息進(jìn)行恢復(fù)時,可以從數(shù)據(jù)庫將這些數(shù)據(jù)調(diào)出,并置于FPGA芯片當(dāng)中去。
5 系統(tǒng)功能測試
在進(jìn)行系統(tǒng)測試時,首先需要進(jìn)行文件傳輸?shù)臏y試,其主要內(nèi)容包括用戶代碼與配置文件的下載,同時將原始文件與系統(tǒng)所接受到的文件進(jìn)行對比分析,對比的結(jié)果發(fā)現(xiàn),文件在系統(tǒng)當(dāng)中的傳輸是一種無損傳輸,代碼文件的測試結(jié)果也同樣表明文件文件在系統(tǒng)當(dāng)中的傳輸是一種無損傳輸。其次還需要對用戶程序的執(zhí)行進(jìn)行測試,對其執(zhí)行的結(jié)果與由Mars(MIPS assembler and runtime simulator)編譯軟件模擬執(zhí)行同樣的程序所得到的結(jié)果進(jìn)行對比與分析,判斷二者之間的結(jié)果是否完全一致,對比的結(jié)果說明用戶程序的寄存器與存儲器都是一致的。
6 結(jié)束語
在本文當(dāng)中筆者所提出的云實驗平臺,不僅能夠通過網(wǎng)絡(luò)環(huán)境使得實驗資源得以共享,同時還可以為學(xué)生進(jìn)行畢業(yè)設(shè)計于課程設(shè)計等提供必要的實驗基礎(chǔ),此外,對于解決現(xiàn)階段高校實驗室的建設(shè)也有著重要的意義,可以解決高校在實驗室建設(shè)過程當(dāng)中的重復(fù)建設(shè)以及資源利用率偏低等問題。在本文當(dāng)中,筆者通過查閱大量的文獻(xiàn),并結(jié)合實際調(diào)查,設(shè)計出了該云實驗平臺,希望能對我國現(xiàn)階段高校的實驗教學(xué)有所幫助。
【淺談云計算平臺的計算機(jī)硬件遠(yuǎn)程實驗室實現(xiàn)論文】相關(guān)文章:
C#實現(xiàn)遠(yuǎn)程重啟計算機(jī)的方法04-03
探討計算機(jī)基礎(chǔ)課程遠(yuǎn)程教學(xué)系統(tǒng)的設(shè)計及實現(xiàn)05-05
云計算閱讀答案12-19
淺談計算機(jī)應(yīng)用基礎(chǔ)課程的教學(xué)論文11-14
淺談寫作的教學(xué)論文08-20
淺談教育論文的寫作12-15