IP Library Granted Patent US 11,436,104
Granted Patent B2
US 11,436,104 · App. 17/084,307 · Granted Sep 6, 2022

Decreasing data restoration times using advanced configuration and power interface (ACPI)

Inventors: Parmeshwr Prasad (Bangalore, IN); Rahul Vishwakarma (Bangalore, IN); Bing Liu (Tianjin, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1469G06F11/1453G06F11/1464G06F2201/84
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,436,104
App. No.
17/084,307
Granted
Sep 6, 2022
Kind
B2
Abstract

A set of restore jobs are created to restore a backup. The backup may be maintained across a set of storage devices connected to a backup server. The set of storage devices have different levels of performance and each restore job is responsible for restoring from a respective storage device. Information describing arrangements of processors and memory units is reviewed to create a set of heterogeneous domains, each domain including a processor and memory unit. Performance characteristics, including latency and bandwidth measurements, of the heterogeneous domains are examined. The heterogeneous domains are ranked based on their performance characteristics. The restore jobs are assigned to the heterogeneous domains by successively matching a restore job associated with a storage device having a lowest level of performance relative to other unmatched storage devices with a heterogeneous domain having a highest level of performance relative to other unmatched heterogeneous domains.

Claims (51)

1. A method comprising:

creating a plurality of restore jobs to restore a backup, the backup being maintained across a plurality of storage devices coupled to a backup server, the plurality of storage devices having different levels of performance, and each restore job being responsible for restoring from a respective storage device;

reviewing information describing arrangements of processors and memory units available at the backup server to create a plurality of heterogeneous domains, each heterogeneous domain comprising a processor and memory unit;

examining performance characteristics of the plurality of heterogeneous domains, the performance characteristics comprising latency and bandwidth measurements associated with each heterogeneous domain;

ranking the plurality of heterogeneous domains based on the performance characteristics; and

assigning the plurality of restore jobs to the plurality of heterogeneous domains by successively matching a restore job associated with a storage device having a lowest level of performance relative to other unmatched storage devices with a heterogeneous domain having a highest level of performance relative to other unmatched heterogeneous domains, wherein the examining performance characteristics of the plurality of heterogeneous domains comprises:

reading a Heterogeneous Memory Attribute Table (HMAT) as provided according to an Advanced Configuration and Power Interface (ACPI) specification to obtain values for a plurality of latency parameters and values for a plurality of bandwidth parameters for each heterogeneous domain,

the values for the plurality of latency parameters comprising a data access value, a data read value, and a data write value,

the values for the plurality of bandwidth parameters comprising an access bandwidth value, a read bandwidth value, and a write bandwidth value;

aggregating, for each heterogeneous domain, the values for the plurality of latency parameters to obtain a combined latency value that is to represent latency for a respective heterogeneous domain; and

aggregating, for each heterogeneous domain, the values for the plurality of bandwidth parameters to obtain a combined bandwidth value that is to represent bandwidth for the respective heterogeneous domain.

2. The method of claim 1 wherein a storage technology of a storage device is different from a storage technology of another storage device.

3. The method of claim 1 further comprising:

periodically reexamining the performance characteristics of the plurality of heterogeneous domains; and

based on the reexamination, switching a particular restore job assigned to a first heterogeneous domain to a second heterogeneous domain, different from the first heterogeneous domain.

4. The method of claim 1 wherein the reviewing information describing arrangements of processors and memory units available at the backup server comprises:

parsing a memory affinity structure of the backup server by reading a Static Resource Affinity Table (SRAT) as provided according to the ACPI specification.

5. A system comprising: a processor; and memory configured to store one or more sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of:

creating a plurality of restore jobs to restore a backup, the backup being maintained across a plurality of storage devices coupled to a backup server, the plurality of storage devices having different levels of performance, and each restore job being responsible for restoring from a respective storage device;

reviewing information describing arrangements of processors and memory units available at the backup server to create a plurality of heterogeneous domains, each heterogeneous domain comprising a processor and memory unit;

examining performance characteristics of the plurality of heterogeneous domains, the performance characteristics comprising latency and bandwidth measurements associated with each heterogeneous domain;

ranking the plurality of heterogeneous domains based on the performance characteristics; and

assigning the plurality of restore jobs to the plurality of heterogeneous domains by successively matching a restore job associated with a storage device having a lowest level of performance relative to other unmatched storage devices with a heterogeneous domain having a highest level of performance relative to other unmatched heterogeneous domains, wherein the examining performance characteristics of the plurality of heterogeneous domains comprises:

reading a Heterogeneous Memory Attribute Table (HMAT) as provided according to an Advanced Configuration and Power Interface (ACPI) specification to obtain values for a plurality of latency parameters and values for a plurality of bandwidth parameters for each heterogeneous domain,

the values for the plurality of latency parameters comprising a data access value, a data read value, and a data write value,

the values for the plurality of bandwidth parameters comprising an access bandwidth value, a read bandwidth value, and a write bandwidth value;

aggregating, for each heterogeneous domain, the values for the plurality of latency parameters to obtain a combined latency value that is to represent latency for a respective heterogeneous domain; and

aggregating, for each heterogeneous domain, the values for the plurality of bandwidth parameters to obtain a combined bandwidth value that is to represent bandwidth for the respective heterogeneous domain.

6. The system of claim 5 wherein a storage technology of a storage device is different from a storage technology of another storage device.

7. The system of claim 5 wherein the processor further carries out the steps of:

periodically reexamining the performance characteristics of the plurality of heterogeneous domains; and

based on the reexamination, switching a particular restore job assigned to a first heterogeneous domain to a second heterogeneous domain, different from the first heterogeneous domain.

8. The system of claim 5 wherein the reviewing information describing arrangements of processors and memory units available at the backup server comprises:

parsing a memory affinity structure of the backup server by reading a Static Resource Affinity Table (SRAT) as provided according to the ACPI specification.

9. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein, the computer-readable program code adapted to be executed by one or more processors to implement a method comprising:

creating a plurality of restore jobs to restore a backup, the backup being maintained across a plurality of storage devices coupled to a backup server, the plurality of storage devices having different levels of performance, and each restore job being responsible for restoring from a respective storage device;

reviewing information describing arrangements of processors and memory units available at the backup server to create a plurality of heterogeneous domains, each heterogeneous domain comprising a processor and memory unit;

examining performance characteristics of the plurality of heterogeneous domains, the performance characteristics comprising latency and bandwidth measurements associated with each heterogeneous domain;

ranking the plurality of heterogeneous domains based on the performance characteristics; and

assigning the plurality of restore jobs to the plurality of heterogeneous domains by successively matching a restore job associated with a storage device having a lowest level of performance relative to other unmatched storage devices with a heterogeneous domain having a highest level of performance relative to other unmatched heterogeneous domains, wherein the examining performance characteristics of the plurality of heterogeneous domains comprises:

reading a Heterogeneous Memory Attribute Table (HMAT) as provided according to an Advanced Configuration and Power Interface (ACPI) specification to obtain values for a plurality of latency parameters and values for a plurality of bandwidth parameters for each heterogeneous domain,

the values for the plurality of latency parameters comprising a data access value, a data read value, and a data write value,

the values for the plurality of bandwidth parameters comprising an access bandwidth value, a read bandwidth value, and a write bandwidth value;

aggregating, for each heterogeneous domain, the values for the plurality of latency parameters to obtain a combined latency value that is to represent latency for a respective heterogeneous domain; and

aggregating, for each heterogeneous domain, the values for the plurality of bandwidth parameters to obtain a combined bandwidth value that is to represent bandwidth for the respective heterogeneous domain.

10. The computer program product of claim 9 wherein a storage technology of a storage device is different from a storage technology of another storage device.

11. The computer program product of claim 9 wherein the method further comprises:

periodically reexamining the performance characteristics of the plurality of heterogeneous domains; and

based on the reexamination, switching a particular restore job assigned to a first heterogeneous domain to a second heterogeneous domain, different from the first heterogeneous domain.

12. The computer program product of claim 9 wherein the reviewing information describing arrangements of processors and memory units available at the backup server comprises:

parsing a memory affinity structure of the backup server by reading a Static Resource Affinity Table (SRAT) as provided according to the ACPI specification.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2020
From: PRASAD, PARMESHWR; VISHWAKARMA, RAHUL; LIU, BING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054216/0021 →