Processor Usage Statistics Collection via Interrupt Counters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In server systems with multiple processor cores, balancing processor usage across entities is challenging due to varying processor needs, leading to inefficient workload distribution and potential bottlenecks.

Innovation Solution

A method involving interrupt signals at predetermined intervals to increment counters associated with processes or threads, allowing for accurate tracking of processor usage statistics, which are then used to redistribute workload across the system, ensuring balanced processor allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the operating system regularly determines process execution based on priority information, then high priority processes are executed before lower priority processes, but this creates challenges in balancing processor usage across multiple cores and entities

Engineering Contradiction:
Improvetimely execution of high priority processesVSAvoidprocessor usage balance across entities
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements feedback by continuously monitoring processor usage statistics through interrupt handlers that track time spent by each entity's processes on processor cores. This feedback mechanism enables the load balancer to make informed decisions about redistributing workloads, adjusting process placement based on actual usage patterns rather than static priority assignments alone

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts processor allocation by migrating processes between physical servers based on real-time or near-real-time usage statistics. The load balancer continuously evaluates processor usage data and repositions processes to underutilized servers, creating a dynamic balancing system that adapts to changing workload conditions rather than maintaining fixed assignments

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If interrupt signals are received at predetermined intervals to track processor usage, then accurate processor usage statistics are obtained, but system complexity increases due to continuous interrupt handling and counter management

Engineering Contradiction:
Improveprocessor usage statistics accuracyVSAvoidinterrupt handling and counter management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The interrupt handler implements self-service by automatically incrementing counters for each entity based on process identification from the interrupted process context. The system autonomously tracks usage statistics without requiring external intervention or complex manual management, with the interrupt service routine handling all measurement and recording operations automatically

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The interrupt handler serves as an intermediary between the processor core execution and the load balancing decision-making process. It translates raw processor activity into structured usage statistics that the load balancer can consume, bridging the gap between low-level process execution and high-level workload management without requiring direct complex interactions between these layers

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If processes are migrated between physical servers to balance workload, then processor resource distribution is improved, but this requires accurate tracking of processor usage statistics across multiple servers

Engineering Contradiction:
Improveprocessor resource distribution efficiencyVSAvoidprocessor usage statistics across distributed servers
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The counter mechanism implements universality by using a standardized counting approach that works consistently across multiple physical servers and processor cores. Each server maintains counters for entities in a uniform manner, allowing the load balancer to aggregate and compare usage statistics across the distributed system using the same measurement principles regardless of which server or core is involved

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9298576B2Collecting processor usage statistics
Publication Date: 2016.03.29 GOOGLE LLC
  • US9298576B2 patent drawing
  • US9298576B2 patent drawing
  • US9298576B2 patent drawing

AI summary

In accordance with some implementations, a method of collecting statistics about processor usage is disclosed. The method is performed on a data storage server having one or more processors and memory storing one or more programs for execution by the one or more processors. The server system executes one or more processes, wherein each of the one or more first processes is associated with an entity from a group of one or more entities. The server system then receives an interrupt signal at a first predetermined interval. In response to receiving the interrupt signal and for each processor of the one or more processors, the server system interrupts the process currently being executed on the processor. The server system increments the counter associated with the interrupted process. The server system then resumes the interrupted process.