Parallel Processor Simulation Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex hardware designs require efficient simulation methods to manage increasing computational complexity and simulation time, especially when dealing with large and interconnected electronic components, where existing methods struggle to achieve high parallelization and memory access efficiency.

Innovation Solution

The method partitions a design verification task into atomic Processing Elements (PEs) with execution dependencies, computes an optimal execution order for concurrent execution on a multiprocessor device, and groups PEs into PE Groups to maximize concurrency and memory access efficiency, using GPUs or other parallel processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If simulation is performed using sequential processing, then execution dependencies are easily managed, but simulation time becomes excessively long for large and complex designs

Engineering Contradiction:
Improvesimulation speedVSAvoidsimulation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The verification task is partitioned into multiple atomic Processing Elements (PEs) that can be executed in parallel. Each PE represents an independent unit of work that processes a specific portion of the design, allowing concurrent execution across multiple processors while maintaining manageable execution dependencies within each atomic unit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential single-dimensional execution to parallel multi-dimensional execution by distributing PEs across multiple processors. The execution model adds a temporal dimension through phase-based scheduling, where PEs are organized into execution phases that can progress simultaneously on different processors, effectively converting a time-series execution model into a space-time parallel model.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If PEs are highly parallelized across multiple processors, then simulation speed increases, but managing execution dependencies and ensuring correct ordering becomes complex

Engineering Contradiction:
Improveparallelization efficiencyVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary ordering of PEs before execution by computing an execution order that respects all data dependencies. This pre-computed order is then used to guide the parallel execution phases, allowing the complex dependency management to be resolved in advance rather than during runtime, simplifying the actual execution phase.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The execution model dynamically organizes PEs into phases based on their dependency relationships. The phase assignment is flexible and adapts to the specific dependency structure of the verification task, allowing the system to optimize parallel execution without requiring rigid static scheduling. Processors can dynamically select which phase to execute next based on completion status.

Inventive Principle:
Principle #15Dynamics

3Use of energy by moving object

If PEs are grouped into PE Groups for execution, then memory access efficiency improves, but the grouping process adds computational overhead

Engineering Contradiction:
Improvememory access efficiencyVSAvoidgrouping overhead
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent merges multiple PEs into PE Groups that are executed together on the same processor during the same phase. This grouping combines memory access patterns from multiple PEs, improving memory utilization and reducing redundant memory operations. The grouping strategy merges PEs with similar memory access characteristics to maximize memory efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system changes the organizational parameter of PEs from individual atomic units to grouped units for execution purposes. This parameter change allows the system to optimize memory access at the group level rather than the individual PE level, reducing memory traffic and improving efficiency. The grouping parameter can be adjusted based on the specific verification task characteristics.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10509876B2Simulation using parallel processors
Publication Date: 2019.12.17 ROCKETICK TECH LTD
  • US10509876B2 patent drawing
  • US10509876B2 patent drawing
  • US10509876B2 patent drawing

AI summary

A method for design simulation includes partitioning a verification task of a design (100) into a first plurality of atomic Processing Elements (PEs—108) having execution dependencies (112), each execution dependency specifying that a respective first PE is to be executed before a respective second PE. The method further includes computing an order for executing the PEs on a multiprocessor device (32), which includes a second plurality of processors (44) operating in parallel and schedules the PEs for execution by the processors according to a built-in scheduling policy. The order induces concurrent execution of the PEs by different ones of the processors without violating the execution dependencies, irrespective of the scheduling policy. The PEs are executed on the processors in accordance with the computed order and the scheduling policy, to produce a simulation result. A performance of the design is verified responsively to the simulation result.