Software Task Mapping for Multi-Core Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Optimizing software for multi-core systems is challenging due to inefficient task assignment to processor cores, leading to suboptimal execution performance as the number of processing cores increases.

Innovation Solution

A computer-implemented method that involves generating and refining mappings of software tasks to processors through simulation, modeling data transfers in phases, and distributing data rates across active data transfers to minimize congestion and optimize execution times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software tasks are assigned to processor cores without proper optimization, then the system can execute on multiple cores, but execution efficiency deteriorates due to suboptimal task assignment

Engineering Contradiction:
Improveexecution efficiencyVSAvoidtask assignment complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary simulation and analysis of task mappings before actual execution. The system evaluates multiple task-to-core assignments in advance, models communication patterns, and selects the optimal mapping before software execution begins, avoiding runtime optimization overhead while achieving high execution efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a simulated model of the multi-core system that replicates the actual hardware architecture including communication links and topology. This virtual copy allows exhaustive evaluation of task mappings without affecting real system performance, enabling optimal assignment selection for the actual execution

Inventive Principle:
Principle #26Copying

2Productivity

If the number of processing cores increases, then parallel processing capability improves, but optimization difficulty increases due to exponential growth in possible task assignments

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidoptimization difficulty
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the optimization problem into manageable components: task identification, communication pattern analysis, mapping evaluation, and selection. By breaking down the exponential search space into structured phases with clear criteria, the system can efficiently handle increasing core counts without overwhelming complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a simulation environment as an intermediary between the task software and the actual multi-core system. This intermediate layer absorbs the complexity of evaluating numerous mappings by performing simulations and analyses, presenting only the optimized result to the actual execution system

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If communication between processors is modeled accurately with phase-based data transfer modeling, then execution time prediction accuracy improves, but computational overhead increases

Engineering Contradiction:
Improveexecution time prediction accuracyVSAvoidcomputational overhead
Core Design Contradiction:
Measurement precisionVSPower

Solution Approach 1:

The patent performs accurate phase-based communication modeling during the preliminary simulation phase before actual execution. By pre-calculating communication durations and bottlenecks in the virtual model, the system achieves high prediction accuracy without incurring overhead during runtime execution

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replicates the communication infrastructure in the simulation model, including detailed modeling of data transfer phases, link capacities, and contention scenarios. This virtual copy enables accurate prediction of execution times and identification of communication bottlenecks without affecting actual system resources

Inventive Principle:
Principle #26Copying

4Productivity

If data rates are distributed across multiple active data transfers sharing communication links, then resource utilization efficiency improves, but calculation complexity increases due to iterative rate distribution

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidrate distribution complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements iterative feedback in the simulation model where data rate allocations are continuously adjusted based on link utilization and contention observations. The model monitors communication phases, identifies bottlenecks, and redistributes rates iteratively to achieve optimal resource utilization, with results fed back into mapping optimization

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent models data rate distribution as a dynamic process that adapts to changing communication patterns during execution. The simulation evaluates how rates are allocated across different phases and contingencies, enabling the selection of mappings that maintain high resource utilization under varying load conditions

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10467120B2Software optimization for multicore systems
Publication Date: 2019.11.05 XILINX INC
  • US10467120B2 patent drawing
  • US10467120B2 patent drawing
  • US10467120B2 patent drawing

AI summary

A computer-implemented method and non-transitory computer readable medium for software optimization. The method comprises accessing program code having a plurality of software tasks and generating a first mapping of the software tasks to a plurality of processors of a target system having a plurality of physical communication links. A simulation of the target system is executed according to the first mapping. During the simulation, the software tasks cause data transfers over simulated communication links corresponding to the physical communication links. The data transfers are modeled in phases during the simulation and data rates of the simulated physical links are distributed across corresponding active data transfers. A second mapping of the software tasks to the plurality of processors is generated based on a result of the simulation.