CN112379981A - Lock-free synchronization method for distributed real-time simulation task - Google Patents

Lock-free synchronization method for distributed real-time simulation task Download PDF

Info

Publication number
CN112379981A
CN112379981A CN202011260181.3A CN202011260181A CN112379981A CN 112379981 A CN112379981 A CN 112379981A CN 202011260181 A CN202011260181 A CN 202011260181A CN 112379981 A CN112379981 A CN 112379981A
Authority
CN
China
Prior art keywords
task
slave
signal
tasks
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011260181.3A
Other languages
Chinese (zh)
Inventor
柳青
周斌
王康
王志伟
汪光森
廖涛
李配飞
郭威
李德南
熊又星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Naval University of Engineering PLA
Original Assignee
Naval University of Engineering PLA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Naval University of Engineering PLA filed Critical Naval University of Engineering PLA
Priority to CN202011260181.3A priority Critical patent/CN112379981A/en
Publication of CN112379981A publication Critical patent/CN112379981A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention provides a lock-free synchronization method for a distributed real-time simulation task, which is characterized by comprising the following steps of: the main task and each corresponding slave task form a pair of main and slave tasks respectively; the main task acquires accurate time by accessing a high-precision clock source to control the simulation step length; initializing all main tasks and slave tasks; starting all tasks, enabling all master-slave tasks to enter circular synchronization at the starting time, and synchronously executing the master task and the slave task in each pair of the master-slave tasks. The invention aims to provide a lock-free synchronization method for distributed real-time simulation tasks, aiming at the defects of the prior art and solving the problems of high simulation task synchronization resource overhead, large simulation step size and the like in the conventional high-performance real-time simulation system.

Description

