G06F9/5083

Automated performance tuning using workload profiling in a distributed computing environment
11561843 · 2023-01-24 · ·

Workload profiling can be used in a distributed computing environment for automatic performance tuning. For example, a computing device can receive a performance profile for a workload in a distributed computing environment. The performance profile can indicate resource usage by the workload in the distributed computing environment. The computing device can determine a performance bottleneck associated with the workload based on the resource usage specified in the performance profile. A tuning profile can be selected to reduce the performance bottleneck associate with the workload. The computing device can output a command to adjust one or more properties of the workload in accordance with the tuning profile to reduce the performance bottleneck associated with the workload.

Managing processing system efficiency

Methods, systems, and computer storage media storing instructions for managing processing system efficiency. One of the methods includes obtaining data splitting a plurality of general-purpose processing units in a processing system into a high-priority domain and a low-priority domain, wherein the general-purpose processing units in the high-priority domain are assigned to perform one or more tasks comprising one or more high-priority tasks, and the general-purpose processing units in the low-priority domain are assigned to perform one or more low-priority tasks; and during runtime of the processing system, obtaining memory usage measurements that characterize usage of system memory by the high-priority domain and the low-priority domain; and adjusting, based on the memory usage measurements, a configuration of (i) the high-priority domain, (ii) the low-priority domain, or (iii) both to adjust utilization of the system memory by the general-purpose processing units.

Redistribution of processing groups between server nodes based on hardware resource utilization
11704160 · 2023-07-18 · ·

At least one processor is configured to obtain measurement information comprising an indication of an amount of utilization of a hardware resource of a first server node by a plurality of processing groups and to determine that the amount of utilization of the hardware resource is above a threshold amount of utilization. The at least one processor is further configured to select a given processing group for redistribution based at least in part on the determination that the amount of utilization of the hardware resource is above the threshold amount and on an amount of utilization of the hardware resource by the given processing group. The at least one processor is further configured to determine that a second server node comprises enough available capacity of the hardware resource and to redistribute the given processing group to the second server node based at least in part on the determination.

Persistently available container services through resurrection of user jobs in new compute container instances designated as lead instances

A method makes container services persistently available. A computing device receives a request for implementation of a user job in a container environment, and assigns the user job to a compute runner agent of a plurality of compute runner agents to execute the user job. Each compute runner agent is associated with a compute container instance having a unique compute container identifier corresponding to the user job. A computing device assigns the user job to a balancer task to monitor progress of the user job, and assigns the user job to a storage agent to store artifacts associated with running the user job. A computing device receives a notification from the balancer task describing whether the runner agent is correctly running the user job. In response to the runner agent incorrectly running the user job, a computing device resurrects the user job in a new compute container instance.

MAPPING TELEMETRY DATA TO STATES FOR EFFICIENT RESOURCE ALLOCATION
20230017085 · 2023-01-19 ·

Techniques described herein relate to a method for resource allocation using fingerprint representations of telemetry data. The method may include receiving, at a resource allocation device, a request to execute a workload; obtaining, by the resource allocation device, telemetry data associated with the workload; identifying, by the resource allocation device, a breakpoint based on the telemetry data; identifying, by the resource allocation device, a workload segment using the breakpoint; generating, by the resource allocation device, a fingerprint representation using the workload segment; performing, by the resource allocation device, a search in a fingerprint catalog using the fingerprint representation to identify a similar fingerprint; obtaining, by the resource allocation device, a resource allocation policy associated with the similar fingerprint; and performing, by the resource allocation device, a resource policy application action based on the resource allocation policy.

Efficiently Maintaining a Globally Uniform-in-Time Execution Schedule for a Dynamically Changing Set of Periodic Workload Instances
20230020580 · 2023-01-19 ·

An algorithm for efficiently maintaining a globally uniform-in-time execution schedule for a dynamically changing set of periodic workload instances is provided. At a high level, the algorithm operates by gradually adjusting execution start times in the schedule until they converge to a globally uniform state. In certain embodiments, the algorithm exhibits the property of “quick convergence,” which means that regardless of the number of periodic workload instances added or removed, the execution start times for all workload instances in the schedule will typically converge to a globally uniform state within a single cycle length from the time of the addition/removal event(s) (subject to a tunable “aggressiveness” parameter).

Dynamic Profiling of Storage Class Memory for Implementation of Various Enterprise Solutions

Configuration and dynamic profiling of storage class memory (SCM) devices is provided. Information is retrieved that includes historical SCM device configurations, historical SCM device utilization, functional and non-functional properties of a plurality of SCM devices on a host node, current real time utilization of the plurality of SCM devices by an application workload of a customer running on the host node, and relationships between the plurality of SCM devices, needs of the customer, and resource capabilities and real time resource utilization on the host node. A configuration of each respective SCM device is determined based on retrieved information and an artificial intelligence-predicted SCM device future utilization trajectory of the customer. Each respective SCM device is dynamically configured with a set of SCM device partitions according to a corresponding SCM device profile based on the determined configuration of each respective SCM device of the plurality of SCM devices.

Load balancing in a storage system

Techniques are used for balancing load on a storage system according to multiple variables. The techniques may be used to provide, among other things, defining, across at least two variables, a balance constraint for a load on a storage system. Among a set of transfers of volumes from one node to another node in the storage system, a transfer of a volume that minimizes the distance between the load and an ideal balanced state of the storage system is identified. The identified transfer of a volume is added to a combination of transfers of volumes. Whether the combination of transfers of volumes meets the balance constraint is determined. If the combination meets the balance constraint, the combination is selected as a solution to balance the load.

OPERATION METHOD OF THE NON-UNIFORM MEMORY ACCESS SYSTEM

Provided is an operation method of a NUMA system, which includes: designating a page scan range including a plurality of pages; identifying a detour value for each of the plurality of pages; determining whether a detour value of a current target scan page is the same as the reference detour value; and releasing a connection of the current target scan page from the page table when determining that the detour value of the current target scan page is the same as the reference detour value.

EFFICIENT WORKLOAD BALANCING IN REPLICATED DATABASES BASED ON RESULT LAG COMPUTATION
20230222122 · 2023-07-13 · ·

A method for workload balancing is implemented in a computer system including a primary database system and a secondary database system, the secondary database system being configured as a backup system for the primary database system. The method includes compiling a query received from a client application. The query indicates one or more source tables have corresponding replicate tables. The compiling comprises replace the one or more source tables with the corresponding replicate tables. The method can generate a query execution plan based on the compiled query, determine a per-table result lag based on minimum commit times of the corresponding replicate tables, and compare the per-table result lag with a predefined threshold. Responsive to a determination that the per-table result lag exceeds the predefined threshold, the method can recompile the query by falling back to the one or more source tables from the corresponding replicate tables.