IP Library › Granted Patent US 11,119,803
Granted Patent B2
US 11,119,803 · App. 16/400,937 · Granted Sep 14, 2021

Method and system for offloading parity processing

Inventors: Jonathan I. Krasner (Coventry, RI); Steven R. Chalmer (Redwood City, CA); Chakib Ourraoui (Watertown, MA); Sweetesh Singh (Benares, IN)
Assignee: EMC IP Holding Company LLC
G06F9/45558G06F9/44563G06F9/44594G06F9/505G06T1/20G06F11/3051G06F11/3055G06F2009/45583G06F2009/45591
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,119,803
App. No.
16/400,937
Filed
May 1, 2019
Granted
Sep 14, 2021
Kind
B2
Art Unit
2195
USPC
718/1
Abstract

A method for processing data includes monitoring, by a virtual machine (VM), a plurality of computing resources, receiving an offload request by the VM, selecting, based on the monitoring, a computing resource from the plurality of computing resources, issuing, by the VM and in response to the offload request, the processing request to the computing resource, and servicing, by the computing resource, the processing request to obtain a result, wherein the VM and the computing resource are executing on a computing device.

Claims (51)

1. A method for processing data, the method comprising:

monitoring, by a virtual machine (VM), a plurality of computing resources;

receiving an offload request by the VM, wherein the offload request is obtained from an offload component executing in a host operating system;

selecting, based on the monitoring, a computing resource from the plurality of computing resources;

issuing, by the VM and in response to the offload request, a processing request to the computing resource, wherein the processing request comprises a reference to data;

servicing, by the computing resource, the processing request,

wherein the computing resource is a graphics processing unit (GPU) and servicing the processing request comprises:

obtaining the data from shared memory using the reference to the data;

generating a result using the data, wherein the result is a parity value; and

storing the result in the shared memory;

obtaining, by the host operating system, the result from the shared memory;

combining the result with the data to obtain an updated result;

providing the updated result to an external computing device,

wherein the VM, the host operating system, and the plurality of computing resources are executing on a computing device, and

wherein the VM interacts with the computing resources of the computing device without using the host operating system.

2. The method of claim 1 , wherein the offload request is issued in response to a client request issued by a second VM executing on the host operating system.

3. The method of claim 1 , wherein monitoring comprises obtaining a hardware parameter or an operating parameter for each of the plurality of computing resources.

4. A system, comprising:

a processor;

a shared memory;

a plurality of computing resources;

memory comprising instructions, which when executed by the processor, perform a method, the method comprising:

monitoring, by a virtual machine (VM) executing on the processor, the plurality of computing resources;

receiving an offload request by the VM, wherein the offload request is obtained from an offload component executing in a host operating system;

selecting, based on the monitoring, a computing resource from the plurality of computing resources;

issuing, by the VM and in response to the offload request, a processing request to the computing resource, wherein the processing request comprises a reference to data;

servicing, by the computing resource, the processing request, wherein the computing resource is a graphics processing unit (GPU) and servicing the processing request comprises:

obtaining the data from the shared memory using the reference to the data;

generating a result using the data, wherein the result is a parity value; and

storing the result in the shared memory;

obtaining, by the host operating system, the result from the shared memory;

combining the result with the data to obtain an updated result; and

providing the updated result to an external computing device,

wherein the VM interacts with the computing resources of the computing device without using the host operating system.

5. The system of claim 4 , wherein the offload request is issued in response to a client request issued by a second VM executing on the host operating system.

6. The system of claim 4 , wherein monitoring comprises obtaining a hardware parameter or an operating parameter for each of the plurality of computing resources.

7. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method, the method comprising:

monitoring, by a virtual machine (VM), a plurality of computing resources;

receiving an offload request by the VM, wherein the offload request is obtained from an offload component executing in a host operating system;

selecting, based on the monitoring, a computing resource from the plurality of computing resources;

issuing, by the VM and in response to the offload request, a processing request to the computing resource, wherein the processing request comprises a reference to data;

servicing, by the computing resource, the processing request,

wherein the computing resource is a graphics processing unit (GPU) and servicing the processing request comprises:

obtaining the data from a shared memory using the reference to the data;

generating a result using the data, wherein the result is a parity value; and

storing the result in the shared memory;

obtaining, by the host operating system, the result from the shared memory;

combining the result with the data to obtain an updated result;

providing the updated result to an external computing device,

wherein the VM, the host operating system, and the plurality of computing resources are executing on a computing device, and

wherein the VM interacts with the computing resources of the computing device without using the host operating system.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 050405 FRAME 0534 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058001/0001 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050405/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2019
From: KRASNER, JONATHAN I.; CHALMER, STEVEN R.; OURRAOUI, CHAKIB; SINGH, SWEETESH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049068/0752 →
Continuity (1)
Related Publication 20200348958A1 · Nov 5, 2020