IP Library › Granted Patent US 8,392,633
Granted Patent B2
US 8,392,633 · App. 12/243,216 · Granted Mar 5, 2013

Scheduling requesters of a shared storage resource

Inventors: Ajay Gulati (Mountain View, CA); Mustafa Uysal (Vacaville, CA); Arif A. Merchant (Los Altos, CA)
Assignee: Hewlett-Packard Development Company, L.P.
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 8,392,633
App. No.
12/243,216
Granted
Mar 5, 2013
Kind
B2
Abstract

To schedule workloads of requesters of a shared storage resource, a scheduler specifies relative fairness for the requesters of the shared storage resource. In response to the workloads of the requesters, the scheduler modifies performance of the scheduler to deviate from the specified relative fairness to improve input/output (I/O) efficiency in processing the workloads at the shared storage resource.

Claims (44)

1. A method of scheduling requesters of a shared storage resource, comprising:

specifying, by a scheduler, relative fairness for the requesters of the shared storage resource, wherein the specified relative fairness relates to proportional shares of the shared storage resource allocated to the corresponding requesters; and

in response to requests of the requesters, modifying performance of the scheduler to deviate from the allocated proportional shares to improve input/output (I/O) efficiency in processing the requests at the shared storage resource;

submitting, by the scheduler, the requests of the requesters to a lower level scheduler; and

reordering, by the lower level scheduler, the submitted requests to improve I/O efficiency at the shared storage resource.

2. The method of claim 1 , wherein modifying performance of the scheduler comprises modifying at least one parameter associated with the scheduler according to workloads of the requesters.

3. The method of claim 2 , wherein modifying the at least one parameter comprises modifying batch sizes for corresponding requesters, wherein a batch size specifies a number of requests from a respective requester that is able to be scheduled consecutively.

4. The method of claim 3 , wherein modifying the batch sizes for corresponding requesters comprises increasing at least one of the batch sizes for a particular one of the requesters to greater than a proportional share assigned to the particular requester.

5. The method of claim 3 , further comprising:

assigning tokens to the requesters based on the corresponding batch sizes of the requesters; and

scheduling the requests of the requesters according to the assigned tokens.

6. The method of claim 5 , further comprising:

scheduling, by the scheduler, requests of the requesters in rounds; and

determining a particular requester to skip in at least one subsequent round based on detecting that the particular requester has been assigned a batch size greater than a number of requests derived from a proportional share of the shared storage resource assigned to the particular requester.

7. The method of claim 2 , wherein modifying the at least one parameter comprises modifying a concurrency that specifies a number of requests of a requester that can be outstanding at the shared storage resource.

8. The method of claim 7 , wherein modifying the concurrency controls a number of requests that can be outstanding in an output queue storing requests scheduled for processing at the shared storage resource.

9. The method of claim 2 , wherein modifying the at least one parameter comprises modifying a total concurrency that specifies a total number of requests that can be outstanding at the shared storage resource.

10. The method of claim 1 , wherein modifying the performance of the scheduler to deviate from the specified relative fairness to improve I/O efficiency in processing the workloads at the shared storage resource causes a relaxation of a fairness granularity for the requesters.

11. The method of claim 1 , wherein modifying performance of the scheduler comprises modifying at least one parameter associated with the scheduler using one of a static approach and an adaptive approach,

wherein modifying the at least one parameter using the static approach comprises:

measuring characteristics of synthetic workload combinations;

mapping characteristics of an actual set of workloads to characteristics of the synthetic workload combinations; and

setting a value of the at least one parameter according to the mapping,

wherein modifying the at least one parameter using the adaptive approach comprises:

measuring a resulting fairness granularity and I/O efficiency for an actual set of workloads given an initially value of the at least one parameter; and

changing the value of the at least one parameter according to the measuring.

12. A system to schedule requests of requesters for a shared storage resource, comprising:

a non-transitory computer-readable storage medium encoded with instructions to implement a scheduler and a lower lever scheduler; and

a processor to execute the instructions, wherein the instructions, when executed, cause the processor to:

receive, with the scheduler, information relating to proportional shares of the shared storage resource for corresponding requesters, wherein the proportional shares are for a fairness granularity;

relax, by the scheduler, the fairness granularity to enhance input/output (I/O) efficiency at the shared storage resource in processing the requests of the requesters, wherein relaxing the fairness granularity involves providing at least one of the requesters a greater share of the shared storage resource than the corresponding proportional share;

submit, by the scheduler, the requests of the requesters to the lower level scheduler; and

reorder, by the lower level scheduler, the submitted requests to improve I/O efficiency at the shared storage resource.

13. The system method of claim 12 , wherein the instructions, when executed, further cause the processor to:

schedule the requests of the shared storage resource in rounds; and

skip the at least one requester in a subsequent round in response to providing the at least one requester a greater share of the shared storage resource than the corresponding proportional share.

14. An article comprising at least one non-transitory computer-readable storage medium containing instructions that when executed cause a computer to:

specify, by a scheduler, relative fairness for the requesters of a shared storage resource;

in response to workloads of the requesters, modify performance of the scheduler to deviate from the specified relative fairness to improve input/output (I/O) efficiency in processing the workloads at the shared storage resource;

submit, by the scheduler, the requests of the requesters to a lower level scheduler; and

reorder, by the lower level scheduler, the submitted requests to improve I/O efficiency at the shared storage resource.

15. The method of claim 1 , wherein the allocated proportional shares are indicated by corresponding weights stored in a storage medium.

16. The system of claim 12 , wherein the information relating to the proportional shares includes corresponding weights stored in a storage medium.

17. The article of claim 14 , wherein the relative fairness relates to proportional shares of the shared storage resource allocated to the corresponding requesters, wherein modifying the performance of the scheduler deviates from the allocated proportional shares.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2009
From: GULATI, AJAY; UYSAL, MUSTAFA; MERCHANT, ARIF
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 023024/0985 →
Continuity (1)
Related Publication 20100083262A1 · Apr 1, 2010