服务器内延迟控制装置、服务器内延迟控制方法和程序制造方法及图纸

技术编号:39296465 阅读:10 留言:0更新日期:2023-11-07 11:04
OS(70)具有环形缓冲区(72)和轮询列表(186),在内核(171)内具有服务器内延迟控制装置(100),所述服务器内延迟控制装置(100)启动使用轮询模型来监视数据包到达的thread,具有数据包到达监视部(110)、数据包采集部(120)和sleep管理部(130),其中,所述数据包到达监视部(110)监视轮询列表(186);在数据包到达的情况下,所述数据包采集部(120)参照保存在环形缓冲区(72)中的数据包,基于接下来进行的处理来执行从环形缓冲区(72)删除对应的队列的条目的采集;所述sleep管理部(130)在数据包在规定期间未到达的情况下使线程休眠,并且在数据包到达时通过该线程的硬中断进行休眠解除。包到达时通过该线程的硬中断进行休眠解除。包到达时通过该线程的硬中断进行休眠解除。

【技术实现步骤摘要】
【国外来华专利技术】服务器内延迟控制装置、服务器内延迟控制方法和程序


[0001]本专利技术涉及服务器内延迟控制装置、服务器内延迟控制方法和程序。

技术介绍

[0002]在使用NFV(Network Functions Virtualization:网络功能虚拟化)的虚拟化技术不断进步等背景下,正在针对每项服务来构建并运用系统。另外,根据上述针对每项服务构建系统的方式,将服务功能分割为可再利用的模块单元,且使其在独立的虚拟机(VM:Virtual Machine、容器(container)等)环境中进行运行,据此,如零部件那样根据需要使用来提高运用性的被称为SFC(Service Function Chaining:服务功能链)的方式正在成为主流。
[0003]作为构成虚拟机的技术,已知有由Linux(注册商标)和KVM(kernel

based virtual machine:基于内核的虚拟机)构成的虚拟机监视器(hypervisor)环境。在该环境中,组装有KVM模块的Host OS(将安装在物理服务器上的OS称为Host OS)作为虚拟机监视器,在与被称为内核空间(kernel space)的用户空间不同的存储区域中进行运行。在该环境下,虚拟机在用户空间中进行运行,Guest OS(将被安装在虚拟机上的OS称为Guest OS)在该虚拟机内进行运行。
[0004]供Guest OS运行的虚拟机不同于供Host OS运行的物理服务器,包括(以太网卡设备等所代表的)网络设备的所有的HW(hardware:硬件)执行从HW向Guest OS的中断处理、或从Guest OS向硬件的写入所需的寄存器控制。在这种寄存器控制中,本来应该由物理硬件执行的通知或处理被软件疑似地模仿,因此,性能一般低于Host OS环境中的性能。
[0005]在该性能劣化中存在一种技术,尤其针对从Guest OS到存在于本虚拟机外的Host OS或外部进程(external process),削减HW的模仿,通过高速且统一的接口来提高通信的性能和通用性。作为这种技术,开发出virtio等的设备的抽象化技术、即准虚拟化技术,以Linux(注册商标)为代表,当前已经编入FreeBSD(注册商标)等众多的通用OS而使用。
[0006]在virtio中,对控制台、文件输入输出、网络通信等的数据输入输出,作为传输数据的单向的传输方式,通过队列的操作来定义基于在环形缓冲区(ring buffer)中设计的队列(queue)的数据转换。然后,利用virtio的队列的规范,在Guest OS启动时准备适合各个设备的队列的个数和大小,据此,不执行硬件模拟而仅仅通过基于队列的操作来实现Guest OS与本虚拟机外部的通信。
[0007][基于中断模型的数据包传输(packet transfer)(通用VM结构的例子)]图9是说明通用Linux kernel(注册商标)和VM结构的服务器虚拟化环境中的基于中断模型的数据包传输的图。HW10具有NIC(Network Interface Card:网络接口卡)11(物理NIC)(接口部),通过由Host OS20、构建虚拟机的虚拟机监视器即KVM30、虚拟机(VM1、VM2)40、以及Guest OS50构建的虚拟通信路径,在其与user space(用户空间)60上的数据包处理APL(应用软件:Application)1之间进行数据收发的通信。在以下的说明中,如图9的粗箭头所示,将数
据包处理APL1接收来自HW10的数据包的数据的流动称为Rx侧接收,将数据包处理APL1向HW10发送数据包的数据的流动称为Tx侧发送。
[0008]Host OS20具有kernel21、Ring Buffer22和Driver23,kernel21具有作为kernel thread的vhost

net模块221、tap设备222和虚拟交换机(vSwitch)(br)223。
[0009]tap设备222是虚拟网络的内核设备,由软件来支持。虚拟机(VM1)40为,Guest OS50和Host OS20能够通过被制成虚拟桥(bridge)的虚拟交换机(br)223进行通信。tap设备222是与被制成该虚拟桥的Guest OS50的虚拟NIC(vNIC)相连接的设备。
[0010]Host OS20将在Guest OS50的虚拟机内构建的结构信息(共享缓冲区队列的大小、队列的数量、识别符、用于访问环形缓冲区的初始地址信息等)复制到vhost

