代碼介紹
BVT (Build Verification Test)
如無大的問題,就可以進行相應的功能測試。BVT優點是時間短,驗證了軟體的基本功能。缺點是該種測試的覆蓋率很低。因為運行時間短,不可能把所有的情況都測試到。BVT測試也被稱為“冒煙測試”。
調度算法
BVT(Borrowed Virtual Time )
一種Xen虛擬機調度算法。BVT算法由 KermethJ.Duda於1999年提出。
BVT調度算法的基本原理
BVT是一種公平性優先的調度算法。該算法將時間分為實際時間和虛擬時間:真實時間為硬體計時器記錄的時間;虛擬時間為對真實時間經過某種規則計算後得到的時間值。
該算法用虛擬時間來監控進程的執行時間,每次總是調度具有最早的有效虛擬時間的VCPU。這這種調度算法考慮到了運行實時和互動件的應用程式的一些Guest作業系統,允許這些作業系統“借”一些時間片,就是說:在一定範圍內將未來分配給它運行的時間片先“借”過來用一段時間。這種“借”過來的虛擬時間片只能是當前真實的時間片中的某個虛擬時間片,不能借下一個真實時間 片中的虛擬時問片。在系統初始化時,每個VCPU將分配一個權值來代表該VCPU能獲得的處理器份額。VCPU根據其權值來實現處理器的公平共享。系統用實際虛擬時間和有效虛 擬時間來記錄VCPU運行狀態。其計算方式如下:
Ai =At + t/wi
Ei <— Ai - (warp?wi:0)
其中,t表示VCPU實際運行時長(由真實時間計算);wi表示該VCPU的權值大小;Ei表示有效虛擬時間;Ai表示實際虛擬時間;warp為時間偏移標記,表示VCPU能否提前運行;磯為VCPU能提前運行的虛擬時間長度。
BVT算法是一種搶占式的working-conserving模式算法。該算法通過warp值來調整EVT使VCPU獲得處理器的時間提前,即VCPU從預定的有效虛擬時間中借用了一定的虛擬時間以獲得更高的調度優 先級。此外,該算法還用Li和Ui來限制VCPU的warp值的大小及進行warp操作的頻率,以防止進程過度借用虛擬時間。
BVT的優缺點
BVT調度算法的優點在於可以將物理時間片公平、均勻地分配給各個Guest作業系統,每個Guest作業系統兩次被調度的時間間隔不會超過一個真實的時間片;能夠滿足I/O密集型和實時套用的低時延要求,能較好地調度某些實時性要求比較高的作業系統;在單CPU和多CPU環境下的調度開銷都比較小。
BVT調度算法的缺點有以下幾點:首先,BVT不支持non-working-conserving。也就是說,每噹噹前domain被載入運行時,它將獲得整個CPU。用戶不能把某個將某個domain對CPU的使用限制在某個比例以下。其次,每個Guest OS只能借用分給它的時間片部分,而不會剝奪其他Guest OS的時間片。即當確定了各個domain的時間片分配比例後,這個比例在下次分配之前不會改變。