IP Library Granted Patent US 10,659,340
Granted Patent B2
US 10,659,340 · App. 15/656,955 · Granted May 19, 2020

System and method for supporting VM migration between subnets in a high performance computing environment

Inventors: Bjørn Dag Johnsen (Oslo, NO); Arvind Srinivasan (San Jose, CA); Bartosz Bogdanski (Oslo, NO)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L45/02G06F9/45558H04L12/66H04L45/745H04L47/20H04L49/25H04L67/10H04L67/28H04L67/2814H04L69/22G06F2009/4557G06F2009/45595G06F2201/88H04L49/358
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,659,340
App. No.
15/656,955
Granted
May 19, 2020
Kind
B2
Abstract

System and method for supporting virtual machine migration in a high performance computing environment. In accordance with an embodiment, when a virtual machine migrates from a first subnet to a second subnet, a gateway port at the first subnet can, upon receiving packets addressed to the migrated virtual machine, consult a memory lookup table to discover the virtual machine's new addresses. The gateway port can update the packet accordingly. The memory lookup table can be addressed based on a GUID of the virtual machine.

Claims (62)

1. A method for supporting virtual machine migration in a high performance computing environment, comprising:

providing, at one or more computers, including one or more microprocessors

a network fabric, the network fabric comprising

a first subnet, the first subnet comprising a first set of network switches, the first set of network switches comprising a gateway switch, the gateway switch having access to a memory;

a second subnet, the second subnet comprising a second set of network switches;

a virtual machine attached to the first subnet via a first virtual function, the virtual machine being associated with a first plurality of addresses, the first plurality of addresses comprising at least a global unique identifier (GUID), a global identifier (GID), and a destination local identifier (DLID); and

a global fabric manager, the global fabric manager having administrative control within the first subnet and second subnet;

detaching the virtual machine from the first virtual function;

migrating the virtual machine from the first subnet to the second subnet, wherein after migration the virtual machine is associated with a second plurality of addresses, the second plurality of addresses comprising the GUID, a second GID, and a second DLID, wherein the second GID is different from the GID, and wherein the second DLID is different from the DLID;

attaching the virtual machine to the second subnet via a second virtual function;

adding a temporary entry to the memory, the temporary entry comprising a set of addresses comprising the first plurality of addresses and the second plurality of addresses of virtual machine;

after migrating the virtual machine, receiving, at the gateway switch of the first subnet, a packet addressed to the virtual machine at the first plurality of addresses;

performing a lookup within the memory to find the second plurality of addresses of the virtual machine; and

updating a header of the received packet with the second plurality of addresses of the virtual machine.

2. The method of claim 1 , wherein performing the lookup comprises:

looking up the second plurality of addresses based upon the GUID of the migrated virtual machine.

3. The method of claim 2 , wherein the GUID of the virtual machine remains unchanged throughout the migration.

4. The method of claim 3 , wherein the memory comprises a ternary content-addressable memory (TCAM).

5. The method of claim 1 , further comprising:

removing the temporary entry from the memory after a period of time.

6. The method of claim 5 , wherein the period of time is determined based upon a length of time to update the network fabric with the second plurality of addresses.

7. A system for supporting virtual machine migration in a high performance computing environment, the system comprising:

a computer environment comprising:

a network fabric, the network fabric comprising

a first subnet, the first subnet comprising a first set of network switches, the first set of network switches comprising a gateway switch, the gateway switch having access to a memory;

a second subnet, the second subnet comprising a second set of network switches;

a virtual machine attached to the first subnet via a first virtual function, the virtual machine being associated with a first plurality of addresses, the first plurality of addresses comprising at least a global unique identifier (GUID), a global identifier (GID), and a destination local identifier (DLID); and

a global fabric manager, the global fabric manager having administrative control within the first subnet and second subnet;

wherein the virtual machine is configured to detach from the first virtual function;

