Performance Grades for Dynamic Workload Allocation in Multi-Node Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-node computer systems, existing technologies face challenges in dynamically allocating resources to meet performance and availability goals across databases, leading to inefficiencies due to unutilized capacity and potential service-level violations, as they lack effective mechanisms to accurately assess and direct workload to optimal server instances.

Innovation Solution

The implementation of performance grades and deltas, which are calculated based on workload metrics, allows for dynamic allocation of resources by directing database connection requests to server instances offering superior performance, and periodically updates these grades to ensure accuracy and efficiency in workload balancing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If resources are allocated to handle estimated peak load for each application, then service availability is improved, but resource utilization deteriorates due to unutilized capacity

Engineering Contradiction:
Improveservice availabilityVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements dynamic resource allocation by introducing performance grades that are continuously calculated and updated based on real-time workload metrics. Server instances transition between different performance grades (A, B, C, D) based on their current performance, allowing the system to dynamically adjust resource distribution rather than using static peak-load allocation. This enables resources to be actively reallocated from underutilized servers to those needing support, maintaining service availability while improving overall resource utilization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by continuously monitoring workload metrics and recalculating performance grades at scheduled intervals. The performance grade calculation incorporates feedback from actual server performance data, creating a closed-loop control system that adjusts resource allocation based on observed outcomes. This feedback-driven approach ensures resources are allocated efficiently while maintaining the service availability needed to handle peak loads.

Inventive Principle:
Principle #23Feedback

2Loss of energy

If resources are dynamically reallocated based on performance grades, then resource utilization is improved, but system complexity increases due to performance grade calculation and monitoring

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent simplifies the monitoring and allocation process by transforming complex server performance data into discrete performance grade parameters (A, B, C, D). Instead of continuously analyzing multiple workload metrics, the system converts these metrics into simplified grade levels that are easier to compare and act upon. This parameter transformation reduces the complexity of real-time decision-making while still capturing the essential performance variations needed for effective resource allocation.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The performance grades are designed as lightweight, easily recalculatable metrics that can be frequently updated without significant computational overhead. Rather than maintaining complex continuous performance models, the system uses simple grade assignments that can be quickly recomputed from current workload data. This approach allows frequent performance assessments and resource reallocations while keeping the computational cost low, effectively treating performance grades as disposable, easily regenerated information structures.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Measurement precision

If performance grades are frequently updated, then workload allocation accuracy is improved, but processing overhead increases

Engineering Contradiction:
Improveworkload allocation accuracyVSAvoidprocessing overhead
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system implements periodic performance grade updates at scheduled intervals rather than continuously monitoring and recalculating in real-time. This periodic approach balances the need for accurate workload allocation with the cost of processing overhead by updating performance grades at appropriate frequencies that capture meaningful performance changes without excessive computational burden. The periodic updates occur at intervals that are frequent enough to maintain allocation accuracy but spaced out enough to limit processing overhead.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS7437459B2Calculation of service performance grades in a multi-node environment that hosts the services
Publication Date: 2008.10.14 ORACLE INT CORP
  • US7437459B2 patent drawing
  • US7437459B2 patent drawing
  • US7437459B2 patent drawing

AI summary

An approach generates performance grades. A performance grade is a value or set of values that indicates the relative work performance offered by a resource, such as a server in a multi-node system, relative to other resources. Performance grades are used to dynamically allocate work within a multi-node computer system. For example, performance grades are used for connection-time balancing, and to direct a database connection request to a multi-node database instance that a performance grade indicates provides better performance. Performance grade deltas are generated that reflect the incremental change in performance grade for additional sessions or work. Performance deltas are used to direct incoming sessions, to more optimally balance workload, and to deal with logon storms where a large number of connect requests arrive in a very short time period.