Memory Partitioning for Multi-Core Avionics Execution Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-optimal combinations of cores and memory pools in multi-core processor systems can lead to slowed application execution times, resulting in suboptimal performance in avionics systems.

Innovation Solution

A method is provided to determine efficient memory partitioning by receiving input data, defining active core combinations and corresponding memory pool subsets, performing uncached transactions, measuring execution times, and identifying combinations with improved performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If non-optimal combinations of cores and memory pools are used, then device complexity is reduced, but application execution speed deteriorates

Engineering Contradiction:
Improveapplication execution speedVSAvoidmemory partitioning complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-determining optimal core-memory pool combinations through systematic evaluation of all possible configurations. The system performs comprehensive testing and characterization before actual application execution, storing the results for rapid retrieval during runtime, thus avoiding the need to evaluate all combinations during actual operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent utilizes parameter changes by systematically varying core assignments and memory pool configurations to identify optimal combinations. The system evaluates multiple parameter sets including different core counts, memory pool sizes, and allocation patterns to determine the configuration that maximizes application execution speed for specific workloads.

Inventive Principle:
Principle #35Parameter changes

2Speed

If optimal combinations of cores and memory pools are identified through comprehensive testing, then application execution speed is improved, but loss of time increases due to extensive performance evaluation

Engineering Contradiction:
Improveapplication execution speedVSAvoidtime for performance evaluation
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent resolves this contradiction by performing the time-consuming performance evaluation in advance, before the application actually needs to execute. The optimal configurations are determined through comprehensive testing during system initialization or configuration phase, and then stored for rapid deployment, eliminating the time penalty during actual application runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies copying by creating a model or representation of the optimal core-memory pool configurations through systematic evaluation. Once the optimal configuration is identified through extensive testing, this configuration model is stored and reused for multiple applications with similar characteristics, avoiding the need to repeat the entire evaluation process.

Inventive Principle:
Principle #26Copying

3Manufacturing precision

If comprehensive performance testing is conducted for all core and memory pool combinations, then manufacturing precision of performance optimization is improved, but device complexity increases

Engineering Contradiction:
Improveperformance optimization precisionVSAvoidtesting and evaluation system complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent applies segmentation by breaking down the comprehensive evaluation process into manageable components: individual core performance characterization, memory pool performance evaluation, and combined configuration assessment. This segmented approach allows systematic testing of each element separately before evaluating their interactions, making the overall process more tractable and less complex.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent utilizes parameter changes by systematically varying specific parameters such as core count, memory pool size, and allocation patterns in a controlled manner. By changing one parameter at a time while holding others constant, the system can precisely measure the impact of each parameter on performance, achieving high optimization precision without requiring exhaustive testing of all possible combinations simultaneously.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10366007B2Apparatuses and methods for determining efficient memory partitioning
Publication Date: 2019.07.30 HONEYWELL INTERNATIONAL INC
  • US10366007B2 patent drawing
  • US10366007B2 patent drawing
  • US10366007B2 patent drawing

AI summary

A method comprises: receiving input data comprising a number of read and write uncached transactions, a transaction density, a number of active cores (N active cores) of the at least two cores, main memory address layout, and number of and an identifier for each of: banks and ranks in main memory, interconnects, cache pools, and memory controllers; defining all sets of active cores; defining up to N sets of memory pools; performing, for combinations of at least one set of active cores with each of at least one subset, the specified number of read and write uncached transactions with main memory at a specified transaction density for each defined combination of each active core combination and each defined memory pools; measuring the execution time of such performance for each combination; storing the execution time for each combination; and identifying at least one combination having a lower execution time.