CN111858039B - Time-division-based mimicry quick arbitration method, arbiter, architecture and medium - Google Patents

Time-division-based mimicry quick arbitration method, arbiter, architecture and medium Download PDF

Info

Publication number
CN111858039B
CN111858039B CN202010642264.2A CN202010642264A CN111858039B CN 111858039 B CN111858039 B CN 111858039B CN 202010642264 A CN202010642264 A CN 202010642264A CN 111858039 B CN111858039 B CN 111858039B
Authority
CN
China
Prior art keywords
module
judging
arbitration
pending data
data
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.)
Active
Application number
CN202010642264.2A
Other languages
Chinese (zh)
Other versions
CN111858039A (en
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.)
Zhuhai Comleader Information Technology Co Ltd
Henan Xinda Wangyu Technology Co Ltd
Original Assignee
Zhuhai Comleader Information Technology Co Ltd
Henan Xinda Wangyu Technology Co Ltd
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 Zhuhai Comleader Information Technology Co Ltd, Henan Xinda Wangyu Technology Co Ltd filed Critical Zhuhai Comleader Information Technology Co Ltd
Priority to CN202010642264.2A priority Critical patent/CN111858039B/en
Publication of CN111858039A publication Critical patent/CN111858039A/en
Application granted granted Critical
Publication of CN111858039B publication Critical patent/CN111858039B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)
  • Bus Control (AREA)

Abstract

The invention provides a time-division-based mimicry quick arbitration method, an arbitrator, a framework and a medium, wherein the method comprises the following steps: when the total number of the current data to be arbitrated reaches a preset value M, starting a pre-arbitration module; if the pre-judging module judges that the execution results contained in the first M pieces of pending data are inconsistent, the pre-judging result is not output, and the inconsistent state of the execution results is transmitted to the feedback controller; if the pre-judging module judges that the execution results contained in the first M pieces of pending data are consistent, outputting the execution results as pre-judging results; when the pre-judging module outputs a pre-judging result, starting the post-judging module; the post-arbitration module acquires the pending data and verifies the pre-arbitration result output by the pre-arbitration module based on the pending data. The invention greatly improves the efficiency of the arbiter and shortens the response time of the mimicry construction equipment to external service by means of time-sharing judgment and quick rollback.

Description

