Parallel simulation method based on Linux system server cluster

By employing a parallel simulation method based on a Linux system server cluster, and utilizing automated scripts and parallel execution technology, the problem of low efficiency in traditional simulation verification is solved, achieving a high-efficiency simulation verification cycle and resource utilization, thereby reducing enterprise costs.

CN116069662BActive Publication Date: 2026-04-10ZHENGZHOU ZHONGKE INTEGRATED CIRCUIT & SYST APPL RES INST
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHENGZHOU ZHONGKE INTEGRATED CIRCUIT & SYST APPL RES INST
Filing Date
2023-02-24
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Traditional simulation verification processes are inefficient, have long execution cycles, and cannot effectively utilize server resources, thus affecting chip development efficiency and cost.

Method used

A parallel simulation method based on a Linux system server cluster is adopted. Through Makefile, pipeline technology model and server cluster control, the simulation verification task is executed automatically and in parallel. SSH, NTP and NFS protocols are used for inter-node communication and file storage, and MPI is used for inter-process communication.

Benefits of technology

It significantly shortens the simulation verification cycle, improves simulation efficiency, reduces enterprise costs, and significantly enhances social and economic benefits.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116069662B_ABST
    Figure CN116069662B_ABST
Patent Text Reader

Abstract

A parallel simulation method based on Linux system server cluster, by running a single command in the management node of the server cluster, achieve running simulation verification tasks in the management node, computing node, including Makefile file execution, pipeline technology model and server cluster control, wherein: Makefile file includes simulation verification execution script, parallel thread parameter and call server node number parameter setting; Pipeline technology model, when running simulation verification task, every time a simulation task ends, a new task will automatically start execution; Server cluster control, control the communication of server cluster node, the method is simple, through the parallel simulation technology based on server cluster, using automatic execution, can greatly optimize the steps and time of manual operation, at the same time, through parallel execution, the whole simulation verification execution period is greatly shortened, reduces the cost of enterprise, has significant social and economic benefits.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of digital IC verification, and particularly to a parallel simulation method based on a Linux system server cluster. BACKGROUND

[0002] With the rapid development of semiconductor technology, the integration of chips is higher and higher, and the function is more and more powerful, and the complexity of the digital chip verification is also increasing. The number of test cases of a digital chip is enough to be amazing, and the verification work is more and more important in the whole chip development process. In order to verify the correctness of the whole digital chip logic function, a large amount of verification work must be done, and the workload of verification accounts for 60% to 80% of the whole chip development process. Therefore, how to improve the efficiency of simulation in the process of digital chip verification directly affects the development efficiency and cost of the chip.

[0003] In the traditional simulation verification process, VCS, QuestaSim and other simulation tools are generally used to simulate and verify the circuit. The functional simulation of ten million gate circuits may take a week to verify once, and in the simulation execution process, engineers cannot always monitor whether the simulation is finished or not, and cannot determine whether manual operation is needed to execute the next verification case, which will affect the efficiency of the whole simulation process.

[0004] In order to improve the efficiency of the simulation verification process and shorten the cycle of the whole simulation verification process, through script automatic execution, the idle time of the server can be effectively reduced. Through the parallel execution of the verification cases, the whole verification cycle can be effectively shortened. In order to achieve the purpose of more efficient execution of the verification task, the simulation verification task can be automatically executed, and the simulation verification task can be automatically executed in parallel. However, there is no relevant public report so far. SUMMARY

[0005] In view of the above situation, in order to overcome the defects of the prior art, the purpose of the present application is to provide a parallel simulation method based on a Linux system server cluster, which can effectively solve the problems of low simulation verification efficiency and long execution cycle.

[0006] In order to achieve the above purpose, the technical scheme solved by the present application is a parallel simulation method based on a Linux system server cluster, which runs a single command in the management node of the server cluster, so as to run the simulation verification task in the management node and the computing node, including Makefile file execution, pipeline technology model and server cluster control, wherein:

[0007] The Makefile file includes simulation verification execution script, parallel thread parameter and calling server node number parameter setting. At the same time, the Makefile script is used to realize automatic operation;

[0008] Pipeline technology model, when running simulation verification task, every time a simulation task ends, a new task will automatically start execution, according to the limitation of hardware resources, control a certain number of tasks parallel running;

[0009] Server cluster control is to control the communication of server cluster nodes, the server cluster includes storage nodes, management nodes and computing nodes, the nodes are connected through the network, all nodes run Linux system, the Linux systems are logged in between each other without password through SSH protocol, the computing nodes keep time consistent with the management nodes through NTP protocol, the files of all nodes are stored in the storage nodes through NFS protocol, the management nodes monitor the computing nodes, the parallel application programs running on the computing nodes complete the communication between parallel processes by using MPI.

[0010] The method is simple and easy to operate, through the parallel simulation technology based on the server cluster, the automation execution is utilized, the steps and time of manual operation can be greatly optimized, the whole simulation verification execution period can be greatly shortened through parallel execution, the enterprise cost is reduced, and the method has remarkable social and economic benefits. BRIEF DESCRIPTION OF DRAWINGS

[0011] Figure 1 It is the process flowchart of the application.

[0012] Figure 2 It is the execution result statistical chart of the embodiment of the application. DETAILED DESCRIPTION

[0013] The specific embodiment of the application will be described in detail below in combination with the drawings and specific conditions.

[0014] A parallel simulation method based on Linux system server cluster, comprising the following steps:

