Co-processor Fine-grained Task Re-scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designing processing systems that efficiently integrate accelerators with processors and address dependencies between instructions at a fine-grained level is challenging, particularly for AI applications, as existing coarse-grained architectures are inflexible and fine-grained architectures face increased communication and synchronization overhead.

Innovation Solution

A method that extends the instruction set architecture by adding fields or tags within instructions to provide additional information for co-processors on how to pipeline, combine, and re-schedule fine-grained instructions, allowing for efficient handling of dependencies and task decomposition.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a fine-grained architecture is used to increase flexibility and adaptability, then the ability to handle diverse operations improves, but communication overhead and synchronization complexity increase

Engineering Contradiction:
ImproveflexibilityVSAvoidcommunication overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a co-processor as an intermediary between the master processor and slave co-processors. The co-processor receives coarse-grained instructions from the master processor, breaks them down into fine-grained instructions, and manages the communication with slave co-processors. This intermediary approach allows the system to benefit from fine-grained flexibility while reducing the communication overhead that would otherwise burden the master processor directly.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the instruction processing function into multiple levels: the master processor issues high-level coarse-grained instructions, the co-processor breaks these down into fine-grained instructions, and slave co-processors execute the segmented tasks. This segmentation allows each component to operate at its optimal granularity, improving overall system flexibility while distributing communication responsibilities.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If coarse-grained instructions are used to reduce communication overhead, then the number of instructions decreases, but the ability to parallelize and adapt to new operations is reduced

Engineering Contradiction:
Improvecommunication overheadVSAvoidparallelization capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic instruction set architecture where the co-processor can adaptively break down coarse-grained instructions into fine-grained instructions based on the specific operation requirements. This dynamic approach allows the system to maintain the communication efficiency of coarse-grained instructions while achieving the parallelization benefits of fine-grained instructions when needed, making the system adaptable to different operational contexts.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The co-processor serves multiple functions: it acts as a receiver for coarse-grained instructions from the master processor, a decomposer that breaks down these instructions into fine-grained operations, and a manager that handles communication with slave co-processors. This multi-functionality allows the system to reduce communication overhead while maintaining parallelization capability through the co-processor's ability to generate fine-grained instruction sequences as needed.

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

3Adaptability or versatility

If fine-grained instructions are broken down into multiple small tasks, then adaptability improves, but synchronization overhead and dependency handling complexity increase

Engineering Contradiction:
Improveoperation diversityVSAvoidsynchronization overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The co-processor serves as an intermediary that manages the complexity of synchronization and dependency handling among fine-grained instructions. It receives high-level dependencies from the master processor, breaks down instructions into fine-grained tasks, and handles the synchronization requirements between these tasks before communicating with slave co-processors. This intermediary approach maintains operation diversity while centralizing the synchronization management.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Device complexity

If coarse-grained instructions consolidate multiple operations, then communication efficiency improves, but the instruction set becomes difficult to generalize and adapt

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidinstruction set generality
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent creates a dynamic instruction set where the co-processor can adaptively interpret and break down coarse-grained instructions into fine-grained operations based on the specific task requirements. This dynamic interpretation mechanism allows the same coarse-grained instruction format to be generalized across different operations, maintaining communication efficiency while achieving instruction set versatility through the co-processor's adaptive decomposition capability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11392384B2Methods of breaking down coarse-grained tasks for fine-grained task re-scheduling
Publication Date: 2022.07.19 ALIBABA GROUP HOLDING LTD
  • US11392384B2 patent drawing
  • US11392384B2 patent drawing
  • US11392384B2 patent drawing

AI summary

A method of scheduling instructions in a processing system comprising a processing unit and one or more co-processors comprises dispatching a plurality of instructions from a master processor to a co-processor of the one or more co-processors, wherein each instruction of the plurality of instructions comprises one or more additional fields, wherein at least one field comprises grouping information operable to consolidate the plurality of instructions for decomposition, and wherein at least one field comprises control information. The method also comprises decomposing the plurality of instructions into a plurality of fine-grained instructions, wherein the control information comprises rules associated with decomposing the plurality of instructions into the plurality of fine-grained instructions. Further, the method comprises scheduling the plurality of fine-grained instructions to execute on the co-processor, wherein the scheduling is performed in a non-sequential order.