Dynamic System Locality Information Updates for NUMA Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current operating systems lack dynamic updates for system locality information, leading to suboptimal performance in Non-Uniform Memory Access (NUMA) systems, as existing interfaces like ACPI and SRAT only provide static proximity information without relative distance details, causing inefficiencies in resource allocation and management.

Innovation Solution

A method and apparatus for dynamically updating system locality information during runtime using a System Locality Information Table (SLIT) and ACPI control methods, which collect and provide distance metrics between devices, allowing the operating system to adapt to changes in system configuration, such as device additions, deletions, and reconfigurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If static system locality information is provided at boot time only, then the system complexity is reduced and ease of operation is improved, but the system adaptability deteriorates and performance optimization is limited in dynamic environments

Engineering Contradiction:
Improveease of operationVSAvoidsystem adaptability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic updates of system locality information by introducing a runtime notification mechanism. When hardware configuration changes occur (device additions, deletions, or reconfigurations), the system automatically detects these changes and updates the locality information table, transitioning from a static to a dynamic information provision model that adapts to changing system conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent establishes a feedback loop where the system continuously monitors hardware configuration changes and responds by updating locality information. The notification mechanism provides feedback about configuration changes to the operating system, which then invokes control methods to refresh the locality data, ensuring the system maintains accurate information without requiring manual intervention.

Inventive Principle:
Principle #23Feedback

2Productivity

If detailed distance metrics between devices are collected and provided, then system performance optimization is improved, but device complexity and information processing requirements increase

Engineering Contradiction:
Improvesystem performanceVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent collects and stores detailed distance metrics between devices in advance during system initialization and boot time. This preliminary collection of locality information allows the operating system to have immediate access to comprehensive distance data without needing to query or calculate it in real-time, thereby enabling performance optimization while avoiding the complexity of dynamic calculation mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary structure (the system locality information table) that pre-stores detailed distance metrics between devices. This intermediary table acts as a lookup repository that provides the operating system with comprehensive distance information without requiring direct complex calculations or queries between devices, thus enabling performance optimization while managing information complexity through structured storage.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If runtime updates of system locality information are implemented, then system adaptability and performance optimization are improved, but loss of time for information collection and processing increases

Engineering Contradiction:
Improvesystem adaptabilityVSAvoidtime loss
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements periodic or event-triggered updates of system locality information rather than continuous monitoring. The system collects updated locality information only when specific triggering events occur (such as device additions, deletions, or reconfigurations), thereby maintaining system adaptability while minimizing the time spent on information collection and processing by avoiding unnecessary continuous updates.

Inventive Principle:
Principle #19Periodic action

4Measurement precision

If comprehensive distance information between all devices is provided, then resource allocation accuracy is improved, but loss of information processing overhead increases

Engineering Contradiction:
Improvedistance measurement precisionVSAvoidinformation processing overhead
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent extracts and provides only the essential distance metrics that are relevant for resource allocation decisions, rather than providing all possible information about device relationships. The system locality information table stores specifically the distance information needed for NUMA optimization and resource management, filtering out unnecessary data to reduce processing overhead while maintaining measurement precision for the critical parameters.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7647490B2Method and apparatus for providing updated system locality information during runtime
Publication Date: 2010.01.12 HEWLETT PACKARD ENTERPRISE DEV LP
  • US7647490B2 patent drawing
  • US7647490B2 patent drawing
  • US7647490B2 patent drawing

AI summary

Embodiments of the invention provide a method and an apparatus to collect and dynamically update system locality information during runtime. In one method embodiment, the present invention collects system locality information at boot time to be provided to an operating system. The system locality information describes distances between devices within an integrated processing system. The operating system is then notified that a triggering event has occurred that may potentially alter the distances between devices within the integrated processing system. Upon receipt of this notification, the operating system invokes an Advanced Configuration and Power Interface (ACPI) procedure that provides updated system locality information during runtime to reflect the changes in distances between devices within the integrated processor system after the occurrence of the triggering event.