Function Call Routing in Multiprocessor Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor architectures with multiple input/output controllers and graphics processors, there is a need to optimize the execution of software applications by ensuring that function calls are directed to the most suitable secondary calculation units based on system topology and the location of main processors, as current solutions do not efficiently manage latency and accessibility, leading to performance degradation, especially in large systems.

Innovation Solution

A method that determines the system topology, intercepts function calls, identifies the main processor and corresponding secondary calculation units, and modifies the calls to execute functions on the closest available secondary calculation units, minimizing latency by using information from the operating system and dynamically loaded libraries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If function calls are directed to secondary calculation units without considering system topology, then software applications can execute functions, but latency increases and performance degrades due to inefficient routing

Engineering Contradiction:
Improveexecution performanceVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary determination of the system topology and pre-establishes mapping relationships between main processors and secondary calculation units before function execution. This preliminary action enables optimal routing decisions to be made quickly during execution, reducing latency without requiring real-time topology analysis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An intermediary mapping structure is introduced between the function call interface and the actual secondary calculation units. This intermediary layer translates generic function calls into optimized specific unit selections based on topology information, acting as a mediator that enables performance optimization without modifying the original software applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple secondary calculation units are available, then computational capacity increases, but it becomes difficult to determine which unit should execute which function based on topology and accessibility

Engineering Contradiction:
Improvecomputational capacityVSAvoidrouting decision complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The topology determination and processor-unit mapping is performed as a preliminary action during system initialization or configuration. This pre-computed mapping stores the relationship between main processors and secondary calculation units, eliminating the need for complex real-time routing decisions and reducing operational complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system automatically determines and utilizes topology information without requiring manual configuration or complex routing algorithms. The mapping structure self-organizes based on the physical or logical topology, enabling the system to autonomously make optimal routing decisions based on pre-established relationships.

Inventive Principle:
Principle #25Self-service

3Productivity

If function calls are intercepted and modified to route to specific secondary units, then execution optimization is achieved, but the system requires additional components to determine topology and modify calls

Engineering Contradiction:
Improveexecution optimizationVSAvoidsystem components
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The mapping structure serves multiple functions: it stores topology information, determines optimal routing paths, and facilitates function call redirection. This multi-functional component reduces the need for separate specialized systems, achieving execution optimization without proportionally increasing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

An intermediary library or middleware layer is introduced that intercepts function calls and applies the topology-based routing logic. This intermediary component consolidates the complexity of topology determination and call modification into a single layer, simplifying the overall system architecture while enabling optimization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2499570B1Method and device for optimising the execution of software applications in a multiprocessor architecture including a plurality of input/output controllers and secondary processing units
Publication Date: 2019.05.08 BULL SA
  • EP2499570B1 patent drawingFigure 1
  • EP2499570B1 patent drawingFigure 2
  • EP2499570B1 patent drawingFigure 3~4

AI summary

The invention relates in particular to the optimisation of the execution of a software application in a system having multiprocessor architecture including a plurality of input/output controllers and secondary processing units. After determining (300) the system topology, a call to a function to be executed by a secondary processing unit is intercepted (305). The main processor that generated said call is identified (310). A secondary processing unit is then identified (315) according to the main processor identified and according to the topology of said system. Advantageously, the secondary processing unit thus identified is the secondary processing unit that is the closest to the identified main processor. The call is then modified (320) in order to force the execution of at least one part of the function called in the identified secondary processing unit.