Isolating resources and performance in a database management system
First Claim
1. A computing device configured to determine whether a tenant is actually allocated a previously reserved allocation of server resources, the computing device comprising:
- one or more processors; and
one or more computer-readable storage devices storing instructions that, when executed by the one or more processors, cause the computing device to;
determine a reserved allocation of a server resource for a tenant in a multi-tenant environment, the reserved allocation including a reserved amount of the server resource in a database server process to allocate for the tenant, the reserved allocation of a server resource including at least a minimum guaranteed central processing unit (CPU) utilization allocation, a minimum guaranteed amount of working memory, and a minimum guaranteed amount of input/output (I/O) throughput;
receive, from the tenant, a request to utilize the server resource;
determine, based at least in part on the request, a workload for the tenant;
determine that the workload of the tenant has a sufficient demand to consume the guaranteed CPU utilization;
meter an actual allocation of an actual amount of the server resource for the tenant; and
determine, based at least in part on metering the actual allocation, including the CPU utilization, the minimum guaranteed amount of working memory, and the minimum guaranteed amount of I/O throughput, whether the tenant is actually allocated the reserved amount of the server resource.
3 Assignments
0 Petitions
Accused Products
Abstract
Techniques for tenant performance isolation in a multiple-tenant database management system are described. These techniques may include providing a reservation of server resources. The server resources reservation may include a reservation of a central processing unit (CPU), a reservation of Input/Ouput throughput, and/or a reservation of buffer pool memory or working memory. The techniques may also include a metering mechanism that determines whether the resource reservation is satisfied. The metering mechanism may be independent of an actual resource allocation mechanism associated with the server resource reservation.
48 Citations
20 Claims
-
1. A computing device configured to determine whether a tenant is actually allocated a previously reserved allocation of server resources, the computing device comprising:
-
one or more processors; and one or more computer-readable storage devices storing instructions that, when executed by the one or more processors, cause the computing device to; determine a reserved allocation of a server resource for a tenant in a multi-tenant environment, the reserved allocation including a reserved amount of the server resource in a database server process to allocate for the tenant, the reserved allocation of a server resource including at least a minimum guaranteed central processing unit (CPU) utilization allocation, a minimum guaranteed amount of working memory, and a minimum guaranteed amount of input/output (I/O) throughput; receive, from the tenant, a request to utilize the server resource; determine, based at least in part on the request, a workload for the tenant; determine that the workload of the tenant has a sufficient demand to consume the guaranteed CPU utilization; meter an actual allocation of an actual amount of the server resource for the tenant; and determine, based at least in part on metering the actual allocation, including the CPU utilization, the minimum guaranteed amount of working memory, and the minimum guaranteed amount of I/O throughput, whether the tenant is actually allocated the reserved amount of the server resource. - View Dependent Claims (2, 3, 4, 5, 6, 7, 14, 15)
-
-
8. A computer-implemented method for determining whether a tenant is allocated a reserved amount of server resources comprising:
-
providing a reservation of a reserved amount of a server resource for a tenant in a multi-tenant environment, the server resource including each of a central processing unit (CPU) utilization allocation, a minimum guaranteed amount of working memory, a minimum guaranteed amount of input/output (I/O) throughput, a minimum network bandwidth; receiving, from the tenant, a request to utilize the server resource; determining, based at least in part on the request, that the tenant has sufficient demand to consume the reserved amount of the server resource; determining an actual amount of the server resource actually allocated to the tenant while servicing the request to utilize the server resource; comparing the actual amount and the reserved amount of the server resource; and determining that the tenant is not allocated the reserved amount of the server resource. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
16. A device configured to determine whether a tenant is allocated a reserved amount of server resources and provide for accountability of the server, the device comprising:
-
one or more processors; and one or more computer-readable media storing instructions that, when executed by the one or more processors, cause the computing device to; provide a reservation of a reserved amount of a server resource to a tenant, the reserved amount of a server resource including at least a minimum guaranteed central processing unit (CPU) utilization allocation, a minimum guaranteed amount of working memory, and a minimum guaranteed amount of input/output (I/O) throughput; receive a request to utilize the server resource; determine, based at least in part on the request, a workload for the tenant; determine that the workload of the tenant has a sufficient demand to consume the guaranteed CPU utilization; determine, based at least in part on receiving the request, that a server does not allocate the reserved amount of the server resource to the tenant; and establish an accountability of the server for the tenant. - View Dependent Claims (17, 18, 19, 20)
-
Specification