Time-division-based mimicry quick arbitration method, arbiter, architecture and medium
Technical Field
The invention relates to the technical field of mimicry defense, in particular to a mimicry quick arbitration method, an arbiter, a framework and a medium based on time division.
Background
The mimicry defense technology is characterized by a dynamic heterogeneous redundancy (DHR: dynamical Heterogeneous Redundant) architecture, heterogeneous executors in the DHR architecture receive external input data and send processing results to a arbiter for decision.
At present, a consistency judging method is adopted by a resolver, and the consistency judging often needs to wait for the output results of all online heterogeneous executors and then judge; because of the difference among heterogeneous execution bodies, the output result of each heterogeneous execution body has time uncertainty, so that a resolver needs to spend more time to conduct a straight-forward decision, and the low resolving efficiency causes the technical problem of slow response speed of the service function of the mimicry construction equipment. In this context, improving the arbitration efficiency of an arbiter is of great importance for enhancing the usability of the pseudo construction equipment.
In order to solve the above problems, an ideal technical solution is always sought.
Disclosure of Invention
The invention aims at overcoming the defects of the prior art, and provides a time-division-based mimicry quick arbitration method, an arbitrator, a framework and a medium.
In order to achieve the above purpose, the technical scheme adopted by the invention is as follows:
the first aspect of the invention provides a time-division-based mimicry quick arbitration method, which comprises the following steps:
when the total number of the current data to be arbitrated reaches a preset value M, starting a pre-arbitration module;
the pre-judging module reads the first M pieces of data to be judged and pre-judges the first M pieces of data to be judged;
if the pre-judging module judges that the execution results contained in the first M pieces of pending data are inconsistent, the pre-judging result is not output, and the inconsistent state of the execution results is transmitted to the feedback controller;
if the pre-judging module judges that the execution results contained in the first M pieces of data to be judged are consistent, outputting the execution results as pre-judging results;
when the pre-judging module outputs a pre-judging result, starting the post-judging module; the post-arbitration module acquires the pending data and verifies the pre-arbitration result output by the pre-arbitration module based on the pending data.
A second aspect of the present invention provides a time-division based pseudo-fast arbiter comprising:
the first judging module is used for starting the pre-judging module when the total number of the current data to be judged reaches a preset value M;
the pre-arbitration module is used for pre-arbitrating the first M pending data: when the execution results contained in the first M pending data are inconsistent, the pre-arbitration module is used for outputting an execution result inconsistent state; when the execution results contained in the first M pending data are consistent, the pre-arbitration module is used for outputting a pre-arbitration result;
the second judging module is used for acquiring a pre-judging result of the pre-judging module; when the pre-judging module outputs a pre-judging result, starting a post-judging module;
and the post-judging module is used for acquiring the pending data and checking the pre-judging result output by the pre-judging module based on the pending data.
The third aspect of the present invention provides a mimicry defense architecture, including an input agent, a heterogeneous executable, a resolver, a feedback controller, and an output agent, where the resolver is the time-division-based mimicry fast resolver.
A fourth aspect of the present invention provides a readable storage medium having instructions stored thereon which, when executed by a processor, implement the steps of a time-division based, mimicry fast arbitration method as described above.
Compared with the prior art, the invention has outstanding substantive characteristics and remarkable progress, and concretely comprises the following steps:
the invention provides a time-division-based mimicry quick arbitration method, an arbitrator, a framework and a medium, wherein a pre-arbitration module is used for pre-arbitrating part of pre-arrived pending data, and a post-arbitrator is used for verifying the output result of the pre-arbitration module based on the subsequently arrived pending data; by means of time-sharing judgment and quick rollback, judging efficiency is greatly improved, response time of the mimicry construction equipment to external service is shortened, and usability and practicability of the mimicry construction equipment are greatly improved.
Drawings
FIG. 1 is a timing diagram of a time-division based method of mimicry fast arbitration of the present invention.
FIG. 2 is a schematic diagram of the time-division based pseudo-fast arbiter of the present invention.
Detailed Description
The technical scheme of the invention is further described in detail through the following specific embodiments.
Example 1
A time-division based mimicry fast arbitration method, the mimicry fast arbitration method comprising the steps of: when the total number of the current data to be arbitrated reaches a preset value M, starting a pre-arbitration module;
the pre-judging module reads the first M pieces of data to be judged and pre-judges the first M pieces of data to be judged; if the pre-judging module judges that the execution results contained in the first M pieces of pending data are inconsistent, the pre-judging result is not output, and the inconsistent state of the execution results is transmitted to the feedback controller; if the pre-judging module judges that the execution results contained in the first M pieces of data to be judged are consistent, outputting the execution results as pre-judging results;
when the pre-judging module outputs a pre-judging result, starting the post-judging module; the post-arbitration module acquires the pending data and verifies the pre-arbitration result output by the pre-arbitration module based on the pending data.
It can be understood that the number of the pre-determined pending data is determined according to the state of the on-line heterogeneous executable, the smaller the pre-determined pending number is, the shorter the corresponding service time of the simulation construction equipment is, but the probability of rollback of the pending data is correspondingly increased. Preferably, the preset value M is greater than or equal to half of the total number of online heterogeneous executions.
It should be noted that, when the pre-arbitration module decides that the execution results contained in the M pieces of pending data are inconsistent, the pre-arbitration module already generates a feedback message, and transmits the inconsistent state of the execution results to the feedback controller, and the feedback controller can clean, synchronize or otherwise operate the heterogeneous execution bodies in advance, so that the availability and practicality of the mimicry construction device are enhanced.
It can be appreciated that when the pre-arbitration module decides that the execution results contained in the first M pending data are inconsistent, the post-arbitration module does not perform any operation on the pending data. On the premise that the execution results contained in the first M pieces of pending data are inconsistent, the execution results contained in all pieces of pending data are inconsistent; therefore, the post-judging module does not need to acquire the residual judging data again, and does not need to compare the residual judging data with the execution results contained in the first M pieces of judging data, so that the response speed of the mimicry construction equipment is greatly improved, the CPU occupation rate of the post-judging module is reduced, and the operation efficiency of the whole judging device is improved.
In this embodiment, when the pre-arbitration module decides that the execution results included in the first M pending data are consistent, the post-arbitration module needs to verify the pre-arbitration result output by the pre-arbitration module; the verification method comprises the following steps: (1) If the execution result contained in the pending data is inconsistent with the pre-determined result output by the pre-determined module, the post-determined module judges that the pre-determined result output by the pre-determined module fails to pass the verification; the post-judging module generates a rollback operation request, performs rollback operation on the pre-judging result output by the pre-judging module, and generates a feedback message transmitted to the feedback controller; (2) If the execution result contained in the pending data is consistent with the pre-determined result output by the pre-determined module, the post-determined module judges that the pre-determined result output by the pre-determined module passes the verification; the post-arbitration module does nothing.
It should be noted that, if the pre-arbitration module decides that the execution results included in the first M pending data are consistent, the pre-arbitration module outputs the execution results to the hardware device as pre-arbitration results, and the hardware device performs corresponding operations based on the pre-arbitration results, thereby improving response efficiency of the hardware device. When the post-judging module judges that the pre-judging result output by the pre-judging module fails to pass the verification, the pre-judging result output by the pre-judging module is wrong, the post-judging module generates a rollback operation request, rollback operation is carried out on the pre-judging result output by the pre-judging module, and the hardware equipment is restored to a state before corresponding operation is carried out on the pre-judging result so as to carry out error correction with the pre-judging result output by the pre-judging module.
Further, the post-arbitration module verifies the pre-arbitration result output by the pre-arbitration module based on all the pending data; or when the total number of the pending data reaches a preset value X, the post-processing module pre-checks the pre-processing result output by the pre-processing module based on the previous X pieces of the pending data. Wherein the pending data refers to the remaining pending data except for that which has been arbitrated by the pre-arbitration module.
It should be noted that, if the post-arbitration module performs the check on the pre-arbitration result output by the pre-arbitration module based on all the pending data, the check is performed once, but there may be a problem that the amount of all the remaining pending data is still large, and the time required for the check process is long.
When the total number of the pending data reaches a preset value X, the post-processing module performs pre-verification on the pre-processing result output by the pre-processing module based on the first X pieces of pending data, more than one verification operation is needed, and once the execution result contained in the first X pieces of pending data (part of the remaining pending data) is inconsistent with the pre-processing result output by the pre-processing module, the post-processing module judges that the pre-processing result output by the pre-processing module fails to pass the verification; at this time, the post-arbitration module can rollback the pre-arbitration result output by the pre-arbitration module in advance, generate a feedback message and send the feedback message to the feedback controller, so as to further shorten the arbitration response time.
In the actual operation of the mimicry construction device, the situation that the execution results contained in the first M pending data are consistent, and the execution results contained in the remaining pending data are inconsistent with the execution results contained in the first M pending data may occur; therefore, when the pre-arbitration module decides that the execution results contained in the first M pending data are consistent, the post-arbitration module needs to read the pre-arbitration results output by the pre-arbitration module and the remaining pending data, and verify the pre-arbitration results output by the pre-arbitration module according to the consistency of the execution results contained in the remaining pending data and the pre-arbitration results. Therefore, the accuracy of the output result is ensured while the judging efficiency is improved.
It can be understood that, when the pre-arbitration module decides that the execution results contained in the first M pending data are inconsistent, the execution results contained in the remaining pending data are inconsistent as compared with the execution results contained in the first M pending data; the pre-arbitration module does not output any pre-arbitration result either; thus, the post-arbitration module does not need to do any operations with respect to the remaining pending data.
Example 2
In order to facilitate management of pending data transmitted by heterogeneous executors, the embodiment sets a plurality of data queues, wherein each online heterogeneous executor corresponds to 1 data queue; different data queues are used to store pending data for different heterogeneous execution transfers.
It should be noted that, in one operation process, when the pending data received by the data queue reaches M, the pre-arbitration module is started. The total number of the current pending data refers to the dynamic pending data quantity; sequencing all the pending data according to the time when the pending data arrives at the arbitrator, and continuously counting the total number of the pending data; and adding 1 to the total number of the current pending data until the total number of the current pending data reaches a preset value M after receiving one pending data.
It should be noted that, the data queue adopts first-in first-out, last-in last-out; compared with the traditional method that all pending data are stored in the same data queue, the method and the device store the pending data of different heterogeneous executors to different data queues, so that the pre-and post-pending modules can conveniently and quickly read the pending data to perform the arbitration, the time for acquiring the pending data is shortened, and the arbitration efficiency is further improved.
Due to the variability of heterogeneous execution (processing performance or operating system, etc.), the time of the pending data output by each heterogeneous execution is different, even with respect to pending data for the same instruction data, the time at which the pending data is received by the arbiter is different. Different pending data about different instruction data transmitted by the same heterogeneous execution body are stored in different positions of the same data queue; pending data transmitted by different heterogeneous executives regarding the same instruction data is stored at different locations or at the same location in different data queues.
For pending data of the same instruction data output by different heterogeneous executors, the invention stores the pending data to different positions of corresponding data queues according to the time when the pending data arrives at the arbiter. And marking the received pending data through the position numbers in the data queue, and if the position numbers corresponding to the pending data are the same, indicating that the time for the pending data to arrive at the arbitrator is the same.
In one embodiment, as shown in fig. 2, the mimicry construction device includes three online heterogeneous executors, and three data queues are correspondingly arranged. After the heterogeneous executable responds to the instruction data A, pending data A is generated; the arbitrator receives the pending data A of different heterogeneous execution bodies, the pending data A in the heterogeneous execution body 1 reaches the data queue 1 at the time T0, the pending data A in the heterogeneous execution body 2 reaches the data queue 2 at the time T1, and the pending data A in the execution body 3 reaches the data queue 3 at the time T2. At this time, pending data a of different heterogeneous executives are stored at different locations of the corresponding data queues.
It may also occur that the heterogeneous executable generates pending data B after responding to instruction data B; the arbitrator receives the pending data B of different heterogeneous executors, the pending data B in the heterogeneous executor 1 reaches the data queue 1 at the time T3, the pending data B in the heterogeneous execution 2 reaches the data queue 2 at the time T4, and the pending data B in the executor 3 reaches the data queue 3 at the time T3. At this time, the pending data B of the heterogeneous executable 1 and the pending data B of the heterogeneous executable 3 are stored in the same position of the corresponding data queue; pending data B for heterogeneous execution 2 is stored in data queue 2 and is different from the storage locations of pending data B for heterogeneous execution 1 and pending data B for heterogeneous execution 3.
Example 3
On the basis of the time-division-based mimicry quick arbitration method in embodiment 1, this embodiment provides a time-division-based mimicry quick arbiter, where the mimicry quick arbiter includes a first arbitration module, a pre-arbitration module, a second arbitration module, and a post-arbitration module.
In this embodiment, the first determining module is configured to start the pre-arbitration module when the total number of currently pending data reaches a preset value M; when the total number of the current pending data does not reach a preset value M, not starting the pre-arbitration module;
it can be understood that the number of the pre-determined pending data is determined according to the state of the on-line heterogeneous executable, the smaller the pre-determined pending number is, the shorter the corresponding service time of the simulation construction equipment is, but the probability of rollback of the pending data is correspondingly increased. Preferably, the preset value M is greater than or equal to half of the total number of online heterogeneous executions.
In this embodiment, the pre-arbitration module is configured to pre-arbitrate the first M pending data; the pre-arbitration rules are: (1) If the pre-judging module judges that the execution results contained in the first M pieces of pending data are inconsistent, the pre-judging result is not output, and the inconsistent state of the execution results is transmitted to the feedback controller; (2) If the pre-judging module judges that the execution results contained in the first M pieces of pending data are consistent, the execution results are output as pre-judging results.
It should be noted that, when the pre-arbitration module decides that the execution results contained in the M pieces of pending data are inconsistent, the pre-arbitration module already generates a feedback message, and transmits the inconsistent state of the execution results to the feedback controller, and the feedback controller can clean, synchronize or otherwise operate the heterogeneous execution bodies in advance, so that the availability and practicality of the mimicry construction device are enhanced.
In this embodiment, the second determining module is configured to obtain a pre-arbitration result or an execution result inconsistent state of the pre-arbitration module; when the pre-judging module outputs a pre-judging result, starting the post-judging module; when the pre-judging module does not output a pre-judging result and an execution result inconsistent state is output, the post-judging module is not started;
it can be appreciated that when the pre-arbitration module decides that the execution results contained in the first M pending data are inconsistent, the post-arbitration module does not perform any operation on the pending data. On the premise that the execution results contained in the first M pieces of pending data are inconsistent, the execution results contained in all pieces of pending data are inconsistent; therefore, the post-judging module does not need to acquire the residual judging data again, and does not need to compare the residual judging data with the execution results contained in the first M pieces of judging data, so that the response speed of the mimicry construction equipment is greatly improved, meanwhile, the occupancy rate of the post-judging module is reduced, and the operation efficiency of the whole judging device is improved.
The post-judging module is used for acquiring the pending data and checking the pre-judging result output by the pre-judging module based on the pending data.
In this embodiment, the post-arbitration module is configured to verify a pre-arbitration result output by the pre-arbitration module, where a verification rule is: (1) If the execution result contained in the pending data is inconsistent with the pre-determined result output by the pre-determined module, the post-determined module judges that the pre-determined result output by the pre-determined module fails to pass the verification; the post-judging module generates a rollback operation request, performs rollback operation on the pre-judging result output by the pre-judging module, and generates a feedback message transmitted to the feedback controller; (2) If the execution result contained in the pending data is consistent with the pre-determined result output by the pre-determined module, the post-determined module judges that the pre-determined result output by the pre-determined module passes the verification; the post-arbitration module does nothing.
It should be noted that, if the pre-arbitration module decides that the execution results included in the first M pending data are consistent, the pre-arbitration module outputs the execution results to the hardware device as pre-arbitration results, and the hardware device performs corresponding operations based on the pre-arbitration results, thereby improving response efficiency of the hardware device. When the post-judging module judges that the pre-judging result output by the pre-judging module fails to pass the verification, the post-judging module generates a rollback operation request, and rollback operation is carried out on the pre-judging result output by the pre-judging module, so that the hardware equipment is restored to a state before corresponding operation is carried out on the pre-judging result, and error correction is carried out on the hardware equipment and the pre-judging result.
Further, the post-arbitration module is configured to verify the pre-arbitration result output by the pre-arbitration module based on all the pending data, or to pre-verify the pre-arbitration result output by the pre-arbitration module based on the first X pending data when the total number of the pending data reaches a preset value X.
It should be noted that, if the post-arbitration module performs the check on the pre-arbitration result output by the pre-arbitration module based on all the pending data, the check is performed once, but there may be a problem that the amount of all the remaining pending data is still large, and the time required for the check process is long.
When the total number of the pending data reaches a preset value X, the post-processing module performs pre-verification on the pre-processing result output by the pre-processing module based on the first X pieces of pending data, more than one verification operation is needed, and once the execution result contained in the first X pieces of pending data (part of the remaining pending data) is inconsistent with the pre-processing result output by the pre-processing module, the post-processing module judges that the pre-processing result output by the pre-processing module fails to pass the verification; at this time, the post-arbitration module can rollback the pre-arbitration result output by the pre-arbitration module in advance, generate a feedback message and send the feedback message to the feedback controller, so as to further shorten the arbitration response time.
In this embodiment, the time-division based pseudo-fast arbiter further comprises a data queue management module, the data queue management module is used for marking the received pending data according to the arrival time, counting the total number of the current pending data and transmitting the total number to the first judgment module.
It should be noted that, the total number of the current pending data refers to the dynamic number of the pending data; sequencing all the pending data according to the time when the pending data arrives at the arbitrator, and continuously counting the total number of the pending data; and adding 1 to the total number of the current pending data until the total number of the current pending data reaches a preset value M after receiving one pending data.
Further, the data queue management module is further configured to set different data queues for different heterogeneous execution bodies, where the different data queues are used to store pending data transmitted by the different heterogeneous execution bodies.
It should be noted that, the data queue adopts first-in first-out, last-in last-out; compared with the traditional method that all pending data are stored in the same data queue, the method and the device store the pending data of different heterogeneous executors to different data queues, so that the pre-and post-pending modules can conveniently and quickly read the pending data to perform the arbitration, the time for acquiring the pending data is shortened, and the arbitration efficiency is further improved.
For pending data of the same instruction data output by different heterogeneous executors, the invention stores the pending data to different positions of corresponding data queues according to the time when the pending data arrives at the arbiter. And marking the received pending data through the position numbers in the data queue, and if the position numbers corresponding to the pending data are the same, indicating that the time for the pending data to arrive at the arbitrator is the same.
Different pending data about different instruction data transmitted by the same heterogeneous execution body are stored in different positions of the same data queue; pending data transmitted by different heterogeneous executives regarding the same instruction data is stored at different locations or at the same location in different data queues.
Example 4
The embodiment provides a mimicry defense architecture, which comprises an input agent, a heterogeneous executable, a resolver, a feedback controller and an output agent, wherein the resolver is the mimicry rapid resolver based on a time division formula in embodiment 3.
In this embodiment, the heterogeneous executable is configured to receive user instruction data and output pending data to the pseudo-fast arbiter;
the pre-judging module of the mimicry quick judging device is used for pre-judging the first M pieces of pending data when the total number of the current pending data reaches a preset value M; when the execution results contained in the first M pending data are consistent, the pre-arbitration module is used for outputting pre-arbitration results to the hardware equipment; when the execution results contained in the first M pending data are inconsistent, the pre-arbitration module is used for outputting an execution result inconsistent state to the feedback controller;
the post-judging module of the mimicry quick judging device is used for checking the pre-judging result output by the pre-judging module based on the pre-judging data when the pre-judging module outputs the pre-judging result;
and the feedback controller is used for pre-adjusting the heterogeneous execution body according to the inconsistent state of the execution result.
It should be noted that, when the pre-arbitration module decides that the execution results contained in the M pieces of pending data are inconsistent, the pre-arbitration module already generates a feedback message, and transmits the inconsistent state of the execution results to the feedback controller, and the feedback controller can clean, synchronize or otherwise operate the heterogeneous execution bodies in advance, so that the availability and practicality of the mimicry construction device are enhanced.
Further, the post-judging module of the mimicry fast judging device is configured to generate a rollback operation request when the execution result included in the pending data is inconsistent with the pre-judging result output by the pre-judging module, and perform a rollback operation on the pre-judging result output by the pre-judging module. Wherein the pending data refers to the remaining pending data except for that which has been arbitrated by the pre-arbitration module.
It should be noted that, if the post-arbitration module performs the check on the pre-arbitration result output by the pre-arbitration module based on all the pending data, the check is performed once, but there may be a problem that the amount of all the remaining pending data is still large, and the time required for the check process is long.
When the total number of the pending data reaches a preset value X, the post-processing module performs pre-verification on the pre-processing result output by the pre-processing module based on the first X pieces of pending data, more than one verification operation is needed, and once the execution result contained in the first X pieces of pending data (part of the remaining pending data) is inconsistent with the pre-processing result output by the pre-processing module, the post-processing module judges that the pre-processing result output by the pre-processing module fails to pass the verification; at this time, the post-arbitration module can rollback the pre-arbitration result output by the pre-arbitration module in advance, generate a feedback message and send the feedback message to the feedback controller, so as to further shorten the arbitration response time.
Figure 1 shows a timing diagram of the operation of the mimicry defense architecture, in particular:
the heterogeneous executor 1 to the heterogeneous executor N respectively send pending data to the mimicry quick arbiter; wherein N is greater than or equal to M;
the mimicry quick arbiter receives pending data sent by different heterogeneous executors and stores the pending data into a corresponding data queue;
sequencing all the pending data according to the time when the pending data arrives at the arbitrator, and continuously counting the total number of the pending data;
adding 1 to the total number of the current pending data until the total number of the current pending data reaches a preset value M after receiving one pending data;
when the total number of the current data to be arbitrated reaches a preset value M, starting a pre-arbitration module;
the pre-judging module reads the first M pieces of data to be judged and pre-judges the first M pieces of data to be judged;
if the pre-judging module judges that the execution results contained in the first M pieces of pending data are inconsistent, the pre-judging result is not output, and the inconsistent state of the execution results is transmitted to the feedback controller;
if the pre-judging module judges that the execution results contained in the first M pieces of data to be judged are consistent, outputting the execution results as pre-judging results;
the arbitrator transmits the pre-arbitrated result to the hardware equipment, and the hardware equipment executes corresponding operation;
when the pre-judging module outputs a pre-judging result, starting the post-judging module; when the front-end arbitration module outputs an execution result inconsistent state, the rear-end arbitration module is not started;
after the post-judging module receives the start request of the post-judging module, the post-judging module reads the data which are not judged and checks the pre-judging result output by the pre-judging module;
if the execution result contained in the pending data is inconsistent with the pre-determined result output by the pre-determined module, the post-determined module generates a rollback operation request, performs rollback operation on the pre-determined result output by the pre-determined module, and generates a feedback message transmitted to a feedback controller;
if the execution result contained in the pending data is consistent with the pre-determined result output by the pre-determined module, the post-determined module does not perform any operation;
and the hardware equipment receives a rollback operation request sent by the post-judging module and executes rollback operation.
Example 5
A readable storage medium having instructions stored thereon which when executed by a processor implement the steps of a time-based, pseudo-fast arbitration method as described above.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and in part, not described or illustrated in any particular embodiment, reference is made to the related descriptions of other embodiments.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus/terminal and method may be implemented in other manners. For example, the system embodiments described above are merely illustrative, e.g., the division of the modules described above is merely a logical functional division, and there may be additional divisions of actual implementation, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated modules described above, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the present application may implement all or part of the flow of the method of the above embodiment, or may be implemented by instructing related hardware by a computer program, where the computer program may be stored in a computer readable storage medium, and the computer program may implement the steps of each method embodiment described above when executed by a processor. The computer program comprises computer program code, and the computer program code can be in a source code form, an object code form, an executable file or some intermediate form and the like.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present invention and not for limiting the same; while the invention has been described in detail with reference to the preferred embodiments, those skilled in the art will appreciate that: modifications may be made to the specific embodiments of the present invention or equivalents may be substituted for part of the technical features thereof; without departing from the spirit of the invention, it is intended to cover the scope of the invention as claimed.

