IP Library › Granted Patent US 11,132,216
Granted Patent B2
US 11,132,216 · App. 16/703,426 · Granted Sep 28, 2021

System and method for providing an InfiniBand SR-IOV vSwitch architecture for a high performance cloud computing environment

Inventors: Bjørn Dag Johnsen (Oslo, NO); Evangelos Tasoulas (Oslo, NO); Ernst Gunnar Gran (Oslo, NO)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F9/45558G06F9/45533G06F9/48G06F9/485G06F9/4843G06F9/4856G06F9/50G06F9/5077G06F9/5083G06F9/5088H04L49/70G06F2009/4557G06F2009/45575G06F2009/45595
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 11,132,216
App. No.
16/703,426
Granted
Sep 28, 2021
Kind
B2
Abstract

Systems and methods are provided for implementing a Virtual Switch (vSwitch) architecture that supports transparent virtualization and live migration. In an embodiment, a vSwitch with prepopulated Local Identifiers (LIDs). Another embodiment provides for vSwitch with dynamic LID assignment. Another embodiment provides for vSwitch with prepopulated LIDS and dynamic LID assignment. Moreover, embodiments of the present invention provide scalable dynamic network reconfiguration methods which enable live migrations of VMs in network environments.

Claims (52)

1. A system for supporting virtual machine live migration in a subnet, comprising:

one or more microprocessors;

a plurality of switches, wherein each of the plurality of switches comprises a plurality of ports and a linear forwarding table (LFT);

a plurality of host channel adapters, each comprising a virtual function, a virtual switch, and a physical function, wherein each virtual function is assigned a local identifier (LID) of a plurality of LIDs;

a plurality of hypervisors, each hypervisor being associated with at least one host channel adapter of the plurality of host channel adapters; and

a virtual machine, the virtual machine being associated with a first virtual function of a first host channel adapter;

wherein the virtual machine is addressed within the subnet via a first LID assigned to the first virtual function;

wherein the virtual machine operates to perform a live migration to a second virtual function of a second host channel adapter, the second virtual function being assigned a second LID;

wherein upon the virtual machine performing the live migration, the first virtual function is assigned the second LID, and the second virtual function is assigned the first LID.

2. The system of claim 1 ,

wherein upon the first virtual machine performing the live migration, a first linear forwarding table of a switch of the plurality of switches is updated.

3. The system of claim 2 ,

wherein the update comprises a swapping of at least two entries within the linear forwarding table, a first entry of the at least two entries being associated with the first LID, and a second entry of the at least two entries being associated with the second LID.

4. The system of claim 1 , wherein each of the plurality of hypervisors is configured to access an associated host channel adapter through the physical function.

5. The system of claim 1 , wherein each of the plurality of virtual functions operates as a virtual Host Channel Adapter (vHCA).

6. The system of claim 5 , wherein prior to the migration of the virtual machine, a first hypervisor of the plurality of hypervisors assigns the virtual machine to the first virtual function.

7. The system of claim 5 , wherein after the migration of the virtual machine, a second hypervisor of the plurality of hypervisors assigns the virtual machine to the second virtual function.

8. A method for supporting virtual machine live migration in a subnet, comprising:

providing, at a computer including one or more microprocessors;

a plurality of switches, wherein each of the plurality of switches comprises a plurality of ports and a linear forwarding table (LFT);

a plurality of host channel adapters, each comprising a virtual function, a virtual switch, and a physical function, wherein each virtual function is assigned a local identifier (LID) of a plurality of LIDs;

a plurality of hypervisors, each hypervisor being associated with at least one host channel adapter of the plurality of host channel adapters; and

a virtual machine, the virtual machine being associated with a first virtual function of a first host channel adapter;

addressing the virtual machine within the subnet via a first LID assigned to the first virtual function;

live migrating the virtual machine to a second virtual function of a second host channel adapter, the second virtual function being assigned a second LID;

upon the virtual machine performing the live migration, assigning the first virtual function the second LID; and

assigning the second virtual function the first LID.

9. The method of claim 8 ,

wherein upon the first virtual machine performing the live migration, a first linear forwarding table of a switch of the plurality of switches is updated.

10. The method of claim 9 ,

wherein the update comprises a swapping of at least two entries within the linear forwarding table, a first entry of the at least two entries being associated with the first LID, and a second entry of the at least two entries being associated with the second LID.

11. The method of claim 8 , wherein each of the plurality of hypervisors is configured to access an associated host channel adapter through the physical function.

12. The method of claim 8 , wherein each of the plurality of virtual functions operates as a virtual Host Channel Adapter (vHCA).

13. The method of claim 12 , wherein prior to the migration of the virtual machine, a first hypervisor of the plurality of hypervisors assigns the virtual machine to the first virtual function.

14. The method of claim 12 , wherein after the migration of the virtual machine, a second hypervisor of the plurality of hypervisors assigns the virtual machine to the second virtual function.

15. A non-transitory computer readable storage medium having instructions thereon for supporting virtual machine live migration in a subnet, which when read and executed by a computer cause the computer to perform steps comprising:

providing, at a computer including one or more microprocessors;

a plurality of switches, wherein each of the plurality of switches comprises a plurality of ports and a linear forwarding table (LFT);

a plurality of host channel adapters, each comprising a virtual function, a virtual switch, and a physical function, wherein each virtual function is assigned a local identifier (LID) of a plurality of LIDs;

a plurality of hypervisors, each hypervisor being associated with at least one host channel adapter of the plurality of host channel adapters; and

a virtual machine, the virtual machine being associated with a first virtual function of a first host channel adapter;

addressing the virtual machine within the subnet via a first LID assigned to the first virtual function;

live migrating the virtual machine to a second virtual function of a second host channel adapter, the second virtual function being assigned a second LID;

upon the virtual machine performing the live migration, assigning the first virtual function the second LID; and

assigning the second virtual function the first LID.

16. The non-transitory computer readable storage medium of claim 15 ,

wherein upon the first virtual machine performing the live migration, a first linear forwarding table of a switch of the plurality of switches is updated.

17. The non-transitory computer readable storage medium of claim 16 ,

wherein the update comprises a swapping of at least two entries within the linear forwarding table, a first entry of the at least two entries being associated with the first LID, and a second entry of the at least two entries being associated with the second LID.

18. The non-transitory computer readable storage medium of claim 15 , wherein each of the plurality of hypervisors is configured to access an associated host channel adapter through the physical function.

19. The non-transitory computer readable storage medium of claim 15 , wherein each of the plurality of virtual functions operates as a virtual Host Channel Adapter (vHCA).

20. The non-transitory computer readable storage medium of claim 19 , wherein prior to the migration of the virtual machine, a first hypervisor of the plurality of hypervisors assigns the virtual machine to the first virtual function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2019
From: JOHNSEN, BJORN DAG; TASOULAS, EVANGELOS; GRAN, ERNST GUNNAR
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 051221/0579 →
Continuity (5)
Continuation 15993266 · May 30, 2018
Continuation 15050901 · Feb 23, 2016
Provisional Application 62129273 · Mar 6, 2015
Provisional Application 62161078 · May 13, 2015
Related Publication 20200110630A1 · Apr 9, 2020