張京妹, 李英俊, 蘇廣文, 歐陽(yáng)盼
(1.西北工業(yè)大學(xué) 自動(dòng)化學(xué)院, 陜西 西安 710129; 2.中國(guó)電信股份有限公司 西安分公司, 陜西 西安 710004)
?
嵌入式云計(jì)算系統(tǒng)的資源實(shí)時(shí)共享方法研究
張京妹1, 李英俊1, 蘇廣文2, 歐陽(yáng)盼1
(1.西北工業(yè)大學(xué) 自動(dòng)化學(xué)院, 陜西 西安710129; 2.中國(guó)電信股份有限公司 西安分公司, 陜西 西安710004)
摘要:針對(duì)傳統(tǒng)遠(yuǎn)程監(jiān)控系統(tǒng)的現(xiàn)場(chǎng)嵌入式設(shè)備資源不能實(shí)時(shí)共享以及資源的利用率低的問(wèn)題,提出應(yīng)用云計(jì)算技術(shù),基于亞馬遜公司的桉樹(shù)(Eucalyptus)云平臺(tái),在嵌入式云計(jì)算系統(tǒng)中研究了一種資源實(shí)時(shí)共享的方法。采用S3C2440A微處理器構(gòu)建前端節(jié)點(diǎn)的硬件平臺(tái),軟件移植Xenomai實(shí)時(shí)核,在嵌入式Linux+Xenomai操作系統(tǒng)的支撐下,運(yùn)用KVM/QEMU構(gòu)建虛擬化測(cè)試設(shè)備,實(shí)現(xiàn)了設(shè)備資源實(shí)時(shí)共享。在油井深度測(cè)量現(xiàn)場(chǎng)完成了測(cè)試,結(jié)果表明該方法能夠提高資源利用率,滿足遠(yuǎn)程測(cè)試的實(shí)時(shí)性能要求。
關(guān)鍵詞:嵌入式云;資源實(shí)時(shí)共享;ARM-Linux;Xenomai;KVM/QEMU
在工業(yè)測(cè)控系統(tǒng)中,嵌入式設(shè)備有限的內(nèi)存和CPU資源限制了其在某些領(lǐng)域的應(yīng)用。研究不同設(shè)備之間的資源共享的十分必要[1]。Google在(SES San Jose 2006)首次提出“云計(jì)算”的概念,提供了解決異域異構(gòu)信息資源共享、信息綜合利用的方案。以虛擬化為核心技術(shù)構(gòu)建云計(jì)算平臺(tái),實(shí)現(xiàn)嵌入式設(shè)備資源的共享及并行訪問(wèn),提高資源的使用率,實(shí)現(xiàn)彈性計(jì)算,是高性能計(jì)算的一種有效途徑[2]。2012年風(fēng)河公司首次提出了嵌入式云計(jì)算,以有效改善嵌入式設(shè)備CPU資源和內(nèi)存的不足[3]。云計(jì)算可以解決工業(yè)現(xiàn)場(chǎng)中海量密集數(shù)據(jù)的統(tǒng)一存儲(chǔ)與管理以及實(shí)現(xiàn)軟硬件資源與信息資源的共享利用。但是在工業(yè)自動(dòng)化、過(guò)程控制、航空航天等應(yīng)用中,為應(yīng)對(duì)外界事件響應(yīng)速度和精確事件的處理能力,還需保證系統(tǒng)的實(shí)時(shí)性[4],所以資源實(shí)時(shí)共享是目前嵌入式云計(jì)算系統(tǒng)應(yīng)用研究的核心技術(shù)之一。
本文基于開(kāi)源的Eucalyptus云平臺(tái),設(shè)計(jì)以S3C2440A為中央處理器的嵌入式云終端的硬件平臺(tái),在終端硬件平臺(tái)上構(gòu)建Linux+Xenomai系統(tǒng),把現(xiàn)場(chǎng)數(shù)據(jù)采集任務(wù)作為系統(tǒng)的實(shí)時(shí)任務(wù)調(diào)度,利用KVM/QEMU虛擬化技術(shù)把現(xiàn)場(chǎng)嵌入式設(shè)備構(gòu)建成嵌入式云計(jì)算系統(tǒng)中的NC節(jié)點(diǎn),納入嵌入式云計(jì)算系統(tǒng)中管理,在云計(jì)算系統(tǒng)的實(shí)時(shí)調(diào)度下,實(shí)現(xiàn)嵌入式設(shè)備資源實(shí)時(shí)共享,提高資源的利用率。通過(guò)在油田現(xiàn)場(chǎng)進(jìn)行測(cè)試,驗(yàn)證該方法的實(shí)用性。
1系統(tǒng)體系結(jié)構(gòu)
本文研究的基于嵌入式云計(jì)算系統(tǒng)的資源實(shí)時(shí)共享方法,其中的嵌入式云計(jì)算系統(tǒng)由現(xiàn)場(chǎng)資源節(jié)點(diǎn)和云管理中心兩部分組成,前端的測(cè)控節(jié)點(diǎn)實(shí)現(xiàn)嵌入式系統(tǒng)的CPU、網(wǎng)卡、存儲(chǔ)、傳感器等資源的虛擬化。系統(tǒng)的總體結(jié)構(gòu)如圖1所示。
圖1 嵌入式云計(jì)算系統(tǒng)總體架構(gòu)圖
基于亞馬遜公司的Eucalyptus云平臺(tái)完成嵌入式云計(jì)算系統(tǒng)數(shù)據(jù)管理中心的資源調(diào)度功能。Eucalyptus能夠監(jiān)控各種虛擬機(jī)實(shí)例、虛擬設(shè)備的全局性,能夠動(dòng)態(tài)地配置各個(gè)集群的計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)資源和傳感器等資源,同時(shí)提供與AWS(amazon web services)的EC2(elastic compute cloud)兼容的云計(jì)算平臺(tái)和與S3(simple storage service)兼容的云存儲(chǔ)平臺(tái)。Eucalyptus架構(gòu)包含5個(gè)組件:CLC(cloud controller)組件,Walrus(put/get存儲(chǔ))組件,CLC和Walrus構(gòu)成云管理層;CC組件(cluster controller),SC組件(storage controller),CC和SC對(duì)各自集群資源進(jìn)行管理。受實(shí)驗(yàn)環(huán)境限制,這里將上述管理組件安裝在1臺(tái)PC機(jī)上。用NC組件(node controller)把節(jié)點(diǎn)資源虛擬化后構(gòu)成資源池[4]。云計(jì)算平臺(tái)整體架構(gòu)如圖2所示,當(dāng)有遠(yuǎn)端的請(qǐng)求命令訪問(wèn)嵌入式云計(jì)算系統(tǒng)的云管理層程客戶時(shí),云計(jì)算系統(tǒng)實(shí)現(xiàn)高效配置資源和遠(yuǎn)程實(shí)時(shí)控制,為用戶提供服務(wù)。
圖2 Eucalyptus云平臺(tái)架構(gòu)圖
現(xiàn)場(chǎng)測(cè)控時(shí),前端NC節(jié)點(diǎn)選取三星公司的S3C2440A作為核心芯片(采用ARM920T內(nèi)核),為克服Linux系統(tǒng)的分時(shí)特性,在軟件上移植實(shí)時(shí)核Xenomai,通過(guò)現(xiàn)場(chǎng)構(gòu)建起的Mesh Generation網(wǎng)絡(luò),實(shí)現(xiàn)現(xiàn)場(chǎng)分布式實(shí)時(shí)采集和遠(yuǎn)程實(shí)時(shí)控制,以及計(jì)算資源、傳感器等虛擬化,達(dá)到資源客戶端高效的現(xiàn)場(chǎng)資源共享。
2硬件結(jié)構(gòu)
選用飛凌公司的FL2440核心板,該板使用S3C2440A作核心芯片,底板為實(shí)驗(yàn)室自主設(shè)計(jì)的底板?,F(xiàn)場(chǎng)嵌入式終端測(cè)控節(jié)點(diǎn)的外圍硬件電路按主要功能劃分為:信號(hào)調(diào)理模塊、數(shù)據(jù)采集模塊及通信網(wǎng)絡(luò)模塊等。硬件結(jié)構(gòu)如圖3所示[5]。
圖3 ARM9資源節(jié)點(diǎn)硬件結(jié)構(gòu)
①數(shù)據(jù)采集部分:采集次聲波選用ADS8341做模數(shù)轉(zhuǎn)換;
②網(wǎng)絡(luò)部分包含WIFI網(wǎng)絡(luò)模塊及以太網(wǎng)2種網(wǎng)絡(luò)模塊。WIFI網(wǎng)絡(luò)模塊使用基于SPI的marvell 88w8686 WIFI網(wǎng)絡(luò)傳輸模塊,是構(gòu)建Mesh網(wǎng)絡(luò)的硬件基礎(chǔ);以太網(wǎng)模塊使用10/100M自適應(yīng)的DM9000A構(gòu)建網(wǎng)絡(luò)傳輸模塊,連接系統(tǒng)的云管理層;
③其他接口電路包括時(shí)系統(tǒng)復(fù)位電路、時(shí)鐘電路、電源轉(zhuǎn)換電路、NandFlash/NorFlash選擇電路、串口電路、JTAG接口電路。
3軟件設(shè)計(jì)
3.1Xenomai
Xenomai原理 基于Adeos(adaptive domain environment for operating system)納內(nèi)核之上實(shí)現(xiàn),Adeos在操作系統(tǒng)上集成一個(gè)靈活自適應(yīng)的可擴(kuò)展運(yùn)行環(huán)境,為多個(gè)操作系統(tǒng)的共存和各系統(tǒng)共享硬件資源提供條件。Adeos納內(nèi)核的原理是在獨(dú)立的域內(nèi)運(yùn)行各自操作系統(tǒng),并且各個(gè)域也有獨(dú)立的軟件抽象層(如進(jìn)程抽象、虛擬內(nèi)存等),其中的資源也可以被各個(gè)域共享利用[6]。Adeos納內(nèi)核是在現(xiàn)有操作系統(tǒng)下插入一個(gè)軟件層,為上層的多個(gè)操作系統(tǒng)提供機(jī)制實(shí)現(xiàn)硬件共享機(jī)理和某些原語(yǔ)。應(yīng)用時(shí)提供的“硬件-內(nèi)核”的納內(nèi)核能滿足系統(tǒng)的硬件實(shí)時(shí)要求[7]。Xenomai采用雙內(nèi)核機(jī)制,是Linux內(nèi)核的強(qiáng)實(shí)時(shí)擴(kuò)展,是集成于Linux中的實(shí)時(shí)開(kāi)發(fā)框架,能夠提供給用戶空間應(yīng)用程序與接口無(wú)關(guān)的硬實(shí)時(shí)性能[8-9]。圖4描述了Xenomai的分層架構(gòu)。
圖4 Xenomai系統(tǒng)的分層架構(gòu)
由圖4看出,Xenomai中含有多個(gè)抽象層:直接工作于硬件之上的Adeos納內(nèi)核,位于Adeos之上的是與處理器的體系結(jié)構(gòu)相關(guān)的硬件抽象層(hardware abstraction lay,HAL),在HAL之上的是Xenomai的核心部分,即抽象實(shí)時(shí)操作系統(tǒng)內(nèi)核,其實(shí)現(xiàn)了一系列實(shí)用RTOS的基本服務(wù),包括由Xenomai的本地API(native)和由其他傳統(tǒng)RTOS的客戶API(如RTAI、VxWorks、POSIX等)??蛻鬉PI旨在使運(yùn)行于傳統(tǒng)RTOS的應(yīng)用程序易于移植于Xenomai上。Linux+Xenomai系統(tǒng)擁有2種運(yùn)行模式,即內(nèi)核模式和用戶模式,前者通過(guò)實(shí)時(shí)內(nèi)核實(shí)現(xiàn),為系統(tǒng)提供硬實(shí)時(shí)性,后者通過(guò)系統(tǒng)調(diào)用接口實(shí)現(xiàn),保證了系統(tǒng)的可靠性和良好的軟實(shí)時(shí)性[10]。
構(gòu)建Linux+Xenomai操作系統(tǒng)交叉編譯Linux+Xenomai內(nèi)核和BusyBox,選用corss-4.3.3.tar.bz2交叉工具鏈,編譯過(guò)程如下:
# mkdir /usr/local/arm/;把corss-4.3.3.tar.bz2放在該目錄下解壓:# tar-jxvf corss-4.3.3.tar.bz2;在進(jìn)行交叉編譯之前,修改配置交叉編譯路徑:# export PATH=/usr/local/arm/4.3.3/bin:$PATH。
選用Linux-2.6.33+Xenomai 2.6.2.1構(gòu)建操作系統(tǒng)。構(gòu)建內(nèi)核步驟如下:
[root@EmbedSky xenomai-2.6.2.1] # ./scripts/prepare-kernel.sh-linux=/usr/src/linux-2.6.33
Target architecture[default i686]:arm
I-ipe patch[default/usr/src/xenomai-2.6.2.1/ksrc/arm/patch
/adeos-ipipe-2.6.33-arm-1.16-01.patch]:
編譯前對(duì)Makefile文件進(jìn)行修改,選擇內(nèi)核移植的目標(biāo)單板體系架構(gòu)為arm,修改CROSS-COMPILE=arm-linux-,由于有些內(nèi)核選項(xiàng)會(huì)影響系統(tǒng)對(duì)實(shí)時(shí)性的支持,因此,編譯內(nèi)核過(guò)程中必須修改以下配置:關(guān)閉power management support;關(guān)閉CPU frequency scaling;開(kāi)啟搶占式內(nèi)核選項(xiàng)。由于S3C2440A沒(méi)有FPU單元,因此關(guān)閉選項(xiàng)CONFIG XENO HW FPU。對(duì)于Xenomai接口的設(shè)置,根據(jù)需要選擇Xenomai中本地API編譯成內(nèi)核模塊或編譯進(jìn)內(nèi)核。選擇編譯成內(nèi)核模塊,修改內(nèi)核其他源碼,定制自己的內(nèi)核,最后編譯。
Xenomai交叉編譯添加交叉編譯工具鏈的路徑到PATH中后執(zhí)行下面命令:
[root@EmbedSky xenomai-2.6.2.1] #./configure CFLAGS="-march=armv4t" LDFLAGS="-march=armv4t"-build=i686-pc-linux-gnu-host=arm-none-linux-gnueabi-disable-arm-tsc[root@EmbedSky xenomai-2.6.2.1]#make DESTDIR=/usr/xenomai/-install install;其中/usr/xenomai/-install是Xenomai的安裝目錄。
根文件系統(tǒng)的構(gòu)建文件系統(tǒng)的啟動(dòng)是在內(nèi)核啟動(dòng)之后進(jìn)行的,文件系統(tǒng)是嵌入式Linux系統(tǒng)一切數(shù)據(jù)的基礎(chǔ)。構(gòu)建根文件系統(tǒng)的過(guò)程,包括Linux常用命令和工具的編譯(如BusyBox工具)及根文件系統(tǒng)的制作。在制作文件系統(tǒng)時(shí)把_install/usr/xenomai/拷到制作的文件系統(tǒng)的/usr/中之后進(jìn)行編譯[11-12]。
3.2虛擬化技術(shù)
KVM/QEMU虛擬化技術(shù)KVM(kernel based virtual machine)是開(kāi)源虛擬機(jī)軟件,使用Linux自身的調(diào)度器進(jìn)行管理,結(jié)合QEMU采用基于硬件的全虛擬化解決方案來(lái)完成設(shè)備的虛擬化。KVM虛擬化的架構(gòu)如圖5所示[13-14]。
圖5 KVM系統(tǒng)架構(gòu)
本文使用KVM技術(shù),通過(guò)擴(kuò)展處理器來(lái)實(shí)現(xiàn)虛擬化,達(dá)到Linux和Windows鏡像的多個(gè)虛擬機(jī)同時(shí)運(yùn)行于同一硬件平臺(tái)上的目的。KVM使系統(tǒng)內(nèi)核本身成為一個(gè)虛擬機(jī)管理程序(hypervisor)。通過(guò)/dev/kvm字符設(shè)備的加載來(lái)創(chuàng)建新虛擬設(shè)備,實(shí)現(xiàn)與用戶空間設(shè)備通信,完成對(duì)虛擬機(jī)的管理。通過(guò)QEMU進(jìn)程為KVM虛擬機(jī)創(chuàng)建客戶操作系統(tǒng)。當(dāng)宿主機(jī)系統(tǒng)為L(zhǎng)inux系統(tǒng)時(shí),其中的虛擬機(jī)就是QEMU進(jìn)程,相當(dāng)于Linux中的標(biāo)準(zhǔn)進(jìn)程,虛擬機(jī)的虛擬處理器相當(dāng)于進(jìn)程中的線程[13-14]。QEMU與KVM相互配合完成系統(tǒng)的虛擬化。首先,在QEMU中執(zhí)行ioctl函數(shù)運(yùn)行/dev/kvm設(shè)備,即創(chuàng)建一個(gè)KVM虛擬機(jī),給虛擬機(jī)分配內(nèi)存。然后把QEMU中引導(dǎo)鏡像映射到內(nèi)存,并運(yùn)行一個(gè)循環(huán),在循環(huán)中調(diào)用一個(gè)ioctl函數(shù)來(lái)開(kāi)啟虛擬機(jī)操作系統(tǒng)。當(dāng)進(jìn)程在客戶操作系統(tǒng)中執(zhí)行后,ioctl函數(shù)調(diào)用返回。QEMU保證了虛擬機(jī)操作系統(tǒng)退出的原因和動(dòng)作之間的一致。在KVM申請(qǐng)QEMU中的I/O設(shè)備時(shí),QEMU會(huì)對(duì)I/O設(shè)備虛擬化,執(zhí)行ioctl來(lái)運(yùn)行KVM[15]。
ARM架構(gòu)平臺(tái)虛擬化作為典型的虛擬機(jī)管理程序,ARM體系架構(gòu)虛擬化工作包括3部分:CPU虛擬化、存儲(chǔ)虛擬化和I/O虛擬化[16]。對(duì)CPU虛擬化時(shí)采用傳統(tǒng)“陷阱-仿真”機(jī)制解決敏感指令的陷入,因?yàn)锳RM硬件本身并不支持虛擬化;對(duì)內(nèi)存的虛擬化,使用的功能單元是MMU,使用影子頁(yè)表來(lái)動(dòng)態(tài)為VMM分配地址,避免了為客戶端系統(tǒng)靜態(tài)分配地址的低效與僵化;對(duì)I/O的虛擬化,利用QEMU來(lái)虛擬I/O接口。
編譯QEMUQEMU是一個(gè)通用開(kāi)源機(jī)器的仿真器和虛擬器。把QEMU仿真器作為用戶空間進(jìn)程運(yùn)行于KVM的上下文環(huán)境中,通過(guò)與操作系統(tǒng)的相互配合,發(fā)送消息給內(nèi)核模塊并對(duì)I/O及其他設(shè)備執(zhí)行仿真,完成系統(tǒng)級(jí)和用戶級(jí)的仿真。在配置好QEMU的運(yùn)行參數(shù)后,QEMU支持KVM。KVM 提供一個(gè)運(yùn)行在“KVM用戶空間”的代碼包。
編譯QEMU的基本步驟如下:
1)將/home/QEMU/git/qemu中的kvm.h文件的第 21行修改為:#include
2)將/usr/include/linux/kvm.h文件中的第13行#include
#include
3)在qemu目錄中編譯 qemu # make
KVM需要先虛擬CPU和模擬內(nèi)存管理單元(MMU),之后通過(guò)KVM把集成了Xenomai實(shí)時(shí)核的數(shù)據(jù)采集設(shè)備虛擬化,共享虛擬采集設(shè)備。同樣也可以使用QEMU虛擬化網(wǎng)卡、USB等。
創(chuàng)建并運(yùn)行虛擬機(jī)在云計(jì)算系統(tǒng)中,首先要進(jìn)行網(wǎng)絡(luò)配置、euca的網(wǎng)絡(luò)設(shè)置和NC節(jié)點(diǎn)的配置與注冊(cè)。具體步驟如下:
1) 交換公共SSH密鑰
在cloud controller上設(shè)置eucalyptus的密碼:
sudo passwd eucalyptus
sudo-u eucalyptus ssh-copy-id-I /var/lib /eucalyptus/.ssh
/id-rsa.pubeucalyptus@ip of nc
2) 前端節(jié)點(diǎn)注冊(cè)
sudo /usr/sbin/euca-conf-register-nodes ip of nc /etc/eucalyptus
/eucalyptus.conf
在eucalyptus中對(duì)簡(jiǎn)單虛擬機(jī)基本管理功能的實(shí)現(xiàn)就是將基本的虛擬化管理功能構(gòu)建成API,本文使用下載安裝的euca2ools工具完成鏡像的制作、實(shí)例上傳運(yùn)行、查看實(shí)例運(yùn)行情況等功能,通過(guò)統(tǒng)一的Web界面禁止鏡像訪問(wèn)和修改鏡像資料。其中Amazon的EC2用于托管虛擬機(jī)的通用基礎(chǔ)設(shè)施服務(wù);用戶通過(guò)網(wǎng)頁(yè)訪問(wèn)平臺(tái),在這些虛擬機(jī)上運(yùn)行程序。
資源實(shí)時(shí)共享通過(guò)構(gòu)建的Linux+Xenomai系統(tǒng),利用Xenomai中的API,使用Xenomai的本地API,把實(shí)時(shí)性要求高的任務(wù)做為Xenomai中的任務(wù)進(jìn)行管理調(diào)度。通過(guò)KVM/QEMU虛擬化技術(shù)對(duì)實(shí)時(shí)任務(wù)進(jìn)行封裝,把封裝后的虛擬機(jī)任務(wù)做為嵌入式云計(jì)算系統(tǒng)中的實(shí)時(shí)任務(wù)進(jìn)行管理調(diào)度,實(shí)現(xiàn)采集設(shè)備等實(shí)時(shí)性要求高的測(cè)試資源實(shí)時(shí)共享。
4系統(tǒng)測(cè)試
將文中研究的基于嵌入式云計(jì)算系統(tǒng)的資源實(shí)時(shí)共享的方法應(yīng)用到油井深度測(cè)量系統(tǒng)項(xiàng)目中。測(cè)試現(xiàn)場(chǎng)數(shù)據(jù)的采集是通過(guò)在油田現(xiàn)場(chǎng)構(gòu)建的Mesh網(wǎng)絡(luò)實(shí)現(xiàn)資源節(jié)點(diǎn)之間的網(wǎng)絡(luò)連接。在系統(tǒng)功能上,采集到的數(shù)據(jù)通過(guò)剔除野點(diǎn)值、接箍波提取、液面回波提取、FFT變換等一系列處理后,得到油井液面深度,供用戶實(shí)時(shí)查詢;同時(shí)現(xiàn)場(chǎng)數(shù)據(jù)在嵌入式數(shù)據(jù)庫(kù)中管理和實(shí)時(shí)同步至遠(yuǎn)程的數(shù)據(jù)管理中心進(jìn)行管理。在油井深度測(cè)量系統(tǒng)中,在以S3C2440A為中央處理器的硬件平臺(tái)上,移植實(shí)時(shí)核Xenomai,構(gòu)建Linux+Xenomai系統(tǒng),把數(shù)據(jù)采集做為系統(tǒng)中的實(shí)時(shí)任務(wù),通過(guò)虛擬化封裝后納入嵌入式云計(jì)算系統(tǒng)中進(jìn)行實(shí)時(shí)管理,實(shí)現(xiàn)了采集設(shè)備資源的實(shí)時(shí)共享。系統(tǒng)通過(guò)對(duì)華北油田項(xiàng)目的20多口井進(jìn)行測(cè)試,運(yùn)行正常,資源能夠達(dá)到實(shí)時(shí)共享?,F(xiàn)場(chǎng)使用手機(jī)控制測(cè)量的操作界面如圖6所示。
圖6 系統(tǒng)操作界面
5結(jié)論
本文基于嵌入式云計(jì)算系統(tǒng)提出并實(shí)現(xiàn)了一種嵌入式云資源實(shí)時(shí)共享的方法?;陂_(kāi)源的eucalyptus云平臺(tái),首先設(shè)計(jì)出了基于S3C2440A的采集前端硬件,然后在系統(tǒng)軟件上移植了Xenomai,提高了系統(tǒng)的實(shí)時(shí)性,利用虛擬化技術(shù)把數(shù)據(jù)采集設(shè)備做為實(shí)時(shí)任務(wù)納入了嵌入式云計(jì)算系統(tǒng)中管理,把采集設(shè)備封裝成嵌入式云計(jì)算系統(tǒng)中的實(shí)時(shí)任務(wù)來(lái)管理和調(diào)度,實(shí)現(xiàn)了資源的實(shí)時(shí)共享。通過(guò)系統(tǒng)測(cè)試驗(yàn)證結(jié)果表明,嵌入式云計(jì)算系統(tǒng)完成了現(xiàn)場(chǎng)測(cè)試資源的實(shí)時(shí)共享。現(xiàn)場(chǎng)試驗(yàn)結(jié)果表明,所使用的基于嵌入式云計(jì)算系統(tǒng)的實(shí)時(shí)資源共享方法能夠滿足工程應(yīng)用需求?;诰W(wǎng)卡等更多嵌入式硬件設(shè)備資源的實(shí)時(shí)共享和基于嵌入式云計(jì)算平臺(tái)資源的實(shí)時(shí)調(diào)度是將是下一步研究的重點(diǎn)內(nèi)容。
參考文獻(xiàn):
[1]Shahzad A A, Musa S, Aborujilah A, et al. A Performance Approach: SCADA System Implementation within Cloud Computing Environment[C]∥2013 International Conference on Advanced Computer Science Applications and Technologies, 2013: 274-277
[2]Guan N, Ekberg P, Stigge M, et al. Resource Sharing Protocols for Real-Time Task Graph Systems[C]∥2011 23rd Euromicro Conference on Real-Time Systems, 2011: 272-281
[3]Behnam M, Nemati F, Nolte T, et al. Towards an Efficient Approach for Resource Sharing in Real-Time Multiprocessor Systems[C]∥2011 6th IEEE International Symposium on Industrial Embedded Systems, 2011: 99-102
[4]Hazarika P, Baliga V, Tolety S. The Mobile-Cloud Computing (MCC) Roadblocks[C]∥2014 Eleventh International Conference on Wireless and Optical Communications Networks, 2014: 1-5
[5]Lim H C, Babu S, Chase J S, et al. Automated Control in Cloud Computing: Challenges and Opportunities[J]. First Workshop on Automated Control for Datacenters and Clouds, 2009, 30(1): 621-628
[6]Lin F C, Wang C J, Chung L K, et al. The Framework of Novel K-Means Embedded Cloud Computing Platform for Real-Time Unmanned Aerial Vehicle (UAV) Remote Sensing Images Processing[C]∥The International Symposium on Grids and Clouds, 2013: 13-18
[7]Suakanto S, Supangkat S H, Saragih R. Performance Measurement of Cloud Computing Services[C]∥Computer Science, 2012: 1205
[8]韓守謙, 裴海龍,王清陽(yáng). 基于Xenomai的實(shí)時(shí)嵌入式Linux操作系統(tǒng)的構(gòu)建[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2011, 32(1):96-98
Han Shouqian, Pei Hailong, Wang Qingyang. Construction Real-Time Embedded Linux Operating System Based on Xenomai[J]. Computer Engineering and Design. 2011, 32(1): 96-98 (in Chinese)
[9]Nemati F. Resource Sharing in Real-Time Systems on Multiprocessors[D]. Malardalen University, Sweden, 2012
[10] Litayem N, Saoud S B. Impact of the Linux Real-Time Enhancements on the System Performances for Multi-Core Intel Architectures[J]. International Journal of Computer Applications, 2011(3):17-23
[11] Kudryavtsev A, Koshelev V, Avetisyan A. Modern hpc Cluster Virtualization Using kvm and Palacios[C]∥2012 19th International Conference on High Performance Computing, 2012: 1-9
[12] Schoeberl M, Korsholm S, Kalibera T, et al. A Hardware Abstraction Layer in Java[J]. Acm Transactions on Embedded Computing Systems, 2011, 10(4):1061-1075
[13] Dall C, Nieh J. KVM for ARM[C]∥Proceedings of the Ottawa Linux Symposium, 2010: 45-56
[14] 姚華超,王振宇. 基于KVM-QEMU與Libvirt的虛擬化資源池構(gòu)建[J]. 計(jì)算機(jī)與現(xiàn)代化,2013(7):26-29
Yao Huachao, Wang Zhenyu. Construction of Virtualized Resource Pool Based on KVM-QEMU with Libvirt[J]. Computer and Modernization, 2013(7):26-29 (in Chinese)
[15] Motakis A, Rigo A, Raho D. Platform Device Assignment to KVM-on-ARM Virtual Machines via VFIO[C]∥2014 12th IEEE International Conference on Embedded and Ubiquitous Computing, 2014: 170-177
[16] Divya K, Jeyalatha S. Key Technologies in Cloud Computing[C]∥2012 International Conference on Technologies, Applications and Management, 2012: 196-199
收稿日期:2015-09-22
作者簡(jiǎn)介:張京妹(1965—),女,西北工業(yè)大學(xué)副教授、博士,主要從事慣性技術(shù)及現(xiàn)代測(cè)控技術(shù)研究。
中圖分類(lèi)號(hào):TP29
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1000-2758(2016)03-0393-06
The Research on Resource Real-Time Sharing in the Embedded Cloud Computing System
Zhang Jingmei1, Li Yingjun1, Su Guangwen2, Ouyang Pan1
1. Department of Automatic Control,Northwestern Polytechnical University,Xi'an 710129,China2. Shannxi Branch of China Telecom Corporation Limited,Xi'an 710129, China
Abstract:Aiming at the problem that embedded device resources cannot be shared in real-time and low utilization of resources in traditional remote monitoring system. This paper proposes applying the cloud computing technology, based on Amazon's Eucalyptus cloud platform, a method for real-time sharing of resources in embedded cloud computing system is researched. S3C2440A microprocessor is used to build the hardware platform of the front-end node and the system transplant a real-time kernel Xenomai in software. Under the support of embedded Linux + Xenomai operating system, the system apply Kernel-based Virtual Machine(KVM) and QEMU to build the virtual testing equipment, achieving resources of equipments shared in real-time. It has been tested in the project of well depth measurement in the oil field, the result shows that the utilization of the resources has been improved and the system coupled with this method can meet the requirements of real-time remote testing.
Keywords:embedded cloud systems; resource real-time Sharing(allocation); mesh generation; ARM-Linux; Xenomai; KVM/QEMU