Task Distribution Program for Multiprocessor Porting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multiprocessor systems are inefficient in porting source programs developed for single processors due to the lack of appropriate task allocation methods that account for dedicated memory spaces in processor chips and chipsets, leading to increased program execution times.

Innovation Solution

A task distribution program and device that convert source programs for single processors into distributed programs for multiprocessor devices by referencing definition files to associate tasks with processors and adding processor IDs as arguments, enabling efficient task distribution across multiple processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If task allocation is performed in parallel during execution of a source program, then task distribution can be achieved, but program execution time is lengthened

Engineering Contradiction:
Improvetask distribution capabilityVSAvoidprogram execution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing task allocation before program execution rather than during execution. The task allocation program divides the source program into multiple tasks and assigns them to processors in advance, storing the allocation results in memory. This eliminates the time overhead of parallel allocation during execution while maintaining the adaptability of task distribution across different processor configurations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If a common source program is allocated to multiple processors in a multiprocessor system with shared memory, then task parallelism can be achieved, but the method is not appropriate for processor chips and chipsets with dedicated memory spaces

Engineering Contradiction:
Improvetask parallelismVSAvoidcompatibility with dedicated memory architecture
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by adapting the task allocation strategy to the specific memory architecture of the target system. For processor chips and chipsets with dedicated memory spaces, the system allocates tasks to processors based on local memory availability and processor-specific characteristics rather than using a uniform shared-memory approach. This enables task parallelism while maintaining compatibility with diverse hardware architectures.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If manual task allocation methods are used for porting source programs to multiprocessor devices, then task distribution can be achieved, but the porting process becomes complex

Engineering Contradiction:
Improvetask distribution capabilityVSAvoidporting process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies self-service by implementing an automated task allocation program that performs task distribution without manual intervention. The program automatically analyzes the source code, divides it into tasks, allocates them to processors based on system configuration, and generates the necessary executable code. This automation eliminates the complexity of manual porting while maintaining high adaptability to different multiprocessor architectures.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7861240B2Task distribution program and task distribution device for a processor device having multiprocessors
Publication Date: 2010.12.28 SOCIONEXT INC
  • US7861240B2 patent drawing
  • US7861240B2 patent drawing
  • US7861240B2 patent drawing

AI summary

A task distribution program which converts a source program for a single processor into a program for a multiprocessor device having a plurality of processors causes a computer to construct task distribution unit for, by referencing a definition file, which is stored in memory, and which associates one of the processors of the multiprocessor device with tasks of the source program, converting the source program into a distributed source program in which the plurality of tasks of the source program are distributed among the plurality of processors, and adding, as an argument, to the distributed tasks a processor ID of a task subject to processing by the distributed task. A task distribution device, in which this task distribution program is installed, is also provided.