wherein the virtual machine is migrated from the first subnet to the second subnet, wherein after migration the virtual machine is associated with a second plurality of addresses, the second plurality of addresses comprising the GUID, a second GID, and a second DLID, wherein the second GID is different from the GID, and wherein the second DLID is different from the DLID;

wherein the virtual machine is attached to the second subnet via a second virtual function;

wherein, upon the migration, a temporary entry to the memory is added, the temporary entry comprising a set of addresses comprising the first plurality of addresses and the second plurality of addresses of virtual machine;

wherein upon migrating the virtual machine, the gateway switch of the first subnet receives a packet addressed to the virtual machine at the first plurality of addresses;

wherein upon receiving the packet, the gateway switch performs a lookup within the memory to find the second plurality of addresses of the virtual machine; and

wherein a header of the received packet is updated with the second plurality of addresses of the virtual machine.

8. The system of claim 7 , wherein performing the lookup comprises:

looking up the second plurality of addresses based upon the GUID of the migrated virtual machine.

9. The system of claim 8 , wherein the GUID of the virtual machine remains unchanged throughout the migration.

10. The system of claim 9 , wherein the memory comprises a ternary content-addressable memory (TCAM).

11. The system of claim 7 , wherein the temporary entry to the memory is removed after a period of time.

12. The system of claim 11 , wherein the period of time is determined based upon a length of time to update the network fabric with the second plurality of addresses.

13. A non-transitory machine readable medium, including instructions stored thereon for supporting virtual machine migration in a high performance computing environment, which when read and executed by one or more computers caused the one or more computers to perform steps comprising:

providing, at one or more computers, including one or more microprocessors

a network fabric, the network fabric comprising

a first subnet, the first subnet comprising a first set of network switches, the first set of network switches comprising a gateway switch, the gateway switch having access to a memory;

a second subnet, the second subnet comprising a second set of network switches;

a virtual machine attached to the first subnet via a first virtual function, the virtual machine being associated with a first plurality of addresses, the first plurality of addresses comprising at least a global unique identifier (GUID), a global identifier (GID), and a destination local identifier (DLID); and

a global fabric manager, the global fabric manager having administrative control within the first subnet and second subnet;

detaching the virtual machine from the first virtual function;

migrating the virtual machine from the first subnet to the second subnet, wherein after migration the virtual machine is associated with a second plurality of addresses, the second plurality of addresses comprising the GUID, a second GID, and a second DLID, wherein the second GID is different from the GID, and wherein the second DLID is different from the DLID;

attaching the virtual machine to the second subnet via a second virtual function;

adding a temporary entry to the memory, the temporary entry comprising a set of addresses comprising the first plurality of addresses and the second plurality of addresses of virtual machine;

after migrating the virtual machine, receiving, at the gateway switch of the first subnet, a packet addressed to the virtual machine at the first plurality of addresses;

performing a lookup within the memory to find the second plurality of addresses of the virtual machine; and

updating a header of the received packet with the second plurality of addresses of the virtual machine.

14. The non-transitory machine readable medium of claim 13 , wherein performing the lookup comprises:

looking up the second plurality of addresses based upon the GUID of the migrated virtual machine.

15. The non-transitory machine readable medium of claim 14 , wherein the GUID of the virtual machine remains unchanged throughout the migration.

16. The non-transitory machine readable medium of claim 15 , wherein the memory comprises a ternary content-addressable memory (TCAM).

17. The non-transitory machine readable medium of claim 13 , the steps further comprising:

removing the temporary entry from the memory after a period of time;

wherein the period of time is determined based upon a length of time to update the network fabric with the second plurality of addresses.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2017
From: JOHNSEN, BJORN DAG; SRINIVASAN, ARVIND; BOGDANSKI, BARTOSZ
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 043719/0263 →
Continuity (3)
Continuation In Part 15416642 · Jan 26, 2017
Provisional Application 62288101 · Jan 28, 2016
Related Publication 20170324645A1 · Nov 9, 2017