针对多操作系统核心下网络I/O资源的高效共享问题,提出的基于全局地址空间的I/O虚拟化方法.方法采用了半虚拟化的设计思想,基于全局地址空间支持,主、从核心在通信的关键路径上均可对网络设备直接发起I/O操作,从而获得最佳的I/O虚拟化性能.本文以HPP结构为实例,研究了将提出的I/O虚拟化方法应用到HPP结构下对InfiniBand网络进行虚拟化的关键技术。实现了从核心I/O通信时的OS旁路和主核心旁路.对曙光6000原型系统的测试表明,在主、从核心配置相同的情况下,从核心使用虚拟化InfiniBand的通信性能与主核心相当,I/O虚拟化对应用性能的影响小于2%.
For the network I/O resource sharing problem under multi-kernel systems, a global address space-based I/O virtualization method is proposed. The para-virtualization idea is introduced in the method. Based on the global address space support, in the critical path, the master and slave kernels both are able to initiate direct I/O operations, thus resulting in the best I/O virtualization performance. To exemplify with the HPP architecture, related key technologies are discussed to implement the OS-bypass and master-bypass in the I/O communication process of slave kernel. Evaluations on Dawning 6000 prototype show that, when master and slave bear the same hardware configuration, the communication performance in the slave is nearly the same as the non-virtualized performance in the master, the effect of I/O virtualization on application performance is less than 2%.