IP Library › Granted Patent US 11,429,181
Granted Patent B2
US 11,429,181 · App. 16/808,862 · Granted Aug 30, 2022

Techniques for self-tuning of computing systems

Inventor: Tomer Morad (New York, NY)
Assignee: Synopsys, Inc.
G06F1/329G06F1/3206G06F9/44505
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,429,181
App. No.
16/808,862
Granted
Aug 30, 2022
Kind
B2
Abstract

A self-tuning computing system and a method for self-tuning a computing system. The method includes measuring a current operation metric representing a current performance of the computing system; determining, based on the current operation metric and a target metric, at least one optimization scheme for improving the current operation metric, wherein the at least one optimization scheme includes at least a plurality of system knobs each having a respective optimal value; and setting each of the system knobs listed in the at least one determined optimization scheme to its respective optimal value.

Claims (44)

1. A method comprising:

mapping a current workload of a computing system to a first bucket of related workloads;

wherein the related workloads mapped to the first bucket behave similarly with respect to a target metric, and the mapping is performed using a locality based hashing function applied to a plurality of workload-related values;

measuring a current operation metric representing a current performance of the computing system;

determining, by a processor, based on the current operation metric and the target metric, a first scheme for the first bucket for improving the current operation metric, wherein the first scheme includes a plurality of system configuration parameters each having a respective value, wherein the first scheme is determined based further on a current execution phase of an application currently executed by the computing system; and

setting each of the system configuration parameters listed in the first scheme to its respective value during the current execution phase.

2. The method of claim 1 , wherein the first scheme is determined using machine learning.

3. The method of claim 1 , further comprising:

predicting a future workload based on a current workload of the computing system, wherein the first scheme is determined based further on the predicted future workload.

4. The method of claim 1 , further comprising:

testing a configuration for each of the plurality of system configuration parameters; and

selecting the respective value for each of the plurality of system configuration parameters based on the testing of the configuration.

5. The method of claim 4 , wherein testing the configuration for each of the plurality of system configuration parameters further comprises:

iteratively setting each of a subset of the plurality of system configuration parameters to a temporary value.

6. The method of claim 5 , further comprising:

continuously monitoring an operation of the computing system; and

dynamically tuning the plurality of system configuration parameters based on changes in the operation of the computing system.

7. The method of claim 5 , wherein the first scheme is determined using reinforcement learning.

8. The method of claim 1 , wherein the first scheme is determined based further on a cost of changing values of the plurality of configuration parameters according to the first scheme and an estimated benefit of applying the first scheme.

9. The method of claim 1 , wherein the current operation metric is of a current workload of the computing system, wherein the current workload of the computing system includes at least one application.

10. The method of claim 1 , wherein measuring the current operation metric further comprises:

running the computing system, wherein the current operation metric is measured when the computing system has run for a predetermined time interval.

11. The method of claim 1 , the computing system including a plurality of components, wherein setting each of the configuration parameters listed in the first scheme to its respective value causes reconfiguration of the plurality of components.

12. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process for self-tuning of a computing system, the process comprising:

mapping a current workload of a computing system to a first bucket of related workloads;

wherein the related workloads mapped to the first bucket behave similarly with respect to a target metric, and the mapping is performed using a locality based hashing function applied to a plurality of workload-related values;

measuring a current operation metric representing a current performance of the computing system;

determining, by a processor, based on the current operation metric and the target metric, a first scheme for the first bucket for improving the current operation metric, wherein the first scheme includes a plurality of system configuration parameters each having a respective value, wherein the first scheme is determined based further on a current execution phase of an application currently executed by the computing system; and

setting each of the system configuration parameters listed in the first scheme to its respective value during the current execution phase.

13. A self-tuning computing system, comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the computing system to:

map a current workload of a computing system to a first bucket of related workloads;

wherein the related workloads mapped to the first bucket behave similarly with respect to a target metric, and the mapping is performed using a locality based hashing function applied to a plurality of workload-related values;

measure a current operation metric representing a current performance of the computing system;

determine, based on the current operation metric and the target metric, a first scheme for the first bucket for improving the current operation metric, wherein the first scheme includes a plurality of system configuration parameters each having a respective value, wherein the first scheme is determined based further on a current execution phase of an application currently executed by the computing system; and

set each of the system configuration parameters listed in the first scheme to its respective value during the current execution phase.

14. The self-tuning computing system of claim 13 , wherein the computing system is further configured to:

predict a future workload based on a current workload of the computing system, wherein the first scheme is determined based further on the predicted future workload.

15. The self-tuning computing system of claim 13 , wherein the computing system is further configured to:

test a configuration for each of the plurality of system configuration parameters; and

select the respective value for each of the plurality of system configuration parameters based on the testing of the configuration.

16. The self-tuning computing system of claim 15 , wherein the first scheme is determined using reinforcement learning.

17. The self-tuning computing system of claim 13 , wherein the first scheme is determined based further on a cost of changing values of the plurality of configuration parameters according to the first scheme and an estimated benefit of applying the first scheme.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2022
From: CONCERTIO LLC
To: SYNOPSYS, INC.
Reel/Frame 058624/0554 →
CORPORATE CONVERSION Recorded Jan 6, 2022
From: CONCERTIO INC.
To: CONCERTIO LLC
Reel/Frame 058723/0952 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2021
From: MORAD, TOMER
To: CONCERTIO INC.
Reel/Frame 056835/0692 →
Continuity (4)
Continuation 15966731 · Apr 30, 2018
Continuation In Part 15439217 · Feb 22, 2017
Provisional Application 62298191 · Feb 22, 2016
Related Publication 20200201415A1 · Jun 25, 2020