# US 11,307,900 B2 · Adjustment of the number of central processing units to meet performance requirements of an I/O resource

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,307,900 B2
- Document ID: US11307900B2
- Status: Granted
- Kind: B2
- Application number: 16/745,316
- Filed: 2020-01-16
- Published: 2020-05-14
- Granted: 2022-04-19
- Earliest claimed: 2017-08-29
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Veronica S. Davila; Trung N. Nguyen; Louis A. Rasor
- Web page: https://patentgrep.com/patent/US11307900B2

## CPC

- G06F 9/505: {considering the load}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/5044: {considering hardware capabilities}
- G06F 9/5061: {Partitioning or combining of resources}
- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A plurality of central processing units (CPUs) are allocated as a set of dedicated CPUs for processing tasks of an input/output (I/O) resource. In response to determining that a CPU utilization for the set of dedicated CPUs is less than a first predetermined threshold, at least one CPU of the set of dedicated CPUs is configured as a reserved CPU to execute tasks for one or more entities other than the I/O resource. In response to determining that a CPU utilization for the set of dedicated CPUs is greater than a second predetermined threshold, the reserved CPU is configured as a dedicated CPU to process tasks for the I/O resource.

## Claims

### Claim 1

A method, comprising:
allocating a plurality of central processing units (CPUs) as a set of dedicated CPUs for processing tasks of an input/output (I/O) resource, wherein the plurality of CPUs form a group, and wherein allocated CPUs are not transferrable from one group to another group;
determining whether performance requirements of the I/O resource are being met; and
in response to determining that performance requirements of the I/O resource are not being met, determining whether there is a reserved CPU in the group that is performing tasks other than the tasks of the I/O resource, and in response to determining there is a reserved CPU in the group performing tasks other than the tasks of the I/O resource, switching the reserved CPU to become a dedicated CPU for processing the tasks of the I/O resource.

### Claim 2 (depends on 1)

The method of claim 1, the method further comprising:
in response to determining that performance requirements of the I/O resource are being met, determining whether it is feasible to meet the performance requirements of the I/O resource with fewer than a number of dedicated CPUs allocated for processing the tasks of the I/O resource.

### Claim 3 (depends on 2)

The method of claim 2, the method further comprising:
in response to determining that it is feasible to meet the performance requirements of the I/O resource with fewer than the number of dedicated CPUs allocated for processing the tasks of the I/O resource, deallocating a dedicated CPU from the group and indicating the dedicated CPU that is deallocated to be a reserved CPU belonging to the group.

### Claim 4 (depends on 3)

The method of claim 3, wherein the reserved CPU for the group is usable for processing tasks other than the tasks of the I/O resource.

### Claim 5 (depends on 1)

The method of claim 1, the method further comprising:
in response to determining that a CPU utilization for the set of dedicated CPUs is less than a first predetermined threshold, configuring at least one CPU of the set of dedicated CPUs as a reserved CPU to execute tasks for one or more entities other than the I/O resource.

### Claim 6 (depends on 5)

The method of claim 5, the method further comprising:
in response to determining that the CPU utilization for the set of dedicated CPUs is greater than a second predetermined threshold, configuring the reserved CPU as a dedicated CPU to process tasks for the I/O resource.

### Claim 7

A system, comprising:
a memory; and
at least one central processing unit (CPU), wherein the at least one CPU performs operations, the operations comprising:
allocating a plurality of central processing units (CPUs) as a set of dedicated CPUs for processing tasks of an input/output (I/O) resource, wherein the plurality of CPUs form a group, and wherein allocated CPUs are not transferrable from one group to another group;
determining whether performance requirements of the I/O resource are being met; and
in response to determining that performance requirements of the I/O resource are not being met, determining whether there is a reserved CPU in the group that is performing tasks other than the tasks of the I/O resource, and in response to determining there is a reserved CPU in the group performing tasks other than the tasks of the I/O resource, switching the reserved CPU to become a dedicated CPU for processing the tasks of the I/O resource.

### Claim 8 (depends on 7)

The system of claim 7, the operations further comprising:
in response to determining that performance requirements of the I/O resource are being met, determining whether it is feasible to meet the performance requirements of the I/O resource with fewer than a number of dedicated CPUs allocated for processing the tasks of the I/O resource.

### Claim 9 (depends on 8)

The system of claim 8, the operations further comprising:
in response to determining that it is feasible to meet the performance requirements of the I/O resource with fewer than the number of dedicated CPUs allocated for processing the tasks of the I/O resource, deallocating a dedicated CPU from the group and indicating the dedicated CPU that is deallocated to be a reserved CPU belonging to the group.

### Claim 10 (depends on 9)

The system of claim 9, wherein the reserved CPU for the group is usable for processing tasks other than the tasks of the I/O resource.

### Claim 11 (depends on 7)

The system of claim 7, the operations further comprising:
in response to determining that a CPU utilization for the set of dedicated CPUs is less than a first predetermined threshold, configuring at least one CPU of the set of dedicated CPUs as a reserved CPU to execute tasks for one or more entities other than the I/O resource.

### Claim 12 (depends on 11)

The system of claim 11, the operations further comprising:
in response to determining that the CPU utilization for the set of dedicated CPUs is greater than a second predetermined threshold, configuring the reserved CPU as a dedicated CPU to process tasks for the I/O resource.

### Claim 13

A computer program product, the computer program product comprising a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to perform operations, the operations comprising:
allocating a plurality of central processing units (CPUs) as a set of dedicated CPUs for processing tasks of an input/output (I/O) resource, wherein the plurality of CPUs form a group, and wherein allocated CPUs are not transferrable from one group to another group;
determining whether performance requirements of the I/O resource are being met; and
in response to determining that performance requirements of the I/O resource are not being met, determining whether there is a reserved CPU in the group that is performing tasks other than the tasks of the I/O resource, and in response to determining there is a reserved CPU in the group performing tasks other than the tasks of the I/O resource, switching the reserved CPU to become a dedicated CPU for processing the tasks of the I/O resource.

### Claim 14 (depends on 13)

The computer program product of claim 13, the operations further comprising:
in response to determining that performance requirements of the I/O resource are being met, determining whether it is feasible to meet the performance requirements of the I/O resource with fewer than a number of dedicated CPUs allocated for processing the tasks of the I/O resource.

### Claim 15 (depends on 14)

The computer program product of claim 14, the operations further comprising:
in response to determining that it is feasible to meet the performance requirements of the I/O resource with fewer than the number of dedicated CPUs allocated for processing the tasks of the I/O resource, deallocating a dedicated CPU from the group and indicating the dedicated CPU that is deallocated to be a reserved CPU belonging to the group.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the reserved CPU for the group is usable for processing tasks other than the tasks of the I/O resource.

### Claim 17 (depends on 13)

The computer program product of claim 13, the operations further comprising:
in response to determining that a CPU utilization for the set of dedicated CPUs is less than a first predetermined threshold, configuring at least one CPU of the set of dedicated CPUs as a reserved CPU to execute tasks for one or more entities other than the I/O resource.

### Claim 18 (depends on 17)

The computer program product of claim 17, the operations further comprising:
in response to determining that the CPU utilization for the set of dedicated CPUs is greater than a second predetermined threshold, configuring the reserved CPU as a dedicated CPU to process tasks for the I/O resource.
