目录 |
BVT (Build Verification Test)
BVT是指在所有开发工程师都已经检入自己的代码,项目组编译生成当天的版本之后进行,主要目的是验证最新生成的软件版本在功能上是否完整,主要的软件特性是否正确。如无大的问题,就可以进行相应的功能测试。BVT优点是时间短,验证了软件的基本功能。缺点是该种测试的覆盖率很低。因为运行时间短,不可能把所有的情况都测试到。BVT测试也被称为“冒烟测试”。
BVT(Borrowed Virtual Time)
BVT是一种Xen虚拟机调度算法。BVT算法由 KermethJ.Duda于1999年提出。BVT是一种公平性优先的调度算法。该算法将时间分为实际时间和虚拟时间:真实时间为硬件计时器记录的时间;虚拟时间为对真实时间经过某种规则计算后得到的时间值。
该算法用虚拟时间来监控进程的执行时间,每次总是调度具有最早的有效虚拟时间的VCPU。这这种调度算法考虑到了运行实时和交互件的应用程序的一些Guest操作系统,允许这些操作系统“借”一些时间片,就是说:在一定范围内将未来分配给它运行的时间片先“借”过来用一段时间。这种“借”过来的虚拟时间片只能是当前真实的时间片中的某个虚拟时间片,不能借下一个真实时间 片中的虚拟时问片。在系统初始化时,每个VCPU将分配一个权值来代表该VCPU能获得的处理器份额。VCPU根据其权值来实现处理器的公平共享。系统用实际虚拟时间和有效虚 拟时间来记录VCPU运行状态。
BVT算法是一种抢占式的working-conserving模式算法。该算法通过warp值来调整EVT使VCPU获得处理器的时间提前,即VCPU从预定的有效虚拟时间中借用了一定的虚拟时间以获得更高的调度优 先级。此外,该算法还用Li和Ui来限制VCPU的warp值的大小及进行warp操作的频率,以防止进程过度借用虚拟时间。
BVT调度算法的优点在于可以将物理时间片公平、均匀地分配给各个Guest操作系统,每个Guest操作系统两次被调度的时间间隔不会超过一个真实的时间片;能够满足I/O密集型和实时应用的低时延要求,能较好地调度某些实时性要求比较高的操作系统;在单CPU和多CPU环境下的调度开销都比较小。
BVT调度算法的缺点有以下几点:首先,BVT不支持non-working-conserving。也就是说,每当当前domain被加载运行时,它将获得整个CPU。用户不能把某个将某个domain对CPU的使用限制在某个比例以下。其次,每个Guest OS只能借用分给它的时间片部分,而不会剥夺其他Guest OS的时间片。即当确定了各个domain的时间片分配比例后,这个比例在下次分配之前不会改变。