[0015] S1, parameter setting: setting the executed task environment by using Makefile file, including total number of tasks to be executed Q, server node information and number N, and number of threads that can be simultaneously run by each server M, so as to allocate tasks in the execution process, M, N and Q are all natural numbers not less than 1; at the same time, the simulation steps and simulation tool configuration are set, and make can be directly called for the compile stage execution of RTL and the automatic execution of use case simulation in the later period;

[0016] S2, pipeline processing: create pipeline token number M*N, use the limit of pipeline token number to control the maximum number of parallel running tasks, each task can be executed after obtaining the pipeline token, use the token to control the task in the execution process, issue the token to the task to be executed and enter the execution state, recover the token of the end task and issue the recycled token to the remaining to-be-executed task, in the case that the parallel running task reaches the set maximum pipeline token number, use the pipeline token to control each execution task to end, automatically start a new to-be-executed task, dynamically allocate the remaining to-be-executed task to each thread, so that the resource utilization rate reaches the maximum, until all to-be-executed tasks are completed.

[0017] S3, result processing: after single use case simulation verification is executed, the use case execution result is printed to the log text of the use case folder under the work directory, whether the total number of executed tasks is equal to the execution task total number Q is judged, when not equal to the execution task total number Q, step S2 is returned to continue to execute, when all verification use cases are executed, the results of each use case before are summarized to the text report report.log under the work directory, and the report is viewed to obtain all the results of the running.

[0018] The method is simple, easy to operate and high in efficiency, and in specific implementation, the following examples are given.

[0019] Parameter setting: 2 server nodes (namely N=2), each node can run 4 threads (namely M=4) at the same time, and the total number of to-be-executed tasks is 113 (namely the compile process task 1 of the measured RTL, the number of cases is 112, and the total number Q=113).

[0020] The execution result statistics are shown in Figure 2 There are 1 compile task and 112 case tasks to be executed, and each time a case verification task ends, a new case verification task is automatically triggered to start automatic execution. This embodiment selects 112 cases in total, and the parallel verification task is executed by eight threads of two nodes, and the starting time is 0 point. On each thread, each time a task ends, a new task starts. The total time consumption is 482 seconds. If the traditional way is used and the time consumption of manual operation is ignored, the serial execution needs to consume 5864 seconds. It can be clearly seen that by using the method, the efficiency is greatly improved, and the efficiency is improved by about 12 times.

[0021] The method is simple and easy to operate, through the parallel simulation technology based on the server cluster, the tasks can be automatically and reasonably distributed during parallel execution, and the simulation verification can be automatically executed, on the premise of ensuring the simulation accuracy, the steps and time of manual operation are greatly optimized, and the entire simulation verification execution period can be greatly shortened through parallel execution, through actual test verification, the efficiency is improved by 12 times compared with the traditional mode, the enterprise cost is greatly reduced, and the social and economic benefits are remarkable.

Claims

1. A parallel simulation method based on a Linux system server cluster, characterized in that, By running a single command in the management node of the server cluster, the simulation verification task is achieved in the management node and the computing node, including Makefile file execution, pipeline technology model and server cluster control, wherein: The Makefile file includes simulation verification execution script, parallel thread parameter and server node number parameter setting, and the Makefile script is used for automatic operation; The pipeline technology model is used for starting a new task for execution automatically when a simulation task ends, and a certain number of tasks are controlled to run in parallel according to the limitation of hardware resources; The server cluster control is used for controlling the communication of the server cluster nodes, the server cluster includes storage nodes, management nodes and computing nodes, the nodes are connected through the network, all the nodes run the Linux system, the Linux systems are logged in to each other without password through the SSH protocol, the computing nodes keep the time consistent with the management nodes through the NTP protocol, the files of all the nodes are stored in the storage nodes through the NFS protocol, the management nodes monitor the computing nodes, and the parallel application programs running on the computing nodes complete the communication between parallel processes by using MPI; The specific steps of the method are as follows: S1, parameter setting: the Makefile file is used for setting the task execution environment, including total number of tasks to be executed Q, server node information and number N, and number of threads M that can be run simultaneously on each server, so as to allocate tasks in the execution process, wherein M, N and Q are all natural numbers greater than or equal to 1; meanwhile, the simulation steps and simulation tool configuration are set, and the make is directly called for the compile stage execution of RTL and the automatic execution of use case simulation in the later period; S2, pipeline processing: the number of pipeline tokens M×N is created, the maximum number of parallel running tasks is controlled by using the limitation of the number of pipeline tokens, each task can be executed after obtaining the pipeline token, the tasks in the execution process are controlled by using the token, the token is issued to the task to be executed and then enters the execution state, the token is recovered from the ended task and then is issued to the remaining to-be-executed task, in the case that the number of parallel running tasks reaches the set maximum number of pipeline tokens, a new to-be-executed task is automatically started after each execution task ends, the remaining to-be-executed tasks are dynamically allocated to each thread, so that the resource utilization rate is maximized, and all to-be-executed tasks are completed; S3, result processing: after a single use case simulation verification is executed, the use case execution result is printed into the log text of the use case folder under the work directory, whether the total number of executed tasks is equal to the execution task total number Q is judged, if not, the step S2 is returned to continue to execute; when all the verification use cases are executed, the results of each use case are summarized into the text report report.log under the work directory, and the report is viewed to obtain all the results of the executed tasks.

Citation Information

Patent Citations

  • Multi-computer cluster parallel simulation method and multi-computer cluster system

    CN114217871A

  • Intelligent simulation resource scheduling method and system

    CN114357816A