Claims (9)

1. The method for quickly judging the mimicry based on the time-division type is characterized by comprising the following steps of:
when the total number of the current data to be arbitrated reaches a preset value M, starting a pre-arbitration module;
the pre-judging module reads the first M pieces of data to be judged and pre-judges the first M pieces of data to be judged;
if the pre-judging module judges that the execution results contained in the first M pieces of pending data are inconsistent, transmitting an inconsistent execution result state to the feedback controller;
if the pre-judging module judges that the execution results contained in the first M pieces of data to be judged are consistent, outputting the execution results as pre-judging results;
when the pre-judging module outputs a pre-judging result, starting the post-judging module;
the post-judging module acquires the non-judging data and verifies the pre-judging result output by the pre-judging module based on the non-judging data;
when the post-arbitration module verifies the pre-arbitration result output by the pre-arbitration module, the post-arbitration module executes:
if the execution result contained in the pending data is inconsistent with the pre-determined result output by the pre-determined module, the post-determined module generates a rollback operation request, and rollback operation is carried out on the pre-determined result output by the pre-determined module;
otherwise, the post-arbitration module does not do any operation.
2. The time-division based pseudo-fast arbitration method of claim 1, wherein: the post-arbitration module verifies the pre-arbitration result output by the pre-arbitration module based on all the pending data;
or when the total number of the pending data reaches a preset value X, the post-processing module pre-checks the pre-processing result output by the pre-processing module based on the previous X pieces of the pending data.
3. The time-division based pseudo-fast arbitration method according to claim 1 or 2, wherein: the preset value M is more than or equal to half of the total number of the online heterogeneous executions.
4. A time-division based pseudo-fast resolver comprising:
the first judging module is used for starting the pre-judging module when the total number of the current data to be judged reaches a preset value M;
the pre-arbitration module is used for pre-arbitrating the first M pending data: when the execution results contained in the first M pending data are inconsistent, the pre-arbitration module is used for outputting an execution result inconsistent state; when the execution results contained in the first M pending data are consistent, the pre-arbitration module is used for outputting a pre-arbitration result;
the second judging module is used for acquiring a pre-judging result of the pre-judging module; when the pre-judging module outputs a pre-judging result, starting a post-judging module;
the post-judging module is used for acquiring the pending data and checking the pre-judging result output by the pre-judging module based on the pending data;
the post-judging module is used for generating a rollback operation request when the execution result contained in the non-judging data is inconsistent with the pre-judging result output by the pre-judging module, and performing rollback operation on the pre-judging result output by the pre-judging module.
5. The time-division based pseudo-fast arbiter of claim 4, wherein,
the post-arbitration module is used for checking the pre-arbitration result output by the pre-arbitration module based on all the pending data, or checking the pre-arbitration result output by the pre-arbitration module based on the first X pieces of pending data when the total number of the pending data reaches a preset value X.
6. The time-based, pseudo-fast resolver according to claim 4, further comprising a data queue management module for marking the received pending data according to the arrival time, counting the total number of the current pending data and transmitting to the first determination module.
7. The time-division based mimicry fast arbiter of claim 6, wherein the data queue management module is further configured to set different data queues for different heterogeneous executives.
8. A mimicry defense system comprising an input agent, a heterogeneous executable, an arbitrator, a feedback controller, and an output agent, wherein: the arbiter is a time-based pseudo-fast arbiter according to any one of claims 4 to 7.
9. A readable storage medium having instructions stored thereon, characterized by: the instructions, when executed by a processor, implement the steps of a time-division based pseudo-fast arbitration method as recited in any one of claims 1-3.
CN202010642264.2A 2020-07-06 2020-07-06 Time-division-based mimicry quick arbitration method, arbiter, architecture and medium Active CN111858039B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010642264.2A CN111858039B (en) 2020-07-06 2020-07-06 Time-division-based mimicry quick arbitration method, arbiter, architecture and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010642264.2A CN111858039B (en) 2020-07-06 2020-07-06 Time-division-based mimicry quick arbitration method, arbiter, architecture and medium

