Patent classifications
G06F2209/504
Autoscaling in an elastic cloud service
Techniques described herein can optimize usage of computing resources in a data system. Dynamic throttling can be performed locally on a computing resource in the foreground and autoscaling can be performed in a centralized fashion in the background. Dynamic throttling can lower the load without overshooting while minimizing oscillation and reducing the throttle quickly. Autoscaling may involve scaling in or out the number of computing resources in a cluster as well as scaling up or down the type of computing resources to handle different types of situations.
CONFIGURING HARDWARE MULTITHREADING IN CONTAINERS
As part of a container initialization procedure, a maximum number of hardware threads per processor core in a set of cores of a computer system are enabled, the container initialization procedure configuring an operating system executing on the computer system for container execution and configuring a first container for execution on the operating system. From a set of available cores in the set of cores, an execution core is selected. In the selected execution core, a number of threads per core to be used during execution of the first container is configured, the number of threads per core specified for the container initialization procedure by a first simultaneous multithreading (SMT) parameter. Using the configured execution core, the first container is executed, the executing virtualizing the operating system.
USING CONSTRAINT PROGRAMMING TO SET RESOURCE ALLOCATION LIMITATIONS FOR ALLOCATING RESOURCES TO CONSUMERS
Resource allocation limitations include resource limits and resource guarantees. A consumer is vulnerable to interruption by other consumers if using more resources than guaranteed. Resources are designated and/or assigned consumers based on resource limits and resource guarantees. A constraint programming (CP) solver determines resource limits and resource guarantees that minimize vulnerability and/or vulnerability cost based on resource usage data. A CP data model includes limit elements, guarantee elements, and vulnerability elements. The CP data model further includes guarantee-vulnerability constraints, which relies on exceedance distributions generated from resource usage data for the consumers. The CP data model declaratively expresses combinatorial properties of a problem in terms of constraints. CP is a form of declarative programming.
CONFIGURABLE PROCESSOR PARTITIONING
Apparatuses, systems, and techniques to configure processor partitioning for a multi-process service. In at least one embodiment, a multi-process service configures a set of streaming multiprocessors of one or more parallel processing units to perform one or more threads based on one or more user-defined data values accessible to a parallel processing library, such as compute uniform device architecture (CUDA).
ADJUSTING RESOURCES WITHIN A HYPERCONVERGED INFRASTRUCTURE SYSTEM BASED ON ENVIRONMENTAL INFORMATION
A computer-implemented method according to one aspect includes identifying environmental information for a hyper-converged infrastructure (HCI) system; and adjusting one or more resources allocated to one or more applications within the HCI system, based on the environmental information.
SYSTEM AND METHOD OF USING SUSTAINABILITY TO MAKE AUTOMATED INFRASTRUCTURE COMPUTING DEPLOYMENTS
One example method includes at an infrastructure computing system, receiving a request for infrastructure resources from a user of the infrastructure computing system. Sustainability values for at least one entity are accessed. Based on the accessed sustainability values for the at least one entity, one or more sets of resources are identified that can satisfy the request for infrastructure resources. At least one set of resources from the one or more sets of resources are deployed in the infrastructure computing system to satisfy the request for infrastructure resources.
DISTRIBUTED COMPUTING WITH VARIABLE ENERGY SOURCE AVAILABILITY
A computer system that includes a plurality of compute clusters that are located at different geographical locations. Each compute cluster is powered by a local energy source at a geographical location of that compute cluster. Each local energy source has a pattern of energy supply that is variable over time based on an environmental factor. The computer system further includes a server system that executes a global scheduler that distributes virtual machines that perform compute tasks for server-executed software programs to the plurality of compute clusters of the distributed compute platform. To distribute virtual machines for a target server-executed software program, the global scheduler is configured to select a subset of compute clusters that have different complementary patterns of energy supply such that the subset of compute clusters aggregately provide a target compute resource availability for virtual machines for the target server-executed software program.
RIGHT-SIZING RESOURCE REQUESTS BY APPLICATIONS IN DYNAMICALLY SCALABLE COMPUTING ENVIRONMENTS
Methods, systems, and techniques for right-sizing resource requests for applications in a dynamically scalable computing environment. In one aspect, a method comprises monitoring resource usage of at least one computer resource by an application executing on a computer system, and monitoring resource requests for the computer resource(s) associated with the application. The method further comprises determining, for the computer resource(s), a resource usage upper bound associated with the application, testing the resource usage upper bound against at least one threshold, determining, from the testing, a resource request adjustment, and dynamically applying the resource request adjustment to the resource requests for the computer resource(s) associated with the application.
TENANT FAIRNESS IN A MULTI-TENANT ENVIRONMENT
A method for allocating resources of a virtual controller is disclosed. The method comprises: allocating resources of a virtual controller to a first tenant, wherein the first tenant is allocated a first tenant quantity of guaranteed resources of the virtual controller and a second tenant is allocated a second tenant quantity of guaranteed resources of the virtual controller; determining that resources requested by the first tenant are greater than the first tenant quantity of guaranteed resources; determining that the virtual controller has unutilized resources sufficient to at least partially provide additional resources beyond the first tenant quantity of guaranteed resources to the first tenant; and temporarily provisioning the additional resources to the first tenant, wherein the additional resources are greater than the first tenant quantity of guaranteed resources.
Methods and Systems for Memory Bandwidth Control
Resources of an electronic device are partitioned into a plurality of resource portions to be utilized by a plurality of clients. Each resource portion is assigned to a respective client, has a respective partition identifier (ID), and corresponds to a plurality memory bandwidth usage states tracked for a plurality of memory blocks. For each resource portion, each of the memory bandwidth usage states is associated with a respective memory block and indicates at least how much of a memory access bandwidth assigned to the respective partition ID to access the respective memory block is used. A usage level is determined for each resource partition based on the memory bandwidth usage states, and applied to adjust a credit count. When the credit count is adjusted beyond a request issue threshold, a next data access request is issued from a memory access request queue for the respective partition ID.