Lock-free synchronization method for distributed real-time simulation task
Technical Field
The invention relates to the technical field of computer simulation, in particular to a lock-free synchronization method for distributed real-time simulation tasks.
Background
The real-time simulation technology is a simulation method with completely consistent simulation time and real time, namely, the real time passes by a time quantum of delta T, and a real-time simulation system also runs the time quantum of delta T. Corresponding to real-time simulation are super real-time simulation (simulation time is less than real time) and under real-time simulation (simulation time is greater than real time).
The one-to-one relation between the simulation time and the real time is simulated in real time, so that the simulation method can be applied to off-line simulation and on-line simulation. By combining with an actual device, the real-time simulation technology can most appropriately simulate various running states of a real system in a semi-physical simulation system. Through real-time simulation, on one hand, a relatively real system environment is simulated for the optimization design and verification functions of designers, and on the other hand, huge risks caused by serious faults or misoperation during real system testing or experiments are avoided. Therefore, real-time simulation is widely applied in the fields of electric power systems, aerospace, automobiles and the like.
The real-time simulation system runs the simulation tasks step by step according to the fixed step length, the simulation tasks in each step length carry out the simulation operation of the system, and the simulation tasks ensure the real-time performance of each simulation step length by ensuring the consistency of the real time. Generally, the smaller the simulation step size, the higher the simulation precision, and the finer the simulation of the real system, so that the error with the real system is also smaller.
The simulation content is divided into individual tasks, and the tasks are distributed to different computing nodes to run in a distributed mode, so that the problem that the computing power of the single computing node is insufficient can be solved. Distributed real-time simulation generally solves the problem of synchronization between multiple tasks: 1) the simulation time of each task needs to be consistent with the real time, and the real-time performance is met; 2) all tasks need to start and end uniformly, and data consistency is met.
On one hand, distributed simulation requires calculation to be distributed to different nodes, overall calculation performance is increased, and synchronous overhead (delay) between tasks is increased for ensuring consistency between tasks; on the other hand, the existing distributed simulation task synchronization generally adopts timers and message communication mechanisms (such as semaphores, pipes, sockets and the like) provided by an operating system, and the timers and the communication methods are not specially prepared for the simulation task with high real-time performance and have poor real-time performance. For example, some timing or communication methods may block the CPU or lock resources, cause the CPU to switch to perform other tasks or sleep, or increase task switching time, or increase response delay.
Busy, etc. (a program occupies the CPU by continuously polling a clock or a variable) can effectively reduce application response delay and enhance instantaneity, but has the problem of high computational resource overhead, and long-time busy, etc. can cause the CPU to reduce frequency or enter a power saving mode, thereby reducing the computational resource utilization rate.
In distributed simulation, a synchronization method of a simulation task influences the size of a simulation step and the utilization rate of computing resources, and how to realize the synchronization method with small simulation step and low resource occupancy rate is a key technology of distributed real-time simulation.
Disclosure of Invention
The invention aims to provide a lock-free synchronization method for distributed real-time simulation tasks, aiming at the defects of the prior art and solving the problems of high simulation task synchronization resource overhead, large simulation step size and the like in the conventional high-performance real-time simulation system.
The invention provides a lock-free synchronization method for a distributed real-time simulation task, which is characterized by comprising the following steps of:
A. the main task and each corresponding slave task form a pair of main and slave tasks respectively; the main task and the subordinate task are processes or threads with different functional roles in the computer and independently run in a computing unit;
B. the main task acquires accurate time to control the simulation step length by accessing a high-precision clock source provided by an operating system, and the main task and the auxiliary task share the consistent high-precision clock;
C. initializing all main tasks and slave tasks;
D. starting all tasks, wherein all master and slave tasks enter cycle synchronization at the starting time, and a master task and a slave task in each pair of master and slave tasks are synchronously executed;
E. and if any master-slave task is overtime, namely the running time exceeds the expectation, the master-slave task is busy and the overtime task is finished.
In the technical scheme, each task has a waiting signal and a continuing signal; the task can continue to run only when the waiting signal and the continuing signal which are held by the task meet the continuing condition, otherwise, the task always waits for the continuing condition to meet; each task modifies only its own wait signal and the continue signals of other tasks or modifies only its own continue signal and the wait signals of other tasks.
In the above technical solution, each pair of master-slave tasks is executed in different independent computing units, and different independent computing units execute each pair of master-slave tasks in parallel at the same time. The present invention treats multiple CPUs or multiple CPU cores as multiple compute units. Or a plurality of FPGA board cards on the same host participate in calculation together.
In the above technical solution, the step B specifically includes the following steps:
and initializing a waiting signal and a continuing signal of each task, and respectively assigning initial values to the waiting signal and the continuing signal.
In the above technical solution, in step D, the main task cycle synchronization includes the following steps:
(1.1) updating the waiting signal of the master task and the continuing signals of all the slave tasks;
(1.2) executing the main task content;
(1.3) waiting until a time point Ts + i Δ T by the task, wherein the waiting mode is dormancy or continuous acquisition time judgment; wherein Ts is the start time, i is the number of task cycles, and Δ T is the simulation step length;
(1.4) the main task judges whether a task continuous execution condition is met or not by the numerical values of the waiting signal and the continuous signal of the task, if so, the task is continuously executed, otherwise, the task is continuously judged;
(1.5) jump to step 1.1.
In the above technical solution, in the step D, the slave task cycle synchronization includes the following steps:
(2.1) judging whether a task continuous execution condition is met or not from the task through the numerical values of the waiting signal and the continuing signal, if so, continuing execution, and otherwise, continuously judging the task;
(2.2) executing the slave task content;
(2.3) updating the slave task waiting signal and the master task continuing signal;
(2.4) jump to step 2.1.
In the above technical solution, in the step D, if the slave task cycle synchronization execution process is interrupted by the outside, all tasks are destroyed and the storage space occupied by the wait signal and the continue signal is released, and the simulation task is directly exited.
In the above technical solution, the wait signal and the continue signal are storage variables shared between the master task and the slave task; the master task and the slave task realize lock-free synchronization through a reader-writer mode, and only one writer exists for any signal variable at a certain time.
In the above technical solution, in the step E, the task timeout synchronization includes the following steps:
(3.1) until a time point Ts + i Δ T, if the main task or the slave task finds that the self waiting signal and the continuing signal do not meet the task continuing execution condition, the main task or the slave task is regarded as one time-out;
(3.2) once the time is out, the task is busy and polls the numerical values of the waiting signal and the continuing signal until the task continuing execution condition is met;
and if the task is overtime, the simulation step size and the next synchronization time are not changed (no matter whether the ith simulation step size is overtime or not, the (i +1) th synchronization time point is Ts + (i +1) × Delta T).
The invention provides a lock-free synchronization method and a lock-free synchronization device for distributed real-time simulation tasks, wherein a master task and a slave task realize two-stage synchronization, the first stage realizes coarse-grained synchronization between tasks through high-precision dormancy, and the second stage realizes complete synchronization by using the condition that the cost of a CPU is high and busy and the like, because the time of a second node is very small, the resource cost is far less than that of busy and the like, and the real-time performance is superior to the timing and communication mechanism provided based on an operating system. In a word, the method can realize the small-step-size real-time simulation of a microsecond level by using the high-precision clock, and simultaneously solves the problems of high simulation task synchronization resource overhead, large simulation step size and the like in the conventional high-performance real-time simulation system.
Drawings
FIG. 1 is a schematic diagram of a master task and a slave task of the present invention;
FIG. 2 is a flowchart illustrating the cycle synchronization steps of the master task and the slave task according to the present invention.
Detailed Description
The invention will be further described in detail with reference to the following drawings and specific examples, which are not intended to limit the invention, but are for clear understanding.
As shown in fig. 1, the present invention provides a lock-free synchronization method for distributed real-time simulation task, which is characterized by comprising the following steps:
A. the main task and each corresponding slave task form a pair of main and slave tasks respectively;
B. the main task acquires accurate time by accessing a high-precision clock source to control the simulation step length;
C. initializing all main tasks and slave tasks;
D. starting all tasks, wherein all master and slave tasks enter cycle synchronization at the starting time, and a master task and a slave task in each pair of master and slave tasks are synchronously executed;
E. and if any master-slave task is overtime, namely the running time exceeds the expectation, the master-slave task is busy and the overtime task is finished.
The high-precision clock source is provided by software of an operating system (the bottom layer of the high-precision clock source also corresponds to a hardware clock) instead of directly using a clock signal generated by the hardware clock; the high-precision clocks of the master task and the slave task are subjected to clock synchronization, and the master task and the slave task can share the same clock; the synchronization of tasks is based on the synchronization of clocks, but the synchronization of clocks does not guarantee the synchronization of tasks, and the running time of the tasks can be jittered due to environmental changes. The master task and the slave task of the invention are threads or processes running on independent computing units, and can not realize notification and synchronization by a direct calling mode.
The high-precision clock applied by the invention needs the common support of hardware and an operating system: on one hand, a physical high-frequency clock (such as a TSC clock and an HPET clock) for generating high-precision time exists in the computer; on the other hand, software of the operating system is required to support these high-precision clocks and guarantee real-time performance. The application layer may use a high precision clock to obtain precise time with a small offset from the real time. However, the general clock can only provide lower time precision for upper layer applications due to low frequency, poor precision and weak real-time performance of the operating system.
The master-slave tasks of the invention are distributed to different independent computing units: for example, different processes (threads) are allocated to different CPU cores of the multi-core CPU for respective computations. The method is distributed to independent computing cores, on one hand, distributed simulation needs are needed, namely computing is distributed to a plurality of nodes to reduce computing time, on the other hand, one task can independently occupy a CPU core, task switching time is reduced, and task instantaneity is enhanced.
The real-time simulation task comprises a plurality of tasks running on an independent computing unit, wherein the tasks comprise 1 main task and n other tasks (n is more than or equal to 1), the main task and each other task form a pair of main and auxiliary tasks, one group of the main and auxiliary tasks are Tm and Ts, and the simulation step length is 10 microseconds (delta T is 10 us). As shown in fig. 1, the master task may obtain precise time by accessing a high-precision clock source. Each task (master or slave) holds a pair of signals, namely a wait signal and a continue signal, and the task continues to run only when the wait signal and the continue signal held by the task meet a continue condition, otherwise the continue condition is always waited for to meet. Each task modifies only its own wait signal and the other tasks 'continue signals (or only its own continue signal and the other tasks' wait signals).
The independent computing unit is a general-purpose or special-purpose processor unit with computing capability, such as a CPU core, a CPU hyper-thread, an FPGA, a GPU core, and the like, and a plurality of CPUs or a plurality of CPU cores can be regarded as a plurality of computing units. Or a plurality of FPGA board cards on the same host participate in calculation together. Different independent computing units may execute programs in parallel at the same time.
The tasks (peer task, master task, and slave task) refer to independently executable programs, such as processes, threads, or a piece of independently executable program code on an operating system. The master task controls the simulation step size and controls the execution and waiting of the slave task through the waiting and continuing signals.
The high-precision clock source is a digital clock with high time precision and accuracy and low time jitter, and can provide timing and timing functions for tasks running on a computing unit, such as a TSC clock and an HPET clock of an X86 processor, a frequency clock of an FPGA and the like. The precision and the jitter of the high-precision clock source are adaptive to the size of the simulation step length. The smaller the step size, the higher the clock source accuracy. An operating system is generally limited to a simulation step minimum value according to hardware and software, and in an actual situation, the simulation step size is manually set according to the model size and the task requirement (partially by experience). Once a certain fixed step size is chosen, the task will model-wise emulate (guaranteed by high precision clocks and applications) constantly at that fixed step size. The criteria for manually selecting the fixed simulation step size are: 1) greater than the simulation step minimum; 2) the required simulation operation can be completed within the fixed simulation step length.
The signals (wait signal and continue signal) are storage variables shared between tasks, such as volatile (shared) shared memory variables, etc.
The master task and the slave task realize lock-free synchronization through a reader-writer mode, and only one writer exists in any signal variable at a certain moment, so that lock-free access to key data is guaranteed.
An initialization step comprising the sub-steps of:
initializing a master task Tm waiting signal Tm. wait ═ 0 and a continuation signal Tm. continuation ═ 1, and initializing a slave task waiting signal ts.wait ═ 0 and a continuation signal ts.continuation ═ 1;
starting all peer-to-peer tasks, entering cycle synchronization at the time of starting time Ts, and executing step 2;
(2.1) the main task cycle synchronization comprises the steps of:
(2.1.1) adding 1 to the main task waiting signal, namely + + Tm.wait; add 1 from the task continuation signal, i.e. + ts.continue;
(2.1.2) executing the main task content, namely running the simulation program code in the main task;
(2.1.3) in the i-th loop, the sleep function clock _ sleep () is executed to a time point Ts +. DELTA.T.i., Ts +10 i.
(2.1.4) the main task judges whether the continuous execution condition of the task is met, and the continuous execution condition is the following inequality
Tm.continue>Tm.wait
If the execution is satisfied, continuing to execute, otherwise, if the task is overtime, entering a task overtime synchronization step, and continuously judging whether the execution condition is satisfied in the overtime step;
(2.1.5) jump to step 2.1.1.
(2.2) slave task cycle synchronization comprising the steps of:
(2.2.1) judging whether a task continuous execution condition is met from the task, wherein the continuous execution condition is the following inequality
Ts.continue>Ts.wait
If the continuous execution is satisfied, otherwise, the task continuously judges whether the continuous execution condition is satisfied;
(2.2.2) executing the slave task content, i.e. running the slave task emulating program code;
(2.2.3) adding 1 to the slave task waiting signal, namely + + Ts.wait, and adding 1 to the master task continuing signal, namely + + Tm.continue;
(2.2.4) jump to step 2.2.1.
Wherein the task timeout synchronization comprises the steps of:
(3.1) until a time point Ts + i Δ T, judging that the main task or the slave task does not meet the task continuous execution condition of the waiting signal and the continuous signal of the main task or the slave task, and regarding the main task or the slave task as one-time overtime;
(3.2) once the time is out, the task is busy and polls the numerical values of the waiting signal and the continuing signal until the task continuing execution condition is met;
wherein, whether the task is overtime or not does not change the simulation step length and the next synchronization time; whether the ith simulation step is overtime or not, the (i +1) th synchronization time point is Ts + (i +1) deltaT.
(3) And finishing the step, when the execution process of the step 2 is interrupted by the outside, executing the step, destroying the task Ts and the task Tm, and releasing the storage space occupied by the waiting signals Tm.wait and Ts.wait and the continuing signals Tm.continue and Ts.continue.
Details not described in this specification are within the skill of the art that are well known to those skilled in the art.

