Fine-Grained Graph Processor Scheduler Using Dynamic Scoreboard

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current scheduling systems in microprocessor-based systems are inflexible and lack re-programmability due to static scheduling, which restricts the ability to dynamically adjust instruction execution paths and resource allocation, leading to inefficiencies in multi-core processors and graph processors.

Innovation Solution

A general-purpose scheduler is developed for fine-grained graph processors that allows dynamic scheduling and resource allocation across multiple execution units, optimizing execution paths and resource utilization by using a scoreboard structure to check availability and prioritize instructions based on resource constraints, timing, and path constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If static scheduling is used in microprocessor-based systems, then implementation simplicity is maintained, but flexibility and re-programmability deteriorate

Engineering Contradiction:
Improvescheduling implementation complexityVSAvoiddynamic adjustment capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic scheduling by making the scheduler capable of real-time decision-making based on current system state. The scheduler uses a scoreboard structure to track resource availability and instruction status, dynamically selecting which instructions to execute next rather than following a predetermined static schedule. This allows the system to adapt to changing conditions while maintaining manageable complexity through structured resource tracking.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If dynamic scheduling is implemented, then flexibility and resource utilization improve, but system complexity increases

Engineering Contradiction:
Improvescheduling flexibilityVSAvoidscheduler structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The scoreboard structure serves as an intermediary data structure that simplifies dynamic scheduling by centralizing resource availability and instruction status information. Rather than complex interconnections between multiple scheduling components, the scoreboard provides a unified interface for tracking and decision-making, reducing overall system complexity while enabling flexible dynamic scheduling.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If static instruction ordering is used, then compilation simplicity is maintained, but execution efficiency deteriorates

Engineering Contradiction:
Improvecompilation simplicityVSAvoidinstruction execution efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system separates compilation simplicity from execution efficiency by using static code generation for compilation ease, then implementing dynamic scheduling at runtime to optimize execution. The scoreboard-enabled scheduler reorders and selects instructions dynamically based on resource availability and data dependencies, achieving high execution efficiency without complicating the compilation process.

Inventive Principle:
Principle #15Dynamics

4Loss of time

If resource binding is performed statically, then compilation time is reduced, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvecompilation timeVSAvoidresource utilization efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs minimal static resource binding during compilation to keep compilation time short, then uses dynamic scheduling at runtime to optimize resource allocation. The scoreboard tracks actual resource availability and instruction readiness, allowing the system to bind instructions to resources dynamically based on real-time conditions, thereby maximizing resource utilization without extending compilation time.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9984037B1Scheduler for a fine grained graph processor
Publication Date: 2018.05.29 KAVIPURAPU GAUTAM NAG MR
  • US9984037B1 patent drawing
  • US9984037B1 patent drawing
  • US9984037B1 patent drawing

AI summary

A novel scheduler design is provided that schedules a set of operations to an array of similar or dissimilar, candidate operations on a cycle by cycle basis, out of a total number of operations. The array of similar or dissimilar units can be atomic in nature or ALU like or complete processors. The scheduler is able to map the operations in a data flow/sequencing graph to the two dimensional or 3 dimensional array (which can be extended to a multi-dimensional array) optimally so as to minimize the total execution times. The mapping is path based computation, where a particular sequence of instructions is routed through the underlying matrix in path that minimized the number of memory hops.