Parallelizing Computing Operations by Duplicating Dependencies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems face challenges in effectively handling dependencies between sequences of operations, which hinder true parallel processing and lead to serialization, particularly in complex tasks like electronic design automation (EDA) for integrated circuits, due to the need for synchronization and data communication between CPUs.

Innovation Solution

The approach involves duplicating operations corresponding to dependencies between sequences, allowing them to be processed independently by different CPUs, thereby breaking dependencies and optimizing CPU usage for faster processing times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If operations are parallelized across multiple processors, then processing speed increases, but dependencies between operation sequences force serialization and reduce parallel processing effectiveness

Engineering Contradiction:
Improveprocessing speedVSAvoidparallel processing effectiveness
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments operations into independent sequences that can be executed in parallel by different processors. By dividing the operation graph into disconnected components, the system eliminates dependencies that would force serialization, allowing each segment to be processed independently and simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates copies of operations for different processors. When an operation appears in multiple sequences, it is duplicated for each processor that needs to execute it. This copying allows each processor to work with independent copies of operations, eliminating the need for synchronization and data communication between processors.

Inventive Principle:
Principle #26Copying

2Reliability

If synchronization operations are introduced to handle dependencies, then data consistency is maintained, but operation serialization occurs and true parallel processing is prevented

Engineering Contradiction:
Improvedata consistencyVSAvoidparallel processing capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the operation graph into disconnected sequences, ensuring that no synchronization operations are needed between different processor sequences. Each sequence is independent and can be executed without waiting for other sequences, eliminating serialization while maintaining data consistency through the independence of operation sequences.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

By copying operations to different processors, the patent ensures that each processor has its own independent copy of required operations. This eliminates the need for synchronization to maintain data consistency, as each processor works with its own copy without needing to coordinate with other processors.

Inventive Principle:
Principle #26Copying

3Device complexity

If conventional EDA tools are used without parallel processing, then dependency handling is simple, but execution time increases significantly for complex IC designs

Engineering Contradiction:
Improvedependency handling complexityVSAvoidexecution time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments EDA operations into independent sequences that can be executed in parallel. By dividing the complex EDA workflow into disconnected operation sequences, the system reduces execution time for complex IC designs while maintaining simple dependency handling within each sequence.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically assigns operations to different processors based on the operation graph structure. Operations are distributed to maximize parallel processing efficiency, allowing the system to adapt to the specific complexity of different EDA tasks and reduce execution time for complex designs.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7409656B1Method and system for parallelizing computing operations
Publication Date: 2008.08.05 CADENCE DESIGN SYST INC
  • US7409656B1 patent drawing
  • US7409656B1 patent drawing
  • US7409656B1 patent drawing

AI summary

Disclosed is an improved method and system for implementing parallel processing of computing operations by effectively handling dependencies between different sequences of computing operations. In some approaches, some or all operations corresponding to dependencies between different sequences of operations are duplicated among the different sequences. This approach may be used to implement parallel processing of EDA tools.