G06F2209/504

Elastic resource pooling for dynamic throughput rebalancing

A method for utilizing elastic resource pooling techniques to dynamically rebalance throughput includes determining, for each of multiple tenants leasing computing resources of a shared resource pool, a desired claim to resources in the shared resource pool. The desired claim is based on a number of resource access requests received in association with each of the multiple tenants. The method further includes determining, for each of the multiple tenants, a guaranteed claim and a maximum potential claim on the shared resource pool; and allocating a surplus resource pool among the multiple tenants based on the determined maximum potential claim and the desired claim for each one of the multiple tenants, the surplus resource pool representing a remainder of the shared resource pool after the guaranteed claim for each of the tenants is satisfied via an initial resource allocation from the shared resource pool.

Dynamic provisioning and delivery of virtual applications

The disclosure provides an approach for mounting a virtual disk to a virtual computing instance (VCI). The method comprises obtaining a set of required applications for each VCI in a set of VCIs. The method comprises obtaining constraints of each VCI in the set of VCIs. The method further comprises determining pair-wise application overlap between each pair of VCIs of the set of VCI, wherein the overlap complies with constraints of the two VCIs for which the overlap is determined. The method also comprises placing applications of at least one of the application overlaps into a virtual disk file, associating the virtual disk with the virtual disk file, and mounting the virtual disk to a first VCI of the set of VCIs.

IDENTIFYING RECURRING ACTIONS IN A HYBRID INTEGRATION PLATFORM TO CONTROL RESOURCE USAGE

An approach is provided for controlling computer resource usage. A new event in an integration flow in an integration platform is detected. Sender and receiver information is identified and hashed. A portion of data being sent by the sender to the receiver is selected and hashed. It is determined that the hashed sender and receiver information matches a first entry and the hashed selected portion of the data matches a second entry in a pattern repository. A recurring event in the integration flow is identified, where the recurring event uses an amount of computer resources that exceeds a threshold amount. An action is performed which reduces the amount of computer resources used by the integration flow to a new amount that does not exceed the threshold amount.

Adaptive consumer buffer
10990402 · 2021-04-27 · ·

The present disclosure provides for a system that dynamically adjusts how the system distributes messages to a set of consumers. The system measures a quantity of consumers in communication with the system. The system also measures performance metrics of each respective consumer of the set of consumers. In response to a change in the quantity of consumers, or to one or more performance metrics of an individual consumers meeting, or failing to meet, a respective predetermined threshold, the system may adjust a cache size the system attributes to the individual consumer and accordingly may adjust how the system distributes messages to the individual consumer. For instance, the system may distribute more or less messages to the individual consumer. The individual consumer may also communicate a maximum cache limit it is able to receive in messages from the system.

MEMORY CONTROLLER TO MANAGE QUALITY OF SERVICE ENFORCEMENT AND MIGRATION BETWEEN LOCAL AND POOLED MEMORY
20210117334 · 2021-04-22 ·

Systems, apparatuses and methods may provide for a memory controller to manage quality of service enforcement and migration between local and pooled memory. For example, a memory controller may include logic to communicate with a local memory and with a pooled memory controller to track memory page usage on a per application basis, instruct the pooled memory controller to perform a quality of service enforcement in response to a determination that an application is latency bound or bandwidth bound, wherein the determination that the application is latency bound or bandwidth bound is based on a cycles per instruction determination, and instruct a Direct Memory Access engine to perform a migration from a remote memory to the local memory in response to a determination that the quality of service cannot be enforced.

UNIFIED RESOURCE MANAGEMENT FOR CONTAINERS AND VIRTUAL MACHINES

Various aspects are disclosed for unified resource management of containers and virtual machines. A podVM resource configuration for a pod virtual machine (podVM) is determined using container configurations. The podVM comprising a virtual machine (VM) that provides resource isolation for a pod based on the podVM resource configuration. A host selection for the podVM is received from a VM scheduler. The host selection identifies hardware resources for the podVM. A container scheduler is limited to bind the podVM to a node corresponding to the hardware resources of the host selection from the VM scheduler. The podVM is created in a host corresponding to the host selection. Containers are started within the podVM. The containers correspond to the container configurations.

SYSTEMS AND METHODS FOR AUTOSCALING IN DATACENTERS

A method of autoscaling in a datacenter includes receiving one or more datacenter metrics at a control service, comparing the one or more datacenter metrics to a threshold value, selecting at least one component of a server computer to scale-up, and sending an instruction to the server computer to scale-up the at least one component.

System and method for providing dynamic provisioning within a compute environment
10951487 · 2021-03-16 · ·

The disclosure relates to systems, methods and computer-readable media for dynamically provisioning resources within a compute environment. The method aspect of the disclosure comprises A method of dynamically provisioning resources within a compute environment, the method comprises analyzing a queue of jobs to determine an availability of compute resources for each job, determining an availability of a scheduler of the compute environment to satisfy all service level agreements (SLAs) and target service levels within a current configuration of the compute resources, determining possible resource provisioning changes to improve SLA fulfillment, determining a cost of provisioning; and if provisioning changes improve overall SLA delivery, then re-provisioning at least one compute resource.

ELASTIC RESOURCE POOLING FOR DYNAMIC THROUGHPUT REBALANCING
20210092072 · 2021-03-25 ·

A method for utilizing elastic resource pooling techniques to dynamically rebalance throughput includes determining, for each of multiple tenants leasing computing resources of a shared resource pool, a desired claim to resources in the shared resource pool. The desired claim is based on a number of resource access requests received in association with each of the multiple tenants. The method further includes determining, for each of the multiple tenants, a guaranteed claim and a maximum potential claim on the shared resource pool; and allocating a surplus resource pool among the multiple tenants based on the determined maximum potential claim and the desired claim for each one of the multiple tenants, the surplus resource pool representing a remainder of the shared resource pool after the guaranteed claim for each of the tenants is satisfied via an initial resource allocation from the shared resource pool.

Low latency distributed counters for quotas
10963305 · 2021-03-30 · ·

A system for managing access to a shared resource includes a plurality of nodes. Each of the nodes is in communication with the shared resource and has a memory and a processor in communication with the memory. The system further includes an orchestrator that has a controller and is in communication with the shared resource and the nodes. The controller is configured to determine a quota for each of the nodes, wherein each quota has a value of more than one. The processor of each of the nodes is configured to set a local counter stored in the memory of the relevant node to the value of the relevant node's quota. In response to a request received from an end device to use the shared resource, the processor of each of the nodes is further configured to serve the request and decrement the local counter by one. The processor stops serving requests when a value of the local counter reaches zero. At an end of a synchronization period, the processor sends synchronization data to the controller. The synchronization data includes the value of the local counter at the end of the synchronization period.