论文部分内容阅读
随着电子计算机设计和制造技术的不断进步,特别是微处理器面向多核-众核的技术演进,使单机的集成度进一步提高,计算资源得到成倍的提升。面对丰富的计算资源,如何进行高效利用和最大化其使用价值成为一项极有意义的研究。系统虚拟化技术是解决这一问题的优良方案。系统虚拟机能够提供相互隔离的虚拟化环境,支持多个操作系统在各自的虚拟化环境中同时运行,从而有效的最大化了系统资源利用率。得益于其固有的技术特点,传统系统虚拟化方案有着广泛的应用场景,例如云计算系统、系统安全、桌面虚拟化、移动终端系统、系统测试等领域。但是,传统系统虚拟化技术也存在难以避免的性能开销,系统设计和实现复杂度较高,限制了其在某些场合的应用。
基于多核,众核架构的通用处理器构建的网络处理系统,充分结合了硬件处理的性能优势和软件开发的灵活性和便利性,极大的降低了高性能网络系统的开发门槛。网络处理系统通常集成丰富的计算资源,有时有必要部署多套应用系统,这样就在高度集成的SoC系统上形成了复杂的软件环境。为了解决这种应用场景下的系统性能,安全性等方面的问题,本文基于系统虚拟化的思想设计并实现了一种面向多OS的资源分区系统——KMON(Kernel Monitor).
论文的主要工作包括:提出KMON系统的设计思想和结构框架;描述在Cavium Octeon(MIPS64体系结构)平台上实现KMON原型系统时遇到的关键问题和相应的解决办法;通过实验对原型系统进行验证。KMON系统的主要技术特点包括:(1)KMON系统采用粗粒度的物理资源划分策略,支持多个异构OS在同一物理平台上同时运行,特别是对有高吞吐率和严格实时性要求的系统和应用提供良好支持;(2)KMON系统功能单一,结构简单,KMON与操作系统间形成松散的耦合关系并且不干预OS对物理资源的使用,提高了系统的可靠性;(3)KMON系统本身始终保持运行,通过控制协议完成对操作系统的运行时监控;(4)KMON系统采用分层设计的隔离策略,兼顾了系统间的隔离性和系统性能。