net模块221,在Host OS20内部构建虚拟机侧的端点的信息。该vhost

net模块221是virtio联网用的内核级别的后端,能够通过将virtio数据包处理任务从用户区域(用户空间)转移到kernel21的vhost

net模块221来减少虚拟化的开销(overhead)。
[0011]Guest OS50具有被安装在虚拟机(VM1)上的Guest OS(Guest1)和被安装在虚拟机(VM2)上的Guest OS(Guest2),Guest OS50(Guest1、Guest2)在虚拟机(VM1、VM2)40内运行。作为Guest OS50,当采用Guest1为例时,Guest OS50(Guest1)具有kernel51、Ring Buffer52和Driver53,Driver53具有virtio

driver531。
[0012]具体而言,作为PCI(Peripheral Component Interconnect:外围设备互连)设备,在虚拟机内,分别针对控制台、文件输入输出、网络通信而存在virtio设备(控制台被称为virtio

console、文件输入输出被称为virtio

blk、网络被称为virtio

net的设备和与其对应的OS所具有的驱动程序由virtio队列来定义),当Guest OS启动时,创建Guest OS与对方侧之间的数据的两个传递端点(收发端点),构建数据收发的父子关系。很多情况下,在虚拟机侧(子端)和Guest OS(父端)构成父子关系。
[0013]子端作为虚拟机内的设备的结构信息而存在,向父端请求各个数据区域的大小和所需的端点的组合的个数、设备的类别。父端按照子端的请求,为用于储存、传输所需的数据的共享缓冲区队列分配和确保存储器,并且将其地址返回给子端以便子端能够访问。数据的传输所需的共享缓冲区队列的操作在virtio中都是通用的,且按照父端、子端双方达成协议后来执行。并且共享缓冲区队列的大小也是双方达成协议(即按设备确定)。据此,仅仅通过向子端传输地址,就能够操作父端、子端的双方共享的队列。
[0014]由于在virtio中准备的共享缓冲区队列是为了单向使用而准备的,因此,例如在被称为virtio

本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种服务器内延迟控制装置,其特征在于,OS具有内核、环形缓冲区和轮询列表,其中,所述环形缓冲区在具有所述OS的服务器中的存储器空间内由所述内核进行管理;所述轮询列表登录表示来自接口部的硬中断是哪个设备的网络设备的信息,在所述内核内具有所述服务器内延迟控制装置,所述服务器内延迟控制装置启动使用轮询模型来监视数据包到达的线程,所述服务器内延迟控制装置具有数据包到达监视部、数据包采集部和休眠管理部,其中,所述数据包到达监视部监视所述轮询列表;在数据包到达的情况下,所述数据包采集部参照保存在所述环形缓冲区中的数据包,基于接下来进行的处理来执行从所述环形缓冲区删除对应的队列的条目的采集;所述休眠管理部在数据包在规定期间未到达的情况下使所述线程休眠,并且在数据包到达时通过硬中断进行该线程的休眠解除。2.一种服务器内延迟控制装置,其特征在于,在虚拟机内运行的Guest OS具有内核、环形缓冲区、轮询列表和协议处理部,其中,所述环形缓冲区在具有所述Guest OS的服务器中的存储器空间内由所述内核进行管理;所述轮询列表登录表示来自接口部的硬中断是哪个设备的网络设备的信息;所述协议处理部进行被执行采集的数据包的协议处理,在所述内核内具有所述服务器内延迟控制装置,所述所述服务器内延迟控制装置启动使用轮询模型来监视数据包到达的线程,所述服务器内延迟控制装置具有数据包到达监视部、数据包采集部和休眠管理部,其中,所述数据包到达监视部监视所述轮询列表;在数据包到达的情况下,所述数据包采集部参照保存在所述环形缓冲区中的数据包,基于接下来进行的处理来执行从所述环形缓冲区中删除对应的队列条目的所述采集;所述休眠管理部在数据包在规定期间未到达的情况下使所述线程休眠,并且在数据包到达时通过硬中断进行该线程的休眠解除。3.一种服务器内延迟控制装置,其特征在于,虚拟机以及形成于所述虚拟机外的外部进程能够运行的Host OS具有内核、环形缓冲区、轮询列表和tap设备,其中,所述环形缓冲区在具有所述Host OS的服务器中的存储器空间内由所述内核进行管理;所述轮询列表登录表示来自接口部的硬中断是哪个设备的网络设备的信息;所述tap设备是由所述内核制成的虚拟接口,在所述内核内具有所述服务器内延迟控制装置,所述服务器内延迟控制装置启动使用轮询模型来监视数据包到达的线程,所述服务器内延迟控制装置具有数据包到达监视部、数据包采集部和休眠管理部,其中,
所述数据包到达监视部监视所述轮询列表;在数据包到达的情...

【专利技术属性】
技术研发人员:藤本圭金子雅志
申请(专利权)人:日本电信电话株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1