Claims (9)

1. A lock-free synchronization method facing to a distributed real-time simulation task is characterized by comprising the following steps:
A. the main task and each corresponding slave task form a pair of main and slave tasks respectively; the main task and the subordinate task are processes or threads with different functional roles in the computer and independently run in a computing unit;
B. the main task acquires accurate time to control the simulation step length by accessing a high-precision clock source provided by an operating system, and the main task and the auxiliary task share the consistent high-precision clock;
C. initializing all main tasks and slave tasks;
D. starting all tasks, wherein all master and slave tasks enter cycle synchronization at the starting time, and a master task and a slave task in each pair of master and slave tasks are synchronously executed;
E. and if any master-slave task is overtime, namely the running time exceeds the expectation, the master-slave task is busy and the overtime task is finished.
2. The lock-free synchronization method for distributed real-time simulation tasks according to claim 1, wherein each task holds a wait signal and a continue signal; the task can continue to run only when the waiting signal and the continuing signal which are held by the task meet the continuing condition, otherwise, the task always waits for the continuing condition to meet; each task modifies only its own wait signal and the continue signals of other tasks or modifies only its own continue signal and the wait signals of other tasks.
3. The lock-free synchronization method for distributed real-time simulation tasks according to claim 1, wherein each pair of master-slave tasks is executed by a different independent computing unit, and the different independent computing units execute each pair of master-slave tasks in parallel at the same time.
4. The lock-free synchronization method for the distributed real-time simulation task according to claim 2, wherein the step B specifically comprises the following steps:
and initializing a waiting signal and a continuing signal of each task, and respectively assigning initial values to the waiting signal and the continuing signal.
5. The lock-free synchronization method for distributed real-time simulation tasks according to claim 4, wherein in step D, the cycle synchronization of the main task comprises the following steps:
(1.1) updating the waiting signal of the master task and the continuing signals of all the slave tasks;
(1.2) executing the main task content;
(1.3) waiting until a time point Ts + i Δ T by the task, wherein the waiting mode is dormancy or continuous acquisition time judgment; wherein Ts is the start time, i is the number of task cycles, and Δ T is the simulation step length;
(1.4) the main task judges whether a task continuous execution condition is met or not by the numerical values of the waiting signal and the continuous signal of the task, if the task continuous execution condition is met, the task is overtime; wherein the continuous execution condition is that the continuous signal value of the main task is greater than the waiting signal value of the main task;
(1.5) jump to step 1.1.
6. The lock-free synchronization method for distributed real-time simulation tasks according to claim 5, wherein the step D, the slave task cycle synchronization comprises the following steps:
(2.1) judging whether a task continuous execution condition is met or not from the task through the numerical values of the waiting signal and the continuing signal, if so, continuing execution, and otherwise, continuously judging the task; wherein the condition of continuing execution is that the value of the continuing signal of the slave task is greater than the value of the waiting signal of the slave task;
(2.2) executing the slave task content;
(2.3) updating the slave task waiting signal and the master task continuing signal;
(2.4) jump to step 2.1.
7. The lock-free synchronization method for distributed real-time simulation tasks according to claim 6, wherein in the step D, if the synchronous execution process from the task cycle is interrupted by the outside, all tasks are destroyed and the memory space occupied by the waiting signal and the continuing signal is released, and the simulation task is directly exited.
8. The lock-free synchronization method for distributed real-time simulation tasks according to claim 7, wherein the wait signal and the continue signal are storage variables shared between the master task and the slave task; the master task and the slave task realize lock-free synchronization through a reader-writer mode, and only one writer exists for any signal variable at a certain time.
9. The lock-free synchronization method for distributed real-time simulation tasks according to claim 5, wherein in the step E, the task timeout synchronization comprises the following steps:
(3.1) until a time point Ts + i Δ T, judging that the main task or the slave task does not meet the task continuous execution condition of the waiting signal and the continuous signal of the main task or the slave task, and regarding the main task or the slave task as one-time overtime;
(3.2) once the time is out, the task is busy and polls the numerical values of the waiting signal and the continuing signal until the task continuing execution condition is met;
wherein, whether the task is overtime or not does not change the simulation step length and the next synchronization time; whether the ith simulation step is overtime or not, the (i +1) th synchronization time point is Ts + (i +1) deltaT.
CN202011260181.3A 2020-11-12 2020-11-12 Lock-free synchronization method for distributed real-time simulation task Pending CN112379981A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011260181.3A CN112379981A (en) 2020-11-12 2020-11-12 Lock-free synchronization method for distributed real-time simulation task

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011260181.3A CN112379981A (en) 2020-11-12 2020-11-12 Lock-free synchronization method for distributed real-time simulation task