Publications (2)

Publication Number Publication Date
CN111858039A CN111858039A (en) 2020-10-30
CN111858039B true CN111858039B (en) 2023-07-07

Family

ID=73152291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010642264.2A Active CN111858039B (en) 2020-07-06 2020-07-06 Time-division-based mimicry quick arbitration method, arbiter, architecture and medium

Country Status (1)

Country Link
CN (1) CN111858039B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115085969B (en) * 2022-04-29 2023-09-08 河南信大网御科技有限公司 Mimicry architecture based on Vpp bottom framework and arbitration method
CN115085989B (en) * 2022-06-07 2023-08-01 珠海高凌信息科技股份有限公司 Matrix-based high-expansibility mimicry majority arbitration optimization method
CN116405243B (en) * 2023-02-16 2023-12-26 中国南方电网有限责任公司 Heterogeneous redundant flow detection device based on mimicry safety technology

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030205A (en) * 2002-06-25 2004-01-29 Seiko Epson Corp Final decision support system, final decision support method, final decision support program, and recording medium
CN110781012A (en) * 2019-10-22 2020-02-11 河南信大网御科技有限公司 Mimicry resolver based on unified message queue and resolution method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547492B (en) * 2016-12-08 2018-03-20 北京得瑞领新科技有限公司 The operational order dispatching method and device of a kind of NAND flash memory equipment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030205A (en) * 2002-06-25 2004-01-29 Seiko Epson Corp Final decision support system, final decision support method, final decision support program, and recording medium
CN110781012A (en) * 2019-10-22 2020-02-11 河南信大网御科技有限公司 Mimicry resolver based on unified message queue and resolution method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
普黎明 等.面向 拟态云服务的异构执行体输出裁决方法.《信息工程大学学报》.2020,第第21卷卷(第第3期期),第344-351页. *

