Parallel Processor Simulation Scheduler with Debug Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current simulation technologies, such as the SIMICS simulator, are inefficient in simulating multiple processors in parallel, as they schedule one processor at a time, preventing parallel simulation and debugging of multiple processors.

Innovation Solution

A scheduler creates slave threads using a master thread to map and invoke corresponding processors, enabling parallel simulation by executing instructions through a first execute interface and facilitating debugging via a debug interface, thereby improving simulation efficiency and resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If one processor is scheduled at a time to execute instructions, then the scheduling control is simple, but parallel simulation of multiple processors cannot be implemented and simulation efficiency is reduced

Engineering Contradiction:
Improvesimulation efficiencyVSAvoidscheduling control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scheduler divides the simulation workload into multiple threads, with each thread responsible for simulating specific processors. This segmentation enables parallel execution of multiple processors simultaneously while maintaining manageable control through thread-level organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The scheduler dynamically manages multiple threads to simulate multiple processors in parallel. The system can adaptively allocate and manage thread resources based on simulation requirements, enabling flexible parallel simulation that improves efficiency without requiring overly complex static scheduling structures.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If serial simulation of multiple processors is performed, then the system structure is simple, but debugging during parallel simulation cannot be implemented

Engineering Contradiction:
Improvedebugging capabilityVSAvoidsystem structure complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The scheduler acts as an intermediary between the debugging interface and multiple processor simulation threads. It manages debug interface information mapping and coordinates debugging operations across parallel threads, enabling debugging capability while maintaining a relatively simple overall system structure through centralized coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple processors are simulated in parallel using multiple threads, then simulation efficiency is improved and host machine resources are fully utilized, but the scheduler must manage complex thread-to-processor mappings and debug interface information

Engineering Contradiction:
Improvesimulation efficiencyVSAvoidscheduler management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scheduler is designed as a universal management structure that handles multiple functions: thread creation, processor mapping, debug interface coordination, and parallel execution control. This multi-functional design consolidates complexity into a single manageable component rather than distributing it across multiple separate systems.

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

Data Source

PatentUS9703905B2Method and system for simulating multiple processors in parallel and scheduler
Publication Date: 2017.07.11 HUAWEI TECH CO LTD
  • US9703905B2 patent drawing
  • US9703905B2 patent drawing
  • US9703905B2 patent drawing

AI summary

The present invention provides a method and a system for simulating multiple processors in parallel, and a scheduler. In this embodiment, the scheduler maps debug interface information of a to-be-simulated processor requiring debugging onto the scheduler during parallel simulation of multiple processors, so that the scheduler is capable of debugging, by using a master thread, the to-be-simulated processor requiring debugging via a debug interface of the to-be-simulated processor requiring debugging pointed by the debug interface information, thereby implementing debugging during parallel simulation of multiple processors.