Adaptive Parallelization for Multi-Scale Simulation Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-scale simulations for semiconductor materials and devices face significant challenges in optimizing turnaround time due to varying computational requirements across different simulation approaches, leading to bottlenecks that limit overall calculation speed.

Innovation Solution

An adaptive and parallel distribution of compute resources is implemented to optimize turnaround time within and between simulation approaches, with a task control system dynamically allocating processor cores based on resource demands and monitoring execution times to ensure the shortest possible completion times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If parallelization is employed to speed up calculations, then computational speed is improved, but resource allocation inefficiency occurs due to large differences in compute time for different simulation approaches

Engineering Contradiction:
Improvecomputational speedVSAvoidresource allocation efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system dynamically adjusts the allocation of computational resources to different simulation approaches based on their individual turnaround times and resource demands. The task control system continuously monitors execution progress and reallocates processor cores adaptively, transforming the static resource allocation into a dynamic process that responds to actual computational needs of each simulation approach.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of compute resource allocation by distributing processor cores differently to each simulation approach based on their specific requirements. Instead of uniform allocation, the system modifies allocation parameters adaptively, assigning more resources to slower approaches and fewer to faster ones, thereby optimizing overall multi-scale simulation turnaround time.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If uniform compute resources are allocated to all simulation approaches, then resource management is simplified, but bottlenecks occur that limit the speed of the overall calculation

Engineering Contradiction:
Improveresource management simplicityVSAvoidoverall calculation speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system applies local quality by allocating compute resources according to the specific needs of each simulation approach rather than using a uniform allocation strategy. Each simulation approach receives a tailored resource allocation based on its computational characteristics, turnaround time requirements, and position in the simulation sequence, optimizing local resource efficiency while maintaining overall system productivity.

Inventive Principle:
Principle #3Local quality

3Productivity

If adaptive resource allocation is implemented to optimize turnaround time, then computational efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The task control system implements self-service by automatically monitoring turnaround times, identifying bottlenecks, and reallocating resources without external intervention. The system serves itself by making adaptive decisions based on real-time execution data, eliminating the need for complex manual resource management while maintaining high computational efficiency through automated adaptive allocation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11249813B2Adaptive parallelization for multi-scale simulation
Publication Date: 2022.02.15 SYNOPSYS INC
  • US11249813B2 patent drawing
  • US11249813B2 patent drawing
  • US11249813B2 patent drawing

AI summary

Roughly described, a task control system for managing multi-scale simulations receives a case/task list which identifies cases to be evaluated, at least one task for each of the cases, and dependencies among the tasks. A module allocates available processor cores to at least some of the tasks, constrained by the dependencies, and initiates execution of the tasks on allocated cores. A module, in response to completion of a particular one of the tasks, determines whether or not the result of the task warrants stopping or pruning tasks, and if so, then terminates or prunes one or more of the uncompleted tasks in the case/task list. A module also re-allocates available processor cores to pending not-yet-executing tasks in accordance with time required to complete the tasks and constrained by the dependencies, and initiates execution of the tasks on allocated cores.