Also Published As

Publication number Publication date
CN111858039A (en) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111858039B (en) Time-division-based mimicry quick arbitration method, arbiter, architecture and medium
US10664283B2 (en) Computing system and controller thereof
US6498999B1 (en) Method and apparatus for design verification of an integrated circuit using a simulation test bench environment
US8868874B2 (en) Managing remote data replication
JP4599266B2 (en) Simulation apparatus and simulation method
CN110275818B (en) Post-silicon verification method, post-silicon verification device and storage medium
CN101297271A (en) Communications channel interposer, method and program product for verifying integrity of untrusted subsystem responses to a request
US20110161966A1 (en) Controlling parallel execution of plural simulation programs
US20210125102A1 (en) Information processing system, information processing apparatus, and information processing program
JP6693903B2 (en) Hardware test apparatus and hardware test method
CN114168200B (en) System and method for verifying memory access consistency of multi-core processor
CN112732499A (en) Test method and device based on micro-service architecture and computer system
CN116594757A (en) Method and device for executing complex tasks by using large language model
CN113342669A (en) Verification method and device for shortening convergence time of chip code coverage rate
CN114020626A (en) Chip verification method, device, equipment and medium
CN112181485B (en) Script execution method and device, electronic equipment and storage medium
JP2009238068A (en) Communication control device, communication control method
US20140143745A1 (en) Techniques for segmenting of hardware trace and verification of individual trace segments
US8688428B2 (en) Performance evaluation device, performance evaluation method and simulation program
CN111858166B (en) Error-correcting quick mimicry judging method, judging device, system and medium
US8627273B2 (en) Model checking of liveness property in a phase abstracted model
CN110069395B (en) Method and device for simulating asynchronous interface, storage medium and computer equipment
Ran et al. Modeling and verifying the ttcan protocol using timed csp
CN111737260A (en) Method and system for checking data copying consistency
JP2008112229A (en) Update data application method for software product

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
GR01 Patent grant
GR01 Patent grant