Dynamic Tuning of Multiprocessor Systems for Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multiprocessor and multicore computing systems often suffer from inefficiencies in parallelism due to synchronization issues and resource contention, leading to decreased application performance and scalability as computational power increases.

Innovation Solution

Dynamic tuning of multiprocessor and multicore systems through profiling and scheduling circuitry to rebalance application distribution across CPUs and cores, including re-binding applications to fewer CPUs, disabling hyperthreading, and disabling cores, based on analysis of performance counters to address access contention and resource constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If the number of processors and processor cores is increased to provide greater computing power, then parallel processing capability is improved, but application performance deteriorates due to synchronization issues and resource contention

Engineering Contradiction:
Improvecomputing powerVSAvoidapplication performance
Core Design Contradiction:
PowerVSProductivity

Solution Approach 1:

The system dynamically adjusts the binding of application processes to processor cores based on real-time performance monitoring. The scheduler circuitry continuously monitors performance counters and dynamically rebinds processes to different cores or adjusts the number of active cores, transforming the static processor allocation into a dynamic adaptive system that optimizes performance while utilizing available computing power

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters by adjusting process-to-core binding configurations based on detected scalability problems. When access contention or resource constraints are identified, the scheduler modifies binding parameters such as which processes run on which cores, or disables hyperthreading and certain cores, thereby changing the system's operational state to eliminate performance degradation

Inventive Principle:
Principle #35Parameter changes

2Productivity

If software applications are partitioned for parallel execution across multiple components, then computational throughput is improved, but synchronization efficiency deteriorates causing performance loss

Engineering Contradiction:
Improvecomputational throughputVSAvoidsynchronization time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system applies different binding configurations to different processes based on their specific synchronization characteristics and resource access patterns. Rather than uniformly distributing all processes, the scheduler identifies which processes benefit from parallel execution and which suffer from synchronization overhead, applying localized optimization to each process's core assignment

Inventive Principle:
Principle #3Local quality

3Use of energy by moving object

If limited resources are shared among multiple parallel components, then resource utilization is improved, but access contention increases leading to performance degradation

Engineering Contradiction:
Improveresource utilizationVSAvoidapplication throughput
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The system extracts and isolates processes that cause access contention from shared resource environments. When contention is detected on specific resources, the scheduler rebinds affected processes to different cores or disables hyperthreading for those cores, effectively removing the contending processes from the shared resource context and eliminating the contention while maintaining resource utilization

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10452443B2Dynamic tuning of multiprocessor/multicore computing systems
Publication Date: 2019.10.22 INTEL CORP
  • US10452443B2 patent drawing
  • US10452443B2 patent drawing
  • US10452443B2 patent drawing

AI summary

Generally, this disclosure provides systems, devices, methods and computer readable media for dynamic tuning of multiprocessor and multicore computing systems to improve application performance and scalability. A system may include a number of processing units (CPUs) and profiling circuitry configured to detect the existence of a scalability problem associated with the execution of an application on CPUs and to determine if the scalability problem is associated with an access contention or a resource constraint. The system may also include scheduling circuitry configured to bind the application to a subset of the total number of CPUs if the scalability problem is associated with access contention.