Publications (1)

Publication Number Publication Date
CN112379981A true CN112379981A (en) 2021-02-19

Family

ID=74583054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011260181.3A Pending CN112379981A (en) 2020-11-12 2020-11-12 Lock-free synchronization method for distributed real-time simulation task

Country Status (1)

Country Link
CN (1) CN112379981A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113746931A (en) * 2021-09-10 2021-12-03 联想(北京)有限公司 Data synchronization method and device
CN114779878A (en) * 2022-04-25 2022-07-22 南方电网科学研究院有限责任公司 System and method for calculating simulation step length time of power system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361277A (en) * 1988-04-27 1994-11-01 Alberta Telecommunications Research Centre Method and apparatus for clock distribution and for distributed clock synchronization
US5448732A (en) * 1989-10-26 1995-09-05 International Business Machines Corporation Multiprocessor system and process synchronization method therefor
CN102257572A (en) * 2009-01-12 2011-11-23 拉姆伯斯公司 Mesochronous signaling system with core-clock synchronization
CN102467586A (en) * 2010-11-08 2012-05-23 复旦大学 Distributed parallel minimum cost flow method and device for integrated circuit design
CN106909732A (en) * 2017-02-22 2017-06-30 天津大学 A kind of active power distribution network real-time simulator synchronization mechanism method for designing based on many FPGA
US20180307534A1 (en) * 2017-04-25 2018-10-25 Red Hat, Inc. Balancing a recurring task between multiple worker processes
CN111459626A (en) * 2020-03-11 2020-07-28 完美世界(北京)软件科技发展有限公司 Method and device for realizing non-branching seamless game world
CN111708296A (en) * 2020-06-16 2020-09-25 山东省计算中心(国家超级计算济南中心) Synchronous control and data voting method based on two-channel safety PLC

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361277A (en) * 1988-04-27 1994-11-01 Alberta Telecommunications Research Centre Method and apparatus for clock distribution and for distributed clock synchronization
US5448732A (en) * 1989-10-26 1995-09-05 International Business Machines Corporation Multiprocessor system and process synchronization method therefor
CN102257572A (en) * 2009-01-12 2011-11-23 拉姆伯斯公司 Mesochronous signaling system with core-clock synchronization
CN102467586A (en) * 2010-11-08 2012-05-23 复旦大学 Distributed parallel minimum cost flow method and device for integrated circuit design
CN106909732A (en) * 2017-02-22 2017-06-30 天津大学 A kind of active power distribution network real-time simulator synchronization mechanism method for designing based on many FPGA
US20180307534A1 (en) * 2017-04-25 2018-10-25 Red Hat, Inc. Balancing a recurring task between multiple worker processes
CN111459626A (en) * 2020-03-11 2020-07-28 完美世界(北京)软件科技发展有限公司 Method and device for realizing non-branching seamless game world
CN111708296A (en) * 2020-06-16 2020-09-25 山东省计算中心(国家超级计算济南中心) Synchronous control and data voting method based on two-channel safety PLC

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AYESHA SADIQ: "A survey on the use of access permission-based specifications for program verification", JOURNAL OF SYSTEMS AND SOFTWARE, vol. 159, pages 1 - 25 *
朱小东;吴俊敏;唐轶轩;陈国良;隋秀峰;: "两级同步:面向众核处理器的并行仿真机制", 系统仿真学报, no. 12, pages 10 - 17 *
李靖 等: "实时仿真系统信号复用/解复用算法设计", 计算机工程与应用, vol. 54, no. 01, pages 246 - 250 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113746931A (en) * 2021-09-10 2021-12-03 联想(北京)有限公司 Data synchronization method and device
CN114779878A (en) * 2022-04-25 2022-07-22 南方电网科学研究院有限责任公司 System and method for calculating simulation step length time of power system
CN114779878B (en) * 2022-04-25 2023-03-03 南方电网科学研究院有限责任公司 System and method for calculating simulation step length time of power system

