CN107025127B - Dma queue switching method and system - Google Patents

Dma queue switching method and system Download PDF

Info

Publication number
CN107025127B
CN107025127B CN201610733741.XA CN201610733741A CN107025127B CN 107025127 B CN107025127 B CN 107025127B CN 201610733741 A CN201610733741 A CN 201610733741A CN 107025127 B CN107025127 B CN 107025127B
Authority
CN
China
Prior art keywords
datagram
handover module
entity
management platform
switching
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201610733741.XA
Other languages
Chinese (zh)
Other versions
CN107025127A (en
Inventor
张宇弘
张菁
王界兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Webex Technology Co Ltd Hangzhou Branch
Original Assignee
Beijing Webex Technology Co Ltd Hangzhou Branch
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 Beijing Webex Technology Co Ltd Hangzhou Branch filed Critical Beijing Webex Technology Co Ltd Hangzhou Branch
Priority to CN201610733741.XA priority Critical patent/CN107025127B/en
Publication of CN107025127A publication Critical patent/CN107025127A/en
Application granted granted Critical
Publication of CN107025127B publication Critical patent/CN107025127B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Present invention is disclosed a kind of DMA queue switching method and systems, the described method comprises the following steps:Virtual management platform sends switching command to the handover module of network interface card side;The handover module performs handover operation according to the switching command, and the datagram for intending being transmitted to virtualisation entity to be migrated in the data path of the network interface card is oriented to the preset hot standby DMA queue for serving network migration auxiliary entity;After the completion of switching, the virtual management platform carries out machine operation of delaying to the virtualisation entity.So as to, even if in data flow not by under the application scenarios of virtual management platform, virtual management platform also can be under the assistance of network interface card hardware, the flow of virtualisation entity to be migrated is redirected to network migration auxiliary entity, realize the seamless migration of virtualisation entity, so that the thermophoresis of virtualisation entity is more smooth over network connections, solve the problems, such as that the datagram in thermomigration process in network interface card is lost.

Description

DMA queue switching method and system
Technical field
The present invention relates to fields of communication technology, especially relate to a kind of DMA queue switching method and system.
Background technology
Existing virtual management system is empty as shown in Figure 1, including virtual management platform, network interface card and virtualisation entity Planization entity can be virtual machine, container (container) etc..Network interface card high speed physical interface, virtual hard exchange, flow point class Device, direct memory access (Direct Memory Access, DMA) queue, virtual functions (Virtual Function, VF) (or physical function (Physical Function, PF)) composition data access, wherein, each DMA queue services one virtually Change entity, as DMA queue 1, DMA queue 2 and DMA queue 3 serve virtualisation entity 1, virtualisation entity 2 and virtualization respectively Entity 3.For datagram after LAN enters network interface card, built-in exchange logic and flow classifier in network interface card determine what datagram to be gone The queue number of DMA queue, and the queue number is added to an Attribute domain of datagram.Datagram is in the data path of network interface card Middle continuation is handled, and works as after treatment, and datagram writes back the physics where virtualisation entity by the data path of output network interface card The memory of server.After the data path of datagram output network interface card, there are two types of operating modes for virtualisation entity:One kind is datagram Virtualisation entity is transmitted to by the virtual soft switch of virtual management platform, such as the virtualisation entity 3 in Fig. 1;One kind is empty Planization entity directly possesses DMA queue, that is to say, that datagram directly flows to virtualisation entity from network interface card, not via virtualization Management platform forwards, such as the virtualisation entity 1 and virtualisation entity 2 in Fig. 1, single input/output virtualization (SR-IOV) and Container direct operations DMA queue just belongs to this pattern.
During datagram transmission, it is sometimes desirable to carry out the thermophoresis of virtualisation entity.The thermophoresis of virtualisation entity Refer to while virtualisation entity service normal operation is ensured, virtualisation entity is carried out between different physical servers Migration.In order to ensure the available of virtualisation entity service in thermomigration process, when thermomigration process only has very of short duration shutdown Between.The earlier stage of thermophoresis, services and is run on source server, and when thermophoresis proceeds to certain phase, destination server is Through having the necessary resource of operating system, by a very of short duration switching, source server is by control right transfer to purpose Server is serviced and is continued to run on destination server.For servicing itself, since the time of switching is very of short duration, use The interruption of the imperceptible service in family, thus thermomigration process is transparent to user.
Although the time of above-mentioned switching is very of short duration, however, in thermomigration process, a part of datagram comes into net The caching of card, when virtualisation entity is of short duration delay machine when, this partial data report is lost due to that can not reach virtualisation entity.This can The integrity problem that system can be caused to apply, and lose caused datagram re-transmission after datagram and can increase instantaneous network and bear It carries.
With the development of network interface card technology, more and more packet processing functions are integrated into network interface card by designer, to accelerate Host CPU.This needs network interface card to cache a part of datagram to carry out Message processing.It is virtualized especially as network function The development of (Network Function Virtualization, NFV) technology, industry are just being puted forth effort characteristic matching, deep packet solution The functions such as analysis, Elimination of Data Redundancy are moved on the intelligent network adapter (SmartNIC) with programming device, this is further increased The buffer size of datagram.When virtualisation entity delays machine, the datagram of these cachings, which may be because, not to be reached virtually Change entity and lose.
To solve the above-mentioned problems, a kind of virtualisation entity moving method is proposed in the prior art, is managed by virtualizing The flow of virtualisation entity to be migrated is redirected to network migration auxiliary entity to realize the nothing of virtualisation entity by platform Seam migration, the program are required before switching command is initiated, and datagram is all sent to virtualisation entity to be migrated;It is initiating to switch After order, datagram all sending network migration auxiliary programs.And, it is necessary to assure it can neither be the datagram after switching command again Virtualisation entity to be migrated is sent to, and the datagram before switching command cannot be sent to network migration auxiliary program.
However, said program may be only available for application scenarios (void in such as Fig. 1 of the data flow by virtual management platform The operating mode of planization entity 3), virtual management platform just can carry out redirection operation to data stream at this time.But for Data flow does not pass through the application scenarios of virtual management platform (operating mode of virtualisation entity 1 and 2 in such as Fig. 1), such as SR- The situation of IOV and container direct operation DMA queues, virtual management platform can not just redirect data stream, nothing Method realizes the seamless migration of virtualisation entity.
In conclusion existing virtualisation entity migration scheme, narrow application range can not pass through data flow virtualization The application scenarios of management platform realize the seamless migration of virtualisation entity.
Invention content
The main object of the present invention is provides a kind of DMA queue switching method and system, it is intended to solve in the prior art without The technical issues of method does not realize the seamless migration of virtualisation entity to data flow by the application scenarios of virtual management platform.
To achieve these objectives, the present invention proposes a kind of DMA queue switching method, the described method comprises the following steps:
Virtual management platform sends switching command to the handover module of network interface card side;
The handover module performs handover operation according to the switching command, will intend passing in the data path of the network interface card The datagram for transporting to virtualisation entity to be migrated is oriented to the preset hot standby DMA queue for serving network migration auxiliary entity;
After the completion of switching, the virtual management platform carries out machine operation of delaying to the virtualisation entity.
Further, the step of handover module switches over operation according to the switching command includes:
After the handover module receives the switching command, it is judged whether or not datagram transmission is to the virtualization Entity;
If so, it treats just to perform handover operation after the datagram transmission;
If it is not, then it is immediately performed handover operation.
Further, the handover module is set on the end of the data path, and the method further includes:
When the datagram all by the handover module position when, the handover module then adjudicates the data Report end of transmission.
Further, the handover module is set on the middle part of the data path, and the method further includes:
When the datagram is by the handover module position, the handover module records the mark of the datagram Note;
The datagram is tracked according to the label, it is described to cut when the datagram all exports the data path Mold changing block is then adjudicated the datagram transmission and is finished.
Further, it is further included after the step of handover module performs handover operation according to the switching command:
The handover module notifies the virtual management platform switching to complete.
The present invention proposes a kind of DMA queue switching system simultaneously, and the system comprises virtual management platforms and network interface card side Handover module, wherein:
The virtual management platform, for sending switching command to the handover module;
The handover module, for performing handover operation according to the switching command, by the data path of the network interface card The middle datagram for intending being transmitted to virtualisation entity to be migrated is oriented to the preset hot standby DMA for serving network migration auxiliary entity Queue;
The virtual management platform is additionally operable to:After the completion of switching, machine operation of delaying is carried out to the virtualisation entity.
Further, the handover module is used for:
After receiving the switching command, it is judged whether or not datagram transmission is to the virtualisation entity;If so, It treats just to perform handover operation after the datagram transmission;If it is not, then it is immediately performed handover operation.
Further, the handover module is set on the end of the data path, and the handover module is additionally operable to:When described Datagram all by the handover module position when, adjudicate the datagram transmission and finish.
Further, the handover module is set on the middle part of the data path, and the handover module is additionally operable to:
When the datagram is by the handover module position, the label of the datagram is recorded;According to described Label tracks the datagram, when the datagram all exports the data path, adjudicates the datagram transmission and finishes.
Further, the handover module is additionally operable to:After handover operation is performed, the virtual management platform is notified to cut Change completion.
A kind of DMA queue switching method that the embodiment of the present invention is provided, by setting handover module in network interface card side, and it is pre- The hot standby DMA queue for serving network migration auxiliary entity is put, by handover module according to the switching command of virtual management platform Handover operation is performed, so as to which the datagram guiding that will intend being transmitted to virtualisation entity to be migrated in the data path of network interface card is preset Hot standby DMA queue, and via hot standby DMA queue by datagram be oriented to network migration auxiliary entity.So as to even if in data flow Not by the way that under the application scenarios of virtual management platform, virtual management platform can will also be waited to move under the assistance of network interface card hardware The flow of the virtualisation entity of shifting is redirected to network migration auxiliary entity, realizes the seamless migration of virtualisation entity so that empty The thermophoresis of planization entity is more smooth over network connections, solves asking for the loss of the datagram in thermomigration process in network interface card Topic.
The DMA queue switching method of the embodiment of the present invention, is not limited, either data by virtualisation entity operating mode Stream by/not by the application scenarios of virtual management platform, can realize the seamless migration of virtualisation entity, expand applicable Range;Also, it is not necessary to which the software on virtual management platform participates in data path, and only need to participate in control, greatly save The expense of CPU;Also, occupancy hardware logic is few, and realization method is simple, and cost of implementation is low.
Description of the drawings
Fig. 1 is the structure diagram of virtual management system in the prior art;
Fig. 2 is the flow chart of the DMA queue switching method of first embodiment of the invention;
Fig. 3 is the flow chart of the DMA queue switching method of second embodiment of the invention;
Fig. 4 is that the structure for the one optional virtual management system of DMA queue switching method for realizing the embodiment of the present invention is shown It is intended to;
Fig. 5 is the module diagram of the DMA queue switching system of third embodiment of the invention.
The embodiments will be further described with reference to the accompanying drawings for the realization, the function and the advantages of the object of the present invention.
Specific embodiment
It should be appreciated that the specific embodiments described herein are merely illustrative of the present invention, it is not intended to limit the present invention.
Those skilled in the art of the present technique are appreciated that unless expressly stated, singulative " one " used herein, " one It is a ", " described " and "the" may also comprise plural form.It is to be further understood that is used in the specification of the present invention arranges Diction " comprising " refers to there are the feature, integer, step, operation, element and/or component, but it is not excluded that presence or addition Other one or more features, integer, step, operation, element, component and/or their group.It should be understood that when we claim member Part is " connected " or during " coupled " to another element, it can be directly connected or coupled to other elements or there may also be Intermediary element.In addition, " connection " used herein or " coupling " can include wireless connection or wireless coupling.It is used herein to arrange Take leave whole or any cell and all combination of the "and/or" including one or more associated list items.
Those skilled in the art of the present technique are appreciated that unless otherwise defined all terms used herein are (including technology art Language and scientific terminology), there is the meaning identical with the general understanding of the those of ordinary skill in fields of the present invention.Should also Understand, those terms such as defined in the general dictionary, it should be understood that have in the context of the prior art The consistent meaning of meaning, and unless by specific definitions as here, the meaning of idealization or too formal otherwise will not be used To explain.
Embodiment one
With reference to Fig. 2, propose the DMA queue switching method of first embodiment of the invention, the described method comprises the following steps:
S11, virtual management platform send switching command to the handover module of network interface card side.
In the embodiment of the present invention, handover module is provided in network interface card side, the position of the handover module can flexibly be set, such as The end (i.e. output terminal) of the data path of network interface card can be set on, it can also be set on the middle part of data path (i.e. data path Any position of input terminal and output terminal).It is alternatively possible to a handover module is configured in the DMA queue to be migrated for each.
When it is implemented, virtual management platform can be by way of being configured hardware register come to DMA to be migrated The corresponding handover module of queue sends switching command, for example, putting the value of register to be cut by way of " 1 " or " 0 " to send Change order.In addition it is also possible to it is cut by sending the control modes such as signal or control message to the handover module of network interface card side to send Change order.
S12, handover module perform handover operation according to switching command, will intend being transmitted in the data path of network interface card waiting to move The datagram of the virtualisation entity of shifting is oriented to the preset hot standby DMA queue for serving network migration auxiliary entity.
In the embodiment of the present invention, virtual management platform is virtualisation entity (such as virtual machine, container to be migrated in advance Deng) network migration auxiliary entity (or network migration auxiliary program) is configured with, and network interface card is configured, it is served for each and waits to move The DMA queue to be migrated of the virtualisation entity of shifting specifies hot standby DMA queue, and it is auxiliary which serves network migration Entity is helped, subsequent thermal will be transmitted to network migration auxiliary entity for the datagram in DMA queue.One DMA queue to be migrated A hot standby DMA queue can be corresponded to or at least two DMA queues to be migrated share same hot standby DMA queue.It is optional Ground, can specify hot standby DMA queue in a manner that queue number is configured on hardware register, and wherein queue number can appoint It is fixed to mean.
In this step S12, after handover module receives switching command, handover operation is performed according to switching command, by net The datagram for intending being transmitted to virtualisation entity to be migrated in the data path of card is oriented to and preset serves network migration auxiliary The hot standby DMA queue of entity.Network interface card is configured in network migration auxiliary entity, the net that should flow to virtualisation entity to be migrated originally Network flow is imported into via hot standby DMA queue is seamless in the buffer pool of oneself.
In the embodiment of the present invention, after handover module receives switching command, first determine whether currently whether there is datagram transmission To virtualisation entity;If so, using current datagram as the last one datagram for flowing to virtualisation entity to be migrated, Handover operation is just performed after the datagram whole end of transmission, changes hardware state to switching completion status;If it is not, then immediately Handover operation is performed, changes hardware state to switching completion status, wherein, switching completion status can be recorded in by handover module In hardware register.So as to prevent from being interrupted during a datagram transmission part, ensure that the integrality of data.
When it is implemented, if handover module is set on the end of the data path of network interface card, as long as current datagram is whole By handover module position, handover module then adjudicates the last one datagram transmission for flowing to virtualisation entity to be migrated It finishes, performs handover operation.
If handover module is set on the middle part of data path, when datagram is by handover module position, switch mould Block then records the label of datagram, the datagram is tracked by DMA queue to be migrated according to label, when the datagram is all defeated When going out data path, the last one datagram transmission that judgement flows to virtualisation entity to be migrated finishes.The datagram Label can be a property control position of datagram or be additional to the characteristic report of the datagram, this feature number It is the internal characteristic report for generating and using according to report.
Certainly, handover module can also directly perform handover operation after switching command is received without any judgement.
Further, after handover operation has been performed, handover module then complete in time by the switching of notice virtual management platform. Optionally, interrupt mode may be used in handover module or the mode of transmission message notifies virtual management platform.
S13, after the completion of switching, virtual management platform to virtualisation entity to be migrated delay machine operation.
Virtual management platform can be understood by way of the message that interrupt event or poll handover module are sent Switch completion event.In addition, virtual management platform can also understand switching completion event, example by the state of datagram Such as, when handover module is set on the end of the data path of network interface card, once network migration auxiliary entity receives first data It gives the correct time, virtual management platform then assert that switching is completed.
After the completion of the handover module for learning network interface card side switches, virtual management platform is just to virtualisation entity to be migrated Machine operation of delaying is carried out, temporarily turns off virtualisation entity to be migrated, and carry out internal memory migration.Virtual management platform is to virtualization The machine operation of delaying of entity is same as the prior art, of the invention that this is repeated no more.
The DMA queue switching method of the embodiment of the present invention, by setting handover module, and preset service is in net in network interface card side Network migrates the hot standby DMA queue of auxiliary entity, and switching behaviour is performed according to the switching command of virtual management platform by handover module Make, so as to which the datagram for intending being transmitted to virtualisation entity to be migrated in the data path of network interface card is oriented to preset hot standby DMA Queue, and datagram is oriented to network migration auxiliary entity via hot standby DMA queue.So as to even if not passing through void in data flow Under the application scenarios of planization management platform, virtual management platform also can be under the assistance of network interface card hardware, will be to be migrated virtual The flow for changing entity is redirected to network migration auxiliary entity, realizes the seamless migration of virtualisation entity so that virtualisation entity Thermophoresis it is more smooth over network connections, solve the problems, such as that the datagram in thermomigration process in network interface card is lost.
The DMA queue switching method of the embodiment of the present invention, is not limited, either data by virtualisation entity operating mode Stream by/not by the application scenarios of virtual management platform, can realize the seamless migration of virtualisation entity, expand applicable Range;Also, it is not necessary to which the software on virtual management platform participates in data path, and only need to participate in control, greatly save The expense of CPU;Also, occupancy hardware logic is few, and realization method is simple, and cost of implementation is low.
Embodiment two
With reference to Fig. 3, Fig. 4, the DMA queue switching method of second embodiment of the invention is proposed, the method includes following steps Suddenly:
S21, virtual management platform are each to serve the DMA queue to be migrated of virtualisation entity to be migrated to specify One hot standby DMA queue.
As shown in figure 4, virtualisation entity 1 is virtualisation entity to be migrated, the DMA teams of the virtualisation entity 1 are served Row 1 are DMA queue to be migrated, connect the high-speed physical interface of external lan, virtual hard exchange, flow classifier, DMA queue 1 and virtual functions 1 form the data path of network interface card, handover module 10 is set on the end of the data path of network interface card, i.e. virtual functions 1 End.Virtual management platform specifies a hot standby DMA queue for DMA queue 1, which serves virtualization The preset network migration auxiliary entity of management platform.
In certain embodiments, handover module 10 can also be set on the middle part of data path, such as be set on flow point shown in Fig. 4 The position of class device.
S22, virtual management platform send switching command for the corresponding handover module of each DMA queue to be migrated and wait It treats.
S23, handover module receive switching command, handover operation are performed according to switching command, by the data path of network interface card It is middle to intend being transmitted to the hot standby DMA queue that the datagram guiding of virtualisation entity to be migrated is specified.
As shown in figure 4, when flowing to the last one datagram of virtualisation entity 1 all by 10 position of handover module When, all datagrams before illustrating switching command have all been sent to virtualisation entity 1 to be migrated, and handover module 10 is just held at this time Row handover operation, hardware become to switch completion status, and switching completion status can be recorded in hardware register.When hardware is completed After switching completion status, the stream of datagrams in DMA queue 1 is to hot standby DMA queue, then flows to network via hot standby DMA queue and move Move auxiliary entity.
After the completion of S24, switching, handover module notice virtual management platform.It can be by interrupting or sending the side of message Formula is notified.
After S25, virtual management platform receive the notice that switching is completed, start to virtualisation entity progress to be migrated Machine of delaying operates.
As shown in figure 4, virtual management platform temporarily turns off virtualisation entity 1, and carry out internal memory migration.
Using the DMA queue switching method of the embodiment of the present invention, do not limited by virtualisation entity operating mode, either Data flow by/not by the application scenarios of virtual management platform, can realize the seamless migration of virtualisation entity, expand The scope of application;Also, it is not necessary to which the software on virtual management platform participates in data path, and only need to participate in control, significantly Save the expense of CPU;Also, occupancy hardware logic is few, and realization method is simple, and cost of implementation is low.
Embodiment three
With reference to Fig. 5, the DMA queue switching system of third embodiment of the invention is proposed, the system comprises virtual managements Platform and the handover module of network interface card side, the position of the handover module can flexibly be set, and can such as be set on the data path of network interface card End (i.e. output terminal), can also be set on data path middle part (the i.e. arbitrary position of the input terminal of data path and output terminal It puts).It is alternatively possible to a handover module is configured in the DMA queue (such as DMA queue) to be migrated for each.Wherein:
Virtual management platform:For to handover module send switching command, after the completion of switching, to virtualisation entity into Machine of delaying of going operates.
When it is implemented, virtual management platform can be by way of being configured hardware register come to DMA to be migrated The corresponding handover module of queue sends switching command, for example, putting the value of register to be cut by way of " 1 " or " 0 " to send Change order.In addition, virtual management platform can also be by sending control signal or control message to the handover module of network interface card side Etc. modes send switching command.
Virtual management platform can be understood by way of the message that interrupt event or poll handover module are sent Switch completion event.In addition, virtual management platform can also understand switching completion event, example by the state of datagram Such as, when handover module is set on the end of the data path of network interface card, once network migration auxiliary entity receives first data It gives the correct time, virtual management platform then assert that switching is completed.
After the completion of the handover module for learning network interface card side switches, virtual management platform is just to virtualisation entity to be migrated Machine operation of delaying is carried out, temporarily turns off virtualisation entity to be migrated, and carry out internal memory migration.Virtual management platform is to virtualization The machine operation of delaying of entity is same as the prior art, of the invention that this is repeated no more.
Handover module:For performing handover operation according to switching command, will intend being transmitted in the data path of network interface card treating The datagram of the virtualisation entity of migration is oriented to the preset hot standby DMA queue for serving network migration auxiliary entity.Network moves Move auxiliary entity configuration network interface card, should flow to originally the network flow of virtualisation entity to be migrated via hot standby DMA queue without Seam is imported into the buffer pool of oneself.
In the embodiment of the present invention, virtual management platform is virtualisation entity (such as virtual machine, container to be migrated in advance Deng) network migration auxiliary entity (or network migration auxiliary program) is configured with, and network interface card is configured, it is served for each and waits to move The DMA queue to be migrated of the virtualisation entity of shifting specifies hot standby DMA queue, and it is auxiliary which serves network migration Entity is helped, subsequent thermal will be transmitted to network migration auxiliary entity for the datagram in DMA queue.One DMA queue to be migrated A hot standby DMA queue can be corresponded to or at least two DMA queues to be migrated share same hot standby DMA queue.It is optional Ground, can specify hot standby DMA queue in a manner that queue number is configured on hardware register, and wherein queue number can appoint It is fixed to mean.
In the embodiment of the present invention, after handover module receives switching command, first determine whether currently whether there is datagram transmission To virtualisation entity;If so, using current datagram as the last one datagram for flowing to virtualisation entity to be migrated, Handover operation is just performed after the datagram whole end of transmission, changes hardware state to switching completion status;If it is not, then immediately Handover operation is performed, changes hardware state to switching completion status, wherein, switching completion status can be recorded in by handover module In hardware register.So as to prevent from being interrupted during a datagram transmission part, ensure that the integrality of data.
When it is implemented, if handover module is set on the end of the data path of network interface card, as long as current datagram is whole By handover module position, handover module then adjudicates the last one datagram transmission for flowing to virtualisation entity to be migrated It finishes, performs handover operation.
If handover module is set on the middle part of data path, when datagram is by handover module position, switch mould Block then records the label of datagram, the datagram is tracked by DMA queue to be migrated according to label, when the datagram is all defeated When going out data path, the last one datagram transmission that judgement flows to virtualisation entity to be migrated finishes.The datagram Label can be a property control position of datagram or be additional to the characteristic report of the datagram, this feature number It is the internal characteristic report for generating and using according to report.
Certainly, handover module can also directly perform handover operation after switching command is received without any judgement.
Further, after handover operation has been performed, handover module then complete in time by the switching of notice virtual management platform. Optionally, interrupt mode may be used in handover module or the mode of transmission message notifies virtual management platform.
The DMA queue switching system of the embodiment of the present invention, by setting handover module, and preset service is in net in network interface card side Network migrates the hot standby DMA queue of auxiliary entity, and switching behaviour is performed according to the switching command of virtual management platform by handover module Make, so as to which the datagram for intending being transmitted to virtualisation entity to be migrated in the data path of network interface card is oriented to preset hot standby DMA Queue, and datagram is oriented to network migration auxiliary entity via hot standby DMA queue.So as to even if not passing through void in data flow Under the application scenarios of planization management platform, virtual management platform also can be under the assistance of network interface card hardware, will be to be migrated virtual The flow for changing entity is redirected to network migration auxiliary entity, realizes the seamless migration of virtualisation entity so that virtualisation entity Thermophoresis it is more smooth over network connections, solve the problems, such as that the datagram in thermomigration process in network interface card is lost.
The DMA queue switching system of the embodiment of the present invention, is not limited, either data by virtualisation entity operating mode Stream by/not by the application scenarios of virtual management platform, can realize the seamless migration of virtualisation entity, expand applicable Range;Also, it is not necessary to which the software on virtual management platform participates in data path, and only need to participate in control, greatly save The expense of CPU;Also, occupancy hardware logic is few, and realization method is simple, and cost of implementation is low.
It will be understood by those skilled in the art that the present invention includes being related to performing one in operation described herein Or multinomial equipment.These equipment can specially be designed and be manufactured or can also include general-purpose computations for required purpose Known device in machine.These equipment have the computer program being stored in it, these computer programs selectively activate Or reconstruct.Such computer program, which can be stored in equipment (for example, computer) readable medium or be stored in, to be suitable for Storage e-command is simultaneously coupled in any kind of medium of bus respectively, and the computer-readable medium includes but not limited to Any kind of disk (including floppy disk, hard disk, CD, CD-ROM and magneto-optic disk), ROM (Read-Only Memory, it is read-only to deposit Reservoir), RAM (Random Access Memory, random access memory), EPROM (Erasable Programmable Read- Only Memory, Erarable Programmable Read only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory, Electrically Erasable Programmable Read-Only Memory), flash memory, magnetic card or light card.It is it is, readable Medium includes any medium by equipment (for example, computer) storage or transmission information in the form of it can read.
Those skilled in the art of the present technique be appreciated that can with computer program instructions come realize these structure charts and/or The combination of each frame and these structure charts and/or the frame in block diagram and/or flow graph in block diagram and/or flow graph.This technology is led Field technique personnel be appreciated that these computer program instructions can be supplied to all-purpose computer, special purpose computer or other The processor of programmable data processing method is realized, so as to pass through the processing of computer or other programmable data processing methods Device performs the scheme specified in the frame of structure chart and/or block diagram and/or flow graph disclosed by the invention or multiple frames.
Those skilled in the art of the present technique are appreciated that in the various operations crossed by discussion in the present invention, method, flow Steps, measures, and schemes can be replaced, changed, combined or be deleted.Further, it is each with having been crossed by discussion in the present invention Other steps, measures, and schemes in kind operation, method, flow may also be alternated, changed, rearranged, decomposed, combined or deleted. Further, it is of the prior art have with disclosed in the present invention various operations, method, the step in flow, measure, scheme It may also be alternated, changed, rearranged, decomposed, combined or deleted.
The foregoing is merely the preferred embodiment of the present invention, are not intended to limit the scope of the invention, every utilization The equivalent structure or equivalent flow shift that description of the invention and accompanying drawing content are made directly or indirectly is used in other correlations Technical field, be included within the scope of the present invention.

Claims (4)

1. a kind of DMA queue switching method, which is characterized in that include the following steps:
Virtual management platform sends switching command to the handover module of network interface card side;
Inside network interface card, the handover module is set on the middle part of data path, and the handover module receives the switching command Afterwards, it is judged whether or not datagram transmission is to virtualisation entity, is cut if so, just being performed after treating the datagram transmission Change operation;If it is not, then it is immediately performed handover operation;It is described to cut when the datagram is by the handover module position Mold changing block records the label of the datagram;The datagram is tracked according to the label, when the datagram all exports institute When stating data path, the handover module is then adjudicated the datagram transmission and is finished;
The handover module performs handover operation according to the switching command, will intend being transmitted in the data path of the network interface card The datagram of virtualisation entity to be migrated is oriented to the preset hot standby direct memory access for serving network migration auxiliary entity DMA queue;
Datagram is oriented to network migration auxiliary entity by the hot standby direct memory access DMA queue;
After the completion of switching, the virtual management platform carries out machine operation of delaying to the virtualisation entity.
2. DMA queue switching method according to claim 1, which is characterized in that the handover module is according to the switching Order further includes after performing the step of handover operation:
The handover module notifies the virtual management platform switching to complete.
3. a kind of DMA queue switching system, which is characterized in that the handover module including virtual management platform and network interface card side, In:
The virtual management platform, for sending switching command to the handover module;
For the handover module inside network interface card, the handover module is set on the middle part of data path, and the handover module is used to connect After receiving the switching command, it is judged whether or not datagram transmission is to virtualisation entity;If so, treat that the datagram passes Handover operation is just performed after defeated;If it is not, then it is immediately performed handover operation;
The handover module is used for when the datagram is by the handover module position, records the mark of the datagram Note;The datagram is tracked according to the label, when the datagram all exports the data path, adjudicates the data Report end of transmission;
The handover module is additionally operable to perform handover operation according to the switching command, will intend in the data path of the network interface card Be transmitted to virtualisation entity to be migrated datagram be oriented to it is preset serve network migration auxiliary entity it is hot standby directly in Deposit access DMA queue;
The hot standby direct memory access DMA queue, for datagram to be oriented to network migration auxiliary entity;
The virtual management platform is additionally operable to:After the completion of switching, machine operation of delaying is carried out to the virtualisation entity.
4. DMA queue switching system according to claim 3, which is characterized in that the handover module is additionally operable to:Work as execution After handover operation, the virtual management platform switching is notified to complete.
CN201610733741.XA 2016-08-25 2016-08-25 Dma queue switching method and system Active CN107025127B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610733741.XA CN107025127B (en) 2016-08-25 2016-08-25 Dma queue switching method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610733741.XA CN107025127B (en) 2016-08-25 2016-08-25 Dma queue switching method and system

Publications (2)

Publication Number Publication Date
CN107025127A CN107025127A (en) 2017-08-08
CN107025127B true CN107025127B (en) 2018-07-06

Family

ID=59524080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610733741.XA Active CN107025127B (en) 2016-08-25 2016-08-25 Dma queue switching method and system

Country Status (1)

Country Link
CN (1) CN107025127B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118458A (en) * 2011-03-10 2011-07-06 浪潮(北京)电子信息产业有限公司 Method and system for live migration of virtual machine
CN103201721A (en) * 2012-08-29 2013-07-10 华为技术有限公司 Virtual machine thermal migration system and method
US9229755B2 (en) * 2012-11-30 2016-01-05 International Business Machines Corporation User datagram protocol (UDP) packet migration in a virtual machine (VM) migration
CN105528234A (en) * 2014-10-24 2016-04-27 中兴通讯股份有限公司 Virtual machine migration processing method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118458A (en) * 2011-03-10 2011-07-06 浪潮(北京)电子信息产业有限公司 Method and system for live migration of virtual machine
CN103201721A (en) * 2012-08-29 2013-07-10 华为技术有限公司 Virtual machine thermal migration system and method
US9229755B2 (en) * 2012-11-30 2016-01-05 International Business Machines Corporation User datagram protocol (UDP) packet migration in a virtual machine (VM) migration
CN105528234A (en) * 2014-10-24 2016-04-27 中兴通讯股份有限公司 Virtual machine migration processing method and device

Also Published As

Publication number Publication date
CN107025127A (en) 2017-08-08

Similar Documents

Publication Publication Date Title
US10506434B2 (en) System for accelerated network route update through exclusive access to routing tables
US9829962B2 (en) Hardware and software enabled implementation of power profile management instructions in system on chip
US8868941B2 (en) Apparatus and methods for an interconnect power manager
CN109739618B (en) Virtual machine migration method and device
EP3966685A1 (en) Multi-tenant optimized serverless placement using smart network interface cards and commodity storage
CN103620578B (en) Local cloud computing via network segmentation
CN106250228B (en) The method and device that virtual machine entity thermophoresis network smoothly switches
US9596136B2 (en) Software migration method and apparatus in micro-server environment
KR102165864B1 (en) Methods and apparatuses for packet scheduling for software defined networking in edge computing environment
CN104410681A (en) Dynamic migration and optimization method of virtual machines based on remote direct memory access
CN105589744A (en) Virtual machine migration method and apparatus
US20200042321A1 (en) Low power back-to-back wake up and issue for paired issue queue in a microprocessor
CN114328350B (en) AXI bus-based communication method, device and medium
CN107025127B (en) Dma queue switching method and system
CN109947531B (en) Storage capacity expansion method and device of super-fusion all-in-one machine and storage medium
JPH1185668A (en) Bus controller
US10042554B2 (en) Increased bandwidth of ordered stores in a non-uniform memory subsystem
CN107205013B (en) Combination of control interfaces for multiple communication domains
CN110519390A (en) A kind of low-power consumption bluetooth controller link layer implementation method
US9553819B2 (en) Systems and methods for timing adjustment of metadata paths in a network switch under timing constraints
JP2007293761A (en) Arrangement program, method and device for agent
US9336172B2 (en) Parallel computer system, data transfer device, and method for controlling parallel computer system for performing arbitration
CN112965925B (en) Communication method, communication device, master equipment and slave equipment
US11899645B1 (en) Two phase move of database tables
WO2024007546A1 (en) Service control method for cloud resource pool, and controller and service system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant