ESL Virtual Platform Multi-Processing Acceleration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Electronic-system-level (ESL) virtual platforms using SystemC run slowly due to single-threaded quick threads, affecting software development and debugging efficiency, and existing acceleration methods require modifications to modeling coding styles and existing models.
Innovation Solution
A multi-processing accelerating method and system that creates a controller domain and client domains on an ESL virtual platform, enabling parallel processing through Unix domain sockets, allowing client domains to communicate and coordinate without modifying SystemC kernels or existing model codes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If single-threaded quick thread kernel is used in SystemC, then hardware parallel execution abstraction can be generated, but all models run sequentially causing very slow execution speed
Solution Approach 1:
The patent segments the single-threaded execution model into multiple independent client domains, each capable of executing SystemC models in parallel. The controller domain coordinates these client domains through Unix domain sockets, enabling parallel processing while maintaining the hardware parallel execution abstraction capability.
Solution Approach 2:
The patent introduces Unix domain sockets as an intermediary communication mechanism between the controller domain and client domains. This intermediary enables efficient inter-process communication for coordinating parallel execution without requiring modifications to the SystemC kernel or existing model codes.
2Speed
If multi-threaded kernels or dependency analysis methods are used to accelerate ESL virtual platforms, then execution speed can be improved, but specific modeling coding styles must be followed and modifications to existing models are required
Solution Approach 1:
The patent creates a virtualized execution environment that copies the SystemC model behavior into independent client domains. Each client domain receives a copy of the model and executes it independently, allowing parallelization without requiring changes to the original model code or enforcing specific coding styles.
Solution Approach 2:
The patent changes the execution parameter from single-threaded to multi-domain parallel execution. By introducing the controller domain and client domains with Unix domain socket communication, the system achieves parallelization while keeping the original SystemC model parameters and coding style unchanged.
3Speed
If existing models are modified to enable parallelization, then execution speed improves, but the complexity of the system increases
Solution Approach 1:
The patent segments the parallelization logic into a separate controller domain that manages multiple client domains. This segmentation isolates the complexity of parallel coordination from the client domains, allowing each to execute simple SystemC models independently while the controller handles the sophisticated Unix domain socket communication and synchronization.
Data Source
AI summary
A multi-processing accelerating method and a multi-processing accelerating system based on an electronic-system-level virtual platform are provided. The method includes: creating a controller domain and a plurality of client domains on the electronic-system-level virtual platform, each client domain corresponds to a process; and controlling, by the controller domain, the client domains in parallel to enable multi-processing for the client domains. The multi-processing accelerating method and the system for the electronic-system-level virtual platform can effectively accelerate the operation of the electronic-system-level virtual platform and improve the efficiency of software development of the electronic-system-level virtual platform.