Similar Documents

Publication Publication Date Title
CN112379981A (en) Lock-free synchronization method for distributed real-time simulation task
CN101176066B (en) Transparent support for operating system services
CN112199173B (en) Data processing method for dual-core CPU real-time operating system
Miao et al. Spotserve: Serving generative large language models on preemptible instances
EP2672388B1 (en) Multi-processor parallel simulation method, system and scheduler
GB1581597A (en) Computer system
US9612863B2 (en) Hardware device for accelerating the execution of a systemC simulation in a dynamic manner during the simulation
CN103049305A (en) Multithreading method of dynamic code conversion of loongson multi-core central processing unit (CPU) simulation
CN112948136A (en) Method for implementing asynchronous log record of embedded operating system
CN115775199B (en) Data processing method and device, electronic equipment and computer readable storage medium
CN111008042A (en) Efficient general processor execution method and system based on heterogeneous pipeline
US9043507B2 (en) Information processing system
CN111258715B (en) Multi-operating system rendering processing method and device
KR20220142992A (en) Quantum Control System, Quantum Control Processor, and Method for Executing a Quantum Instruction Set
US20180341482A1 (en) Method and arrangement for utilization of a processing arrangement
Kluge et al. Operating systems for manycore processors from the perspective of safety-critical systems
De Munck et al. Design and performance evaluation of a conservative parallel discrete event core for GES
CN115309555B (en) Parallel computing method and system for satellite, storage medium and equipment
CN117311953A (en) Micro-service architecture based on node. Js single thread and demonstration method thereof
US20070225963A1 (en) Method to Process Instruction Requests for a Digital Hardware Simulator and Instruction Request Broker
He et al. MPI+ OpenMP implementation and results analysis of matrix multiplication based on rowwise and columnwise block-striped decomposition of the matrices
Zhang et al. An Optimized Memory Management Algorithm for Realtime Simulation on Linux Operation System
Guo et al. Research on Operating System Runtime Jitter Control Method for Electromagnetic Transient Real time Simulation Calculation
Ye et al. Fault Simulation Acceleration Based on ARM Multi-core CPU Architecture
KR20240027783A (en) Power sequencer for power state management

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination