WO2018157543A1 - Procédé d'implémentation d'une minuterie, et dispositif associé - Google Patents

Procédé d'implémentation d'une minuterie, et dispositif associé Download PDF

Info

Publication number
WO2018157543A1
WO2018157543A1 PCT/CN2017/094935 CN2017094935W WO2018157543A1 WO 2018157543 A1 WO2018157543 A1 WO 2018157543A1 CN 2017094935 W CN2017094935 W CN 2017094935W WO 2018157543 A1 WO2018157543 A1 WO 2018157543A1
Authority
WO
WIPO (PCT)
Prior art keywords
timer
message
packet
queue
host
Prior art date
Application number
PCT/CN2017/094935
Other languages
English (en)
Chinese (zh)
Inventor
杨华志
熊鹰
吴昊
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2018157543A1 publication Critical patent/WO2018157543A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/562Attaching a time tag to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/568Calendar queues or timing rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Definitions

  • This application relates to the field of computers and, more particularly, to timer implementation techniques.
  • VMware virtual machine software
  • KVM Kernel-based Virtual Machine
  • VM Virtual Machine
  • the virtual machine performs a preset timer action according to an internal timer.
  • the above timer actions may include, for example, timing refresh information, timing execution of specific actions, calculation of accurate time intervals, and the like.
  • virtual machine work depends on the scheduling of the physical CPU (that is, running on the physical CPU). If multiple virtual machines are deployed on a physical CPU, the virtual CPU may not be scheduled in time for a virtual machine. For example, the physical CPU may not be scheduled in time due to preemption by other processes. When the virtual machine is not scheduled in time, the internal timer of the virtual machine cannot work normally, which affects the on-time execution of the timer action.
  • the purpose of the embodiments of the present application is to provide a timer implementation method and related apparatus to solve the above problem.
  • an embodiment of the present application provides a timer implementation method, including: receiving a message queue; wherein the message queue includes a timer message, and the timer message is based on an external precision timer. And the timer is inserted into the packet queue; the packet in the packet queue is parsed to determine the type of the parsed packet; and the preset timer is executed in response to the type of the parsed packet being a timer packet. action.
  • the above method can be applied to a virtualized scenario and executed by a virtual machine. In this scenario, in one example, a timer packet can be generated by the virtual switch OVS and periodically inserted into the message queue.
  • the method for implementing the timer discards the manner in which the timer is executed by using the timer inside the virtual machine, and the preset timer action is performed according to the timer message.
  • the timer message is inserted according to the timing of the virtual external precision timer. Therefore, the timer message is not affected by the virtual machine being inoperable.
  • the timer action executed according to the timer message is punctual.
  • the above method can also be applied to a non-virtualized scenario, which is performed by the receiver of the message. The receiver of such a message can also perform timer actions without using its internal timer.
  • the above external precision timer is the host. Timer. Since the timer on the host can guarantee the accuracy, it is guaranteed that the timer action performed according to the timer message is punctual.
  • the timer message is periodically inserted into the message queue by the virtual switch OVS according to the host timer. In this way, as long as the messages in the message queue can be processed in sequence, the preset timer action can be executed on time.
  • the content of the timer message includes at least the current time information.
  • the timer packet contains the current time information, which is beneficial for the virtual machine to obtain the time interval between the two timer packets, and determines whether to perform some timer actions according to the time interval.
  • the virtual machine can also update the current time of the system according to the time information in the timer message.
  • the timer packet is an Ethernet packet to be consistent with the service packet.
  • the embodiment of the present application provides a method for implementing a timer executed by a virtual switch OVS, the method includes: receiving a packet; and when the received packet needs to be sent to a virtual machine, placing the packet The packet is forwarded to the packet queued by the virtual machine; the timer packet is periodically inserted into the packet queue; the timer packet is used by the virtual machine to perform a preset timer action; Message queue.
  • the timing insertion timer message includes: inserting a timer message according to a host timer timing.
  • the content of the timer message includes at least the current time information.
  • the timer packet contains the current time information, which is beneficial for the virtual machine to obtain the time interval between the two timer packets, and determines whether to perform some timer actions according to the time interval.
  • the virtual machine can also update the current time of the system according to the time information in the timer message.
  • an embodiment of the present application provides a timer implementation apparatus, where the timer implementation apparatus has a function of implementing virtual machine behavior in the actual method.
  • the functions may be implemented by hardware or by corresponding software implemented by hardware.
  • an embodiment of the present application provides a timer implementation apparatus, where the timer implementation apparatus has a function of implementing a virtual switch behavior in the actual method.
  • the functions may be implemented by hardware or by corresponding software implemented by hardware.
  • the embodiment of the present application provides a host Host, where the Host includes: an OVS running on the Host and an intermediate software layer Hypervisor, where the Hypervisor runs at least one virtual machine VM; Method The function of virtual machine behavior in practice.
  • the embodiment of the present application provides a host Host, where the Host includes: an OVS running on the Host and an intermediate software layer Hypervisor, where the Hypervisor runs at least one virtual machine VM; the OVS has the above implementation.
  • the method actually functions in OVS behavior.
  • the present application provides a computer readable storage medium having instructions stored therein that, when executed on a computer, cause the computer to perform the methods described in the above aspects.
  • the present application provides a computer program product comprising instructions that, when run on a computer, cause the computer to perform the methods described in the various aspects above.
  • the manner in which the timer action is executed by using the timer inside the virtual machine is discarded, and the preset timer action is performed according to the timer message.
  • the timer message is inserted according to the timing of the virtual external precision timer. Therefore, the timer message is not affected by the virtual machine being inoperable.
  • the timer action executed according to the timer message is punctual.
  • FIG. 1 is a schematic diagram showing an example of a structure of a virtualization system based on a physical host provided by an embodiment of the present application;
  • FIG. 2 is a schematic diagram of an application scenario of an OVS and a VM according to an embodiment of the present application
  • 3 and 5 are interaction flowcharts of a method for implementing a timer according to an embodiment of the present application
  • FIG. 4a is a diagram showing a virtual machine refresh and packet reception when a virtual machine is scheduled in time in the existing mode
  • Figure 4b shows the virtual machine refresh and packet reception when the virtual machine is not scheduled in time in the existing mode
  • FIG. 4c is a packet receiving situation of the virtual machine during t0 to t2 when the virtual machine is not scheduled in time according to the embodiment provided by the present application;
  • FIG. 6 is an exemplary structural diagram of a virtual machine according to an embodiment of the present application.
  • FIG. 7 is an exemplary structural diagram of a virtual switch according to an embodiment of the present application.
  • the embodiment of the present application provides a timer implementation method and related devices (a timer implementation device, a host device, a physical host, and a virtual host system based on a physical host) to solve the problem that the timer action cannot be performed on time.
  • the physical host may include the hard disk 110, the central processing unit 111, the network interface card 112, and the memory 113 shown in FIG.
  • FIG. 1 A possible structural diagram of the virtualization system 104 built on the above physical host can be seen in FIG. 1 and includes three parts, namely, a hardware platform 100 (or a hardware layer), an intermediate software layer (Hypervisor) 101, and a virtual device.
  • Machine execution space 102 A possible structural diagram of the virtualization system 104 built on the above physical host can be seen in FIG. 1 and includes three parts, namely, a hardware platform 100 (or a hardware layer), an intermediate software layer (Hypervisor) 101, and a virtual device.
  • Machine execution space 102 Machine execution space 102.
  • a hard disk 110, a central processing unit 111, a network interface card 112, and a memory 113 may be included in the hardware platform 100.
  • Hypervisor 101 and virtual machine execution space 102 provide a hardware platform and a software platform for the virtual machine, respectively.
  • Hypervisor 101 runs on the host and is an intermediate layer of software running between the physical server and the operating system, allowing multiple operating systems and applications to share a single set of physical hardware.
  • the hypervisor 101 includes virtual machine monitors 120a, 120b ⁇ ⁇ 120n.
  • Hypervisor is the middle layer between physical hardware and virtual machines, and is responsible for coordinating the access of each virtual machine to the hardware platform.
  • the virtual machine monitor includes a virtual hardware platform that implements the virtual machine.
  • the virtual machine monitor 120a includes a virtual hardware platform 121a.
  • the virtual hardware platform includes a virtual memory 122, a central processing unit 123, a hard disk 124, a graphics card 125, a network interface card 126, and the like.
  • a plurality of virtual machines 103a, 103b ⁇ ⁇ 103n are run in the virtual machine execution space 102.
  • the software system of the virtual machine 103a runs on the virtual hardware platform 121a of the virtual machine monitor 120a, and the software systems of the other virtual machines also run on the virtual hardware platform of the corresponding virtual machine monitor.
  • the guest operating system 110 runs in the virtual machine 103a.
  • the guest operating system 110 includes a device driver layer 132.
  • the device driver layer 132 is installed with drivers such as a virtual display driver 134 and a network interface card driver 136.
  • a virtual switch (Opens Switch, OVS) is also running on the host.
  • Figure 2 shows an application scenario of OVS and VM: VMs (VM1, VM2) on different physical hosts, one as a client and one as a server, which can communicate through OVS.
  • VMs VM1, VM2
  • FIG. 2 shows an application scenario of OVS and VM: VMs (VM1, VM2) on different physical hosts, one as a client and one as a server, which can communicate through OVS.
  • the two VMs on the same physical host can also communicate through the OVS.
  • OVS is an open source Open Switch-based softswitch that can be deployed on Linux servers. OVS and VM running on the same physical host can form a small switching network. In non-through mode or pass-through mode (such as Single-Root I/O Virtualization (SR-IOV)) deployment, OVS is often connected under virtual firewalls and virtual routers.
  • SR-IOV Single-Root I/O Virtualization
  • OVS works like a physical switch.
  • the physical network card and multiple virtual network cards are connected to the two ends of the OVS.
  • the OVS maintains a mapping table, and searches for the corresponding virtual machine link according to the MAC address to complete data forwarding.
  • the virtual machines 103a, 103b ⁇ 103n can perform timer operations.
  • the above timer actions may include, for example, timing refresh information, timing execution of specific actions, calculation of accurate time intervals, processing of traffic rate sensitive services, and the like.
  • the timer implementation method provided in the embodiments shown in FIG. 3 and FIG. 5 can be implemented by the interaction between the OVS and the VM.
  • the central processing unit 111 executes the program stored in the memory 113, and calls other devices, and can be used to implement the timer implementation method provided in the embodiments shown in FIG.
  • FIG. 3 illustrates an exemplary interaction flow of the above timer implementation method, including:
  • OVS receives the message
  • the OVS can receive service packets from different senders, for example, can receive service packets sent by other physical devices.
  • the physical host where the OVS is located and the other physical devices can be connected through a mobile communication system, a data network, or the like.
  • OVS2 running on Host B can receive service packets sent by VM1 on other physical hosts.
  • the OVS can also receive service packets sent by VMs on the same physical host.
  • the OVS puts the message into the message queue.
  • the OVS can find a corresponding VM according to the Medium/Media Access Control (MAC) address of the packet, and put the packet into the packet queue corresponding to the VM.
  • MAC Medium/Media Access Control
  • Each virtual machine has at least one virtual network card, each virtual network card has a MAC address, and the MAC addresses of different virtual network cards are different from each other.
  • the OVS generates a queue corresponding to the virtual network card included in the virtual machine for the virtual machine running on the same physical host as the OVS. It can be understood that each generated message queue corresponds to the MAC address of the virtual network card.
  • the OVS After receiving the packet, the OVS obtains the destination MAC address of the packet and searches for the queue corresponding to the destination MAC address. And put the message into the queue that was found.
  • OVS 2 since VM2 has only one virtual network card in FIG. 2, OVS 2 generates a queue corresponding to the virtual network card of VM2, and the queue corresponds to the MAC address of the virtual network card of VM2. After receiving the packet, the OVS 2 obtains the destination MAC address of the packet. If the destination MAC address of the packet is the same as the MAC address of the virtual network adapter of the VM2, the packet is placed in the queue corresponding to the virtual network adapter of the VM2. .
  • the OVS periodically inserts a timer packet in the message queue.
  • the above timer message can be inserted according to the precision timer outside the VM.
  • the OVS since the OVS is running on the Host, the OVS can periodically insert timer messages according to the Host timer.
  • the Host timer is accurate, which ensures the accuracy of subsequent VMs performing timer actions based on timer messages.
  • the timer message in addition to the timer on the Host where the OVS is located, may be inserted according to other precision timers.
  • a timer message in a high-speed link, can be inserted into a transmitted message by the sender of the message.
  • timer messages can be inserted periodically by an independent timer module on the host.
  • the timer message is interspersed in the service packet and is used by the VM to perform a preset timer action.
  • the timer action will be introduced later in this article and will not be described here.
  • the OVS forwards the packet to the VM and inserts a packet queue of the timer packet.
  • the OVS can forward packets in the message queue according to the mapping table.
  • the VM receives the message queue (including the timer message), and the "receive message queue” can be understood as the message in the received message queue.
  • the message in the message queue can be received by the virtual network card of the VM, and the message is stored in a fixed storage area.
  • the VM parses the packet in the packet queue to determine the type of the parsed packet.
  • the message may be parsed by a Guest application (eg, a message processing application or a message forwarding application) in the VM to determine the type of the message.
  • a Guest application eg, a message processing application or a message forwarding application
  • the guest application needs to process the packets in the message queue in sequence, so that the time interval between two adjacent timer messages is fixed.
  • the VM performs a preset timer action in response to the type of the parsed message being a timer message.
  • the service packets received by the VM are also Ethernet packets.
  • the timer packet can also be a standard Ethernet packet, so that the service packet can be consistent with the service packet.
  • the packet format of the timer packet is shown in the following Table 1:
  • 0xfffffffffffffffffff indicates a broadcast address.
  • using the broadcast address as the destination MAC ensures that all VMs can receive the timer message without being filtered out.
  • the protocol type in Table 1 is used to characterize the type of timer message.
  • a non-universal protocol type may be selected to represent the type of the timer message to avoid confusion with the service message using the general protocol.
  • the content of the timer message can include at least the current time information.
  • the current time information here may refer to the generation time of the timer message.
  • the current time information is included in the timer packet, which facilitates the VM to calculate the time interval between the two timer packets, and determines whether to perform some timer actions according to the time interval.
  • the interval between two adjacent timers is set to milliseconds by default. The exact level can be configured as required.
  • the first timer action corresponding to service A is to refresh the information every 10 milliseconds
  • the second timer action corresponding to service B is to send heartbeat information every 20 milliseconds, and so on.
  • the interval between messages is 10 milliseconds.
  • the Guest application can notify the corresponding execution module to perform a timer action.
  • the guest application can notify the execution module of the service A to perform the first timer action, and notify the execution module of the service B to perform the second timer action.
  • the VM can update the current time of the system according to the time information in the timer message when needed.
  • the manner in which the timer action is executed by using the timer inside the virtual machine is discarded, and the preset timer action is performed according to the timer message.
  • the timer packet is inserted according to the timing of the virtual external precision timer. Therefore, the timer packet is not affected by the virtual machine being inoperable.
  • the timer action performed according to the timer packet is punctual.
  • a VM as a virtual gateway (virtual firewall or virtual router) as an example
  • the virtual gateway needs to run traffic rate sensitive services such as distributed denial of service (DDOS) defense services and bandwidth limiting services.
  • traffic rate sensitive services rely on "unit time rate”, such as "number of packets per second”, “number of connections per second”, and so on.
  • the unit time rate in turn depends on the exact time interval and the amount of traffic processed in the exact time interval. Taking the number of packets per second as an example, assuming that the number of packets per second required for a type A packet is 100, the virtual machine allocates 100 forwarding rights for the type A packet every second. The virtual machine needs to refresh the forwarding permission every 1 second (reconfigure the forwarding permissions to 100).
  • the forwarding authority In one second, each time a message of type A is forwarded, the forwarding authority is decremented by one. If the forwarding permission drops to 0 but has not yet reached 1 second, the VM discards the type A packets that have not been forwarded. That is, if the number of A-type packets received by the virtual machine in one second is 200, then 100 packets need to be discarded and not forwarded when forwarding.
  • 100 forwards a refresh permission, will after a period t 0 ⁇ t 1 of type A 200 receives packets forwarding: the first 100 packets are forwarded, the packet 100 It will be discarded.
  • the forwarding permission update will be refreshed to 100, and then the same forwarding processing will be performed on the 200 A-type packets received during the t 1 to t 2 period. Therefore, between t 0 and t 2 , a total of 200 messages are discarded.
  • the VM can not refresh permission to forward at time t 1, at time t 2 while the refresh permission to forward .
  • the VM is to process the 400 Type A packets received during the period from t 0 to t 2 , and the virtual machine discards 300 Type A packets according to the forwarding authority.
  • a VM is not scheduled at time t, is scheduled at time t 2.
  • the VM receives 400 Type A packets during the period from t 0 to t 2 .
  • two timer messages are interspersed, one is the OVS inserted at time t 1
  • OVS is inserted at time t 2 .
  • it may be referred to as a first timer message and a second timer message.
  • the ability of the VM to process messages is very powerful and can process multiple messages quickly.
  • the VM will discard the first 100 packets before the first timer packet.
  • the second timer packet is determined, the last 100 packets between the first timer packet and the second timer packet are discarded.
  • the solution provided by the present application also discards a total of 200 messages.
  • the solution provided by the present application does not discard additional messages compared to the existing methods.
  • the number of packets per second is still 100, which meets the requirements of traffic rate sensitive services.
  • the unit time rate depends on the “relative” time interval and the number of services processed in the “relative” time interval, and the “relative” time interval is determined according to the adjacent two timer messages. .
  • the timer packet is inserted according to the timing of the external precision timer.
  • the relative time interval determined by the timer packet is also accurate. This ensures the accuracy of the unit time rate and ensures the accuracy of the traffic rate sensitive service. .
  • SR-IOV technology is a hardware-based virtualization solution that allows efficient sharing of Peripheral Component Interconnect Express (PCIe) devices between VMs, and it is implemented in hardware, creating new Virtual machines allow VMs to be directly connected to I/O devices for I/O performance comparable to native performance.
  • PCIe Peripheral Component Interconnect Express
  • VM1 and VM2 are two virtual firewalls or routers, one as a client and one as a server, which are respectively deployed on hosts of different physical hosts.
  • the two physical hosts communicate through a physical switch (SWITCH).
  • SWITCH physical switch
  • OVS is running on both Hosts (Host A and Host B).
  • the physical network card and the virtual network card are respectively connected to the two ends of the OVS.
  • a virtual network card layer (tap) device is connected between the OVS and the VM's virtual network card.
  • the tap device is a virtual network interface device on Linux, which is equal to the Ethernet device. OVS can send packets to the virtual network card of the VM through tap.
  • FIG. 5 illustrates another exemplary interaction flow of a timer implementation method based on the scenario illustrated in FIG. 2, including:
  • VM1 sends a service packet to the queue of Host A through the internal driver, the virtual network card 1 and the tap1.
  • the OVS1 on the Host A forwards the packet according to the forwarding table (or the mapping table), and the packet is sent to the physical network card 1.
  • the packet is sent out from the physical network card 1, and the physical network card 2 receives the packet.
  • Any physical NIC can send or receive packets in the existing mode. Of course, there is no new way to send or receive packets in the future.
  • the packet received by physical NIC 2 is sent to OVS2 on Host B.
  • the OVS2 on the Host B finds that the received packet needs to be sent to the VM2 and puts the packet into the packet queue.
  • Section 504 is similar to step 301 of the foregoing embodiment. For related descriptions, refer to the foregoing description, and details are not described herein.
  • the OVS2 periodically inserts a timer packet in the message queue.
  • step 505 may be performed by adding a timer processing unit to the OVS.
  • Step 505 is configured to periodically inject a timer message before the packet is sent to the VM.
  • the timer processing unit may be directly integrated on various virtualized or non-virtualized interfaces, and the timer message is injected periodically before the packet queue is sent to the VM.
  • step 505 is similar to step 302 of the previous embodiment.
  • steps 302 of the previous embodiment For related description, refer to the foregoing description, and details are not described herein.
  • the OVS2 sends the message queue inserted into the timer packet to tap2.
  • Tap2 sends the message queue to the virtual network card of VM2.
  • Steps 506 and 507 are specific implementations of the foregoing step 303. For related descriptions, refer to the foregoing description, and details are not described herein.
  • the internal service of VM2 receives the packet through the Data Plane Development Kit (DPDK) or the socket (socket), and then parses the packet, forwards the service, and parses the packet.
  • DPDK Data Plane Development Kit
  • socket socket
  • step 508 can be completed by a message processing application or a message forwarding application running on the VM.
  • the message processing application or the message forwarding application can perform preset timer actions during the processing of the message. In this process, it is not necessary to maintain the internal timer asynchronously.
  • a non-virtualized scenario can adopt a similar solution:
  • the timer sender can periodically insert a timer message into the message queue, and the receiver of the message performs a preset timer action according to the timer message. In this way, even if the internal timer of the message receiver is inaccurate, the accuracy of the timer action can be guaranteed.
  • the embodiment of the present invention also claims a physical host.
  • An exemplary structure of the physical host can be seen in FIG. 1 , including a hardware layer and a Host running on the hardware layer.
  • OVS and Hypervisor are running on the Host, and at least one VM is running on the Hypervisor.
  • the VM has the function of realizing the virtual machine behavior in the above method
  • the OVS has the function of realizing the OVS behavior in the above method.
  • the embodiment of the present invention also claims the foregoing Host.
  • FIG. 6 shows an exemplary structure of the above VM, including:
  • the first receiving unit 61 is configured to receive a message queue.
  • the packet queue includes a timer packet, and the timer packet is periodically inserted into the packet queue according to an accurate timer external to the VM.
  • the parsing unit 62 is configured to parse the packet in the packet queue, and determine the type of the parsed packet;
  • the executing unit 63 is configured to perform a preset timer action in response to the type of the parsed message being a timer message.
  • Fig. 7 shows an exemplary structure of the above OVS, including:
  • a second receiving unit 71 configured to receive a message
  • the message distribution unit 72 puts the message into the message queue when the received message needs to be sent to the virtual machine.
  • the packet queue is forwarded to the virtual machine.
  • the timer processing unit 73 is configured to periodically insert a timer message in the message queue, where the timer message is used by the virtual machine to perform a preset timer action;
  • the forwarding unit 74 is configured to forward a message queue in which the timer packet is inserted.
  • the second receiving unit 71 is configured to perform the step 300 of the embodiment shown in FIG. 3, and receive the service packet sent by the physical network card 2 in step 503 of the embodiment shown in FIG. 5;
  • the message distribution unit 72 can be used to perform step 301 of the embodiment shown in FIG. 3, and step 504 of the embodiment shown in FIG. 5;
  • the timer processing unit 73 can be used to perform step 302 of the embodiment shown in FIG. 3, and step 505 of the embodiment shown in FIG. 5;
  • the forwarding unit 74 is configured to perform the step 303 of the embodiment shown in FIG. 3 and the step 506 of the embodiment shown in FIG. 5; the first receiving unit 61 is configured to receive the message queue forwarded by the forwarding unit 74;
  • the parsing unit 62 can be used to perform step 304 of the embodiment shown in FIG. 3, and the parsing operation in step 508 of the embodiment shown in FIG. 5;
  • the executing unit 63 can be used to perform step 305 of the embodiment shown in FIG. 3, and can perform the service forwarding and the preset timer action in step 508 of the embodiment shown in FIG. 5.
  • the embodiment of the present application also claims a timer implementation device.
  • the timer implementation device may be the aforementioned VM or the aforementioned OVS.
  • timer implementation device When the timer implementation device is a VM, an exemplary structure thereof can be referred to FIG. 6; and when the timer implementation device is an OVS, an exemplary structure thereof can be seen in FIG. 7.
  • the above embodiments it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions.
  • the computer can be universal Computer, special purpose computer, computer network or other programmable device.
  • the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage.
  • the computer instructions can be routed from one website site, computer, server or data center to another website via wire (eg, coaxial cable, fiber optic, digital subscriber (DSL)) or wireless (eg, infrared, wireless, microwave, etc.) Transfer from a site, computer, server, or data center.
  • the computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media.
  • the usable medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a Solid State Disk (SSD)).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

La présente invention appartient au domaine technique des ordinateurs, et concerne en particulier une technologie d'implémentation d'une minuterie. Dans un procédé d'implémentation d'une minuterie selon l'invention, une machine virtuelle reçoit une file d'attente de paquets contenant un paquet de minuterie, le paquet de minuterie étant inséré à un instant fixe selon une minuterie de précision externe à la machine virtuelle ; la machine virtuelle analyse le paquet dans la file d'attente de paquets, détermine le type du paquet analysé, et exécute une action de minuterie prédéfinie en réponse au fait que le type du paquet analysé est un paquet de minuterie. À la différence de l'état de la technique, la solution fournie par la présente invention abandonne l'idée d'exécuter une action de minuterie à l'aide d'une minuterie interne à une machine virtuelle, et adopte plutôt l'idée d'exécuter une action de minuterie prédéfinie d'après un paquet de minuterie. Comme le paquet de minuterie est inséré à un instant fixe selon la minuterie de précision externe à la machine virtuelle, le paquet de minuterie n'est pas influencé par une défaillance éventuelle de la machine virtuelle, et l'action de minuterie exécutée d'après le paquet de minuterie est ponctuelle.
PCT/CN2017/094935 2017-02-28 2017-07-28 Procédé d'implémentation d'une minuterie, et dispositif associé WO2018157543A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710113015.2A CN108512780B (zh) 2017-02-28 2017-02-28 定时器实现方法及相关装置
CN201710113015.2 2017-02-28

Publications (1)

Publication Number Publication Date
WO2018157543A1 true WO2018157543A1 (fr) 2018-09-07

Family

ID=63371079

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/094935 WO2018157543A1 (fr) 2017-02-28 2017-07-28 Procédé d'implémentation d'une minuterie, et dispositif associé

Country Status (2)

Country Link
CN (1) CN108512780B (fr)
WO (1) WO2018157543A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110380992B (zh) * 2019-07-24 2021-01-29 南京中孚信息技术有限公司 报文处理方法、装置及网络流量采集设备
CN112817701B (zh) * 2021-02-25 2024-03-12 北京火山引擎科技有限公司 定时器处理方法、装置、电子设备和计算机可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853598A (zh) * 2014-02-21 2014-06-11 北京神舟航天软件技术有限公司 实现嵌入式虚拟机硬实时虚拟定时器响应的方法
US20150301845A1 (en) * 2012-08-28 2015-10-22 Zte Corporation Method And System For Closing Application
CN106406981A (zh) * 2016-09-18 2017-02-15 深圳市深信服电子科技有限公司 一种读、写磁盘数据的方法及虚拟机监视器
CN106406974A (zh) * 2015-07-30 2017-02-15 中兴通讯股份有限公司 一种用于虚拟机的高性能定时器实现方法、虚拟机

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5434616B2 (ja) * 2010-01-15 2014-03-05 富士通株式会社 仮想計算機、仮想計算機モニタ、および計算機の制御方法
US9288162B2 (en) * 2012-08-03 2016-03-15 Cisco Technology, Inc. Adaptive infrastructure for distributed virtual switch
CN103064739B (zh) * 2013-01-24 2016-07-27 浪潮(北京)电子信息产业有限公司 一种云计算中虚拟机的控制方法及装置
CN104486262B (zh) * 2014-11-25 2017-09-26 盛科网络(苏州)有限公司 基于交换机芯片实现Dying Gasp的控制方法及装置
CN105550040B (zh) * 2015-12-29 2019-06-14 四川中电启明星信息技术有限公司 基于kvm平台的虚拟机cpu资源预留算法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150301845A1 (en) * 2012-08-28 2015-10-22 Zte Corporation Method And System For Closing Application
CN103853598A (zh) * 2014-02-21 2014-06-11 北京神舟航天软件技术有限公司 实现嵌入式虚拟机硬实时虚拟定时器响应的方法
CN106406974A (zh) * 2015-07-30 2017-02-15 中兴通讯股份有限公司 一种用于虚拟机的高性能定时器实现方法、虚拟机
CN106406981A (zh) * 2016-09-18 2017-02-15 深圳市深信服电子科技有限公司 一种读、写磁盘数据的方法及虚拟机监视器

Also Published As

Publication number Publication date
CN108512780B (zh) 2020-12-15
CN108512780A (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
US20210344692A1 (en) Providing a virtual security appliance architecture to a virtual cloud infrastructure
US10789199B2 (en) Network traffic rate limiting in computing systems
US9584477B2 (en) Packet processing in a multi-tenant software defined network (SDN)
EP3629162B1 (fr) Technologies de séparation de plan de commande au niveau d'un contrôleur d'interface réseau
EP2831729B1 (fr) Système et procédé pour supporter la migration en temps réel de machines virtuelles basé sur un modèle d'adaptateur de canal hôte (hca) étendu
US11048569B1 (en) Adaptive timeout mechanism
US8634415B2 (en) Method and system for routing network traffic for a blade server
US9559968B2 (en) Technique for achieving low latency in data center network environments
RU2584449C2 (ru) Система управления связью, коммутационный узел и способ управления связью
US20100287262A1 (en) Method and system for guaranteed end-to-end data flows in a local networking domain
US10911405B1 (en) Secure environment on a server
US8095661B2 (en) Method and system for scaling applications on a blade chassis
US11729098B2 (en) Methods and apparatus to manage a physical network to reduce network dependencies in a multi-fabric virtual network
TWI838190B (zh) 動態虛擬晶片上系統之方法、其處理器設備以及其非暫態電腦可讀取媒體
EP4004721B1 (fr) Dispositif informatique comprenant des conteneurs isolés du processus ayant des fonctions virtuelles attribuées
US11444883B2 (en) Signature based management of packets in a software defined networking environment
EP2905948B1 (fr) Procédé de commande de trafic de messages et dispositif associé, et noeud de calcul
US9344376B2 (en) Quality of service in multi-tenant network
WO2018157543A1 (fr) Procédé d'implémentation d'une minuterie, et dispositif associé
CN108881065B (zh) 基于流的速率限制
US20180091447A1 (en) Technologies for dynamically transitioning network traffic host buffer queues
US10554552B2 (en) Monitoring network addresses and managing data transfer
US9363193B2 (en) Virtualized network interface for TCP reassembly buffer allocation
US20210250308A1 (en) Backpressure from an external processing system transparently connected to a router
US20220109629A1 (en) Mitigating service overruns

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17898732

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17898732

Country of ref document: EP

Kind code of ref document: A1