IP Library › Granted Patent US 11,150,951
Granted Patent B2
US 11,150,951 · App. 16/195,989 · Granted Oct 19, 2021

Releasable resource based preemptive scheduling

Inventors: Xiu Qiao Li (Beijing, CN); Zhaohui Ding (Beijing, CN); Xun Pan (Xian, CN); Rong Song Shen (Beijing, CN); Michael Spriggs (Toronto, CA)
Assignee: International Business Machines Corporation
G06F9/5027
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,150,951
App. No.
16/195,989
Granted
Oct 19, 2021
Kind
B2
Abstract

A computer-implemented method, a computer system and a computer program product for releasable resource-based preemptive scheduling. One or more currently running workloads are determined to be preempted by a pending workload. Releasable resources from the one or more currently running workloads meet required resources of the pending workload. The pending workload is dispatched so that it uses at least part of the releasable resources from the one or more currently running workloads to run.

Claims (34)

1. A computer-implemented method comprising:

determining, by one or more processing units, one or more currently running workloads to be preempted by a pending workload, wherein releasable resources from the one or more currently running workloads meet required resources of the pending workload; wherein the releasable resources are a first portion of allocated resources allocated to the one or more currently running workloads, and wherein a second portion of the allocated resources includes an amount of locked resources, wherein the locked resources are resources that cannot be released to the pending workload; and

dispatching, by one or more processing units, the pending workload so that the pending workload uses at least part of the releasable resources from the one or more currently running workloads to run;

suspending, by one or more processing units, the one or more currently running workloads to release the releasable resources; and

starting, by one or more processing units, the pending workload using the releasable resources;

wherein the one or more currently running workloads have lower priorities than that of the pending workload;

wherein the releasable resources from the one or more currently running workloads are calculated by subtracting locked resources of the one or more currently running workloads from total resources allocated to the one or more currently running workloads.

2. The method of claim 1 , further comprising: resuming, by one or more processing units, after the action of dispatching, at least one of the one or more currently running workloads in response to determining that there are sufficient resources for the at least one workload.

3. The method of claim 1 , further comprising: recording, by one or more processing units, before the action of dispatching, resource allocation information of at least one of the one or more currently running workloads; and resuming, by one or more processing units, after the action of dispatching, the at least one currently running workload based on the resource allocation information in response to determining that there are sufficient resources for the at least one currently running workload.

4. The method of claim 3 , wherein the resource allocation information comprises memory limit and virtual memory limit.

5. The method of claim 1 , wherein the one or more currently running workloads are on a same host.

6. A computer system comprising:

a processor; and

a computer-readable memory coupled to the processor, the memory comprising instructions that when executed by the processor perform actions of:

determining one or more currently running workloads to be preempted by a pending workload, wherein releasable resources from the one or more currently running workloads meet demanded resources of the pending workload; wherein the releasable resources are a first portion of allocated resources allocated to the one or more currently running workloads, and wherein a second portion of the allocated resources includes an amount of locked resources, wherein the locked resources are resources that cannot be released to the pending workload; and

dispatching the pending workload so that the pending workload uses at least part of the releasable resources from the one or more currently running workloads to run;

suspending the one or more currently running workloads to release the releasable resources; and

starting the pending workload using the releasable resources;

wherein the one or more currently running workloads have lower priorities than that of the pending workload;

wherein the releasable resources from the one or more currently running workloads are calculated by subtracting locked resources of the one or more currently running workloads from total resources allocated to the one or more currently running workloads.

7. The computer system of claim 6 , the memory further comprising instructions that when executed by the processor perform an action of: resuming, after the action of dispatching, at least one of the one or more currently running workloads in response to determining that there are sufficient resources for the at least one workload.

8. The computer system of claim 6 , the memory further comprising instructions that when executed by the processor perform actions of: recording, before the action of dispatching, resource allocation information of at least one of the one or more currently running workloads; and resuming, after the action of dispatching, the at least one currently running workload based on the resource allocation information in response to determining that there are sufficient resources for the at least one currently running workload.

9. A computer program product, comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:

determine one or more currently running workloads to be preempted by a pending workload, wherein releasable resources from the one or more currently running workloads meet demanded resources of the pending workload; wherein the releasable resources are a first portion of allocated resources allocated to the one or more currently running workloads, and wherein a second portion of the allocated resources includes an amount of locked resources, wherein the locked resources are resources that cannot be released to the pending workload; and

dispatch the pending workload so that the pending workload uses at least part of the releasable resources from the one or more currently running workloads to run

suspend the one or more currently running workloads to release the releasable resources; and

start the pending workload using the releaseable resources;

wherein the one or more currently running workloads have lower priorities than that of the pending workload; and

wherein the releaseable resource from the one or more currently running workloads are calculated by subtracting locked resources of the one or more currently running workloads from total resources allocated to the one or more currently running workloads.

10. The computer program product of claim 9 , the program instructions executable by the processor to further causes the processor to:

resume, after the action of dispatching, at least one of the one or more currently running workloads in response to determining that there are sufficient resources for the at least one workload.

11. The computer program product of claim 9 , the program instructions executable by the processor to further causes the processor to:

record, before the action of dispatching, resource allocation information of at least one of the one or more currently running workloads; and

resume, after the action of dispatching, the at least one currently running workload based on the resource allocation information in response to determining that there are sufficient resources for the at least one currently running workload.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2018
From: LI, XIU QIAO; DING, ZHAOHUI; PAN, XUN; SHEN, RONG SONG; SPRIGGS, MICHAEL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047550/0530 →
Continuity (1)
Related Publication 20200159587A1 · May 21, 2020
Cited By (1)
US 12,737,219