Automated Variable Mapping for Asymmetric Multiprocessing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Programmers face challenges in porting applications to data processing systems with asymmetric multiprocessing and distributed memory architectures, as these systems require complex management of memory coherence and multiple physical instances of logical variables, leading to time-consuming, expensive, and error-prone processes.

Innovation Solution

A computer-implemented method that identifies the need for multiple physical instances of logical variables and adds mapping support to the source program to adapt it for execution on data processing apparatus, using architectural descriptions to automate the process and reduce programmer burden.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual management of memory coherence and multiple physical instances is implemented, then system control and data consistency are maintained, but programming time and error rates increase significantly

Engineering Contradiction:
Improvedata consistencyVSAvoidprogramming time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs self-service through automated identification and mapping of multiple physical instances of logical variables. The computer-implemented method automatically analyzes the source program, identifies variables requiring multiple physical instances, and generates the necessary mapping code without programmer intervention, thereby maintaining data consistency while eliminating manual programming overhead.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The invention applies preliminary action by performing static analysis and identification of multiple physical instance requirements during the compilation phase before execution. The system pre-determines which logical variables need multiple physical instances and generates the appropriate mapping support code in advance, preventing coherence errors before they occur during runtime.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If automated mapping support is added to the source program, then programming complexity and error rates decrease, but system architecture complexity increases

Engineering Contradiction:
Improveprogramming easeVSAvoidsystem architecture complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The invention introduces an intermediary component - a computer-implemented mapping system that acts as a mediator between the programmer and the complex distributed memory architecture. This intermediary automatically handles the translation of logical variables to multiple physical instances, shielding the programmer from architectural complexity while managing the necessary mappings in the background.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates copies of the source program with added mapping support code. Rather than modifying the original program structure fundamentally, the invention generates a transformed version that includes the necessary coherence management code, preserving the original program's simplicity while adding the required complexity in a separate layer.

Inventive Principle:
Principle #26Copying

3Productivity

If multiple physical instances of logical variables are created, then data availability across processors is improved, but memory management complexity and error likelihood increase

Engineering Contradiction:
Improvedata access efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service by automatically tracking and managing the coherence state of multiple physical instances. The computer-implemented method autonomously determines which copies are valid, when updates are needed, and generates the appropriate code to maintain consistency, eliminating the need for programmers to manually manage the complexity of multiple memory instances.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The invention incorporates feedback mechanisms through static analysis that tracks the flow and validity of data across multiple physical instances. The system continuously analyzes program execution paths to determine which copies of variables are currently valid and generates appropriate coherence management code based on this feedback, ensuring data availability while maintaining consistency.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8250549B2Variable coherency support when mapping a computer program to a data processing apparatus
Publication Date: 2012.08.21 ARM LTD
  • US8250549B2 patent drawing
  • US8250549B2 patent drawing
  • US8250549B2 patent drawing

AI summary

A computer implemented tool is provided for assisting in the mapping of a computer program to a data processing apparatus wherein multiple physical instances of a logical variable in the computer program are required. A computer program is provided as the input to the tool which analyses the data flow of the program and identifies multiple physical instance requirement for logical variables. The tool adds mapping support commands, such as instantiation commands, Direct Memory Access (DMA) move commands and the like as necessary to support the mapping of the computer program to a data processing apparatus.