CN117608791A - Split thread scheduling method and verification method thereof - Google Patents

Split thread scheduling method and verification method thereof Download PDF

Info

Publication number
CN117608791A
CN117608791A CN202311635556.3A CN202311635556A CN117608791A CN 117608791 A CN117608791 A CN 117608791A CN 202311635556 A CN202311635556 A CN 202311635556A CN 117608791 A CN117608791 A CN 117608791A
Authority
CN
China
Prior art keywords
thread
split
error
split thread
scheduling
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
CN202311635556.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.)
Chengdu Beizhong Network Core Technology Co ltd
Original Assignee
Chengdu Beizhong Network Core 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 Chengdu Beizhong Network Core Technology Co ltd filed Critical Chengdu Beizhong Network Core Technology Co ltd
Priority to CN202311635556.3A priority Critical patent/CN117608791A/en
Publication of CN117608791A publication Critical patent/CN117608791A/en
Pending legal-status Critical Current

Links

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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code

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)

Abstract

The invention discloses a split thread scheduling method and a verification method thereof, which relate to the technical field of thread scheduling and verification and acquire an error thread in the split thread scheduling process; if the current error thread is the last split thread in the split thread scheduling request, ending the current split thread scheduling request; otherwise, determining whether to send the next split thread according to the type of the current error thread; ending executing the current split thread scheduling request when the next split thread is the last split thread in the split thread scheduling request; the invention splits the long request into a plurality of split thread pipelining scheduling threads to realize performance optimization, and in order to further improve efficiency, resources are saved, and the continuous scheduling of threads is canceled after the threads are in error; meanwhile, a verification method is provided for the function of canceling the continuous scheduling thread after the error, and the verification process is simply and efficiently realized while the realization of the reference model function is ensured through the real-time judgment result and the prejudgment result.

Description

Split thread scheduling method and verification method thereof
Technical Field
The invention relates to the technical field of thread scheduling and verification, in particular to a split thread scheduling method and a verification method thereof.
Background
The invention relates to a ground interface module, which has the basic function of analyzing, reorganizing and forwarding a message, receiving an access result of a downstream module and returning an access reply to an upstream module. The invention relates to a method for splitting a long request into a plurality of short requests (hereinafter called split threads) and pipelining the threads by a module to realize performance optimization, and in order to further improve efficiency and save resources, the module cancels continuous thread scheduling after an error. The error mode of canceling thread scheduling is divided into two modes, one is a stage of transmitting split threads to carry out thread scheduling, the transmitted split request is wrong, a downstream module immediately feeds back err feedback signals in the same group of interfaces, and the other is error information informed in reply information returned by the downstream module.
Verification is a test of whether the design module implements the proper function in various possible application scenarios. In the verification process, a test platform is required to be built, a reference model is built to realize the design function, and meanwhile, an excitation simulation operation scene is sent to the platform and the tested module, and the actual output of the tested module is compared with the expected result. For the module to be tested, the traditional method is used, the module to be tested is completely independent of the module to be tested, after receiving input excitation, the module to be tested is judged only by using all conditions acquired in advance, the function of canceling thread scheduling by mistake cannot be completely realized, the advanced cycle level comparison exceeds the verification precision required by verifying the module, the part which does not need the environment to be consistent with the module to be tested is kept consistent, the verification environment can refer to too many modules to be tested, the function is not realized independently from the verification angle, and the function verification is not comprehensively and legally realized. .
Disclosure of Invention
The technical problems to be solved by the invention are as follows: in the interface module, the message analysis, recombination and forwarding are involved, the interface module receives the access result of the downstream module and returns the access reply and other processes to the upstream module, and the problems of resource waste and low efficiency exist in the long-request scheduling process in the traditional thread scheduling method; the invention aims to provide a split thread scheduling method, which is a method for splitting a long request into a plurality of short requests (split threads) to schedule threads in a pipeline so as to realize performance optimization, save resources for further improving efficiency and cancel continuous thread scheduling after thread errors; meanwhile, the invention also provides a verification method aiming at the function of canceling the continuous scheduling thread after the error, and the verification process is realized as simply and efficiently as possible by judging in real time clock by clock when the function is realized in the reference model and combining the random information pre-judging result obtained in advance when the subsequent excitation is used, thereby ensuring the realization of the function of the reference model.
The invention is realized by the following technical scheme:
the scheme provides a split thread scheduling method, which comprises the following steps:
s1, acquiring and executing a split thread scheduling request, and acquiring an error thread in a split thread sending process;
s2, if the current error thread is the last split thread in the split thread scheduling request, entering S4; otherwise, entering S3;
s3, determining whether to send the next split thread according to the type of the current error thread; when the next split thread is the last split thread in the split thread scheduling request, entering S4;
s4, ending executing the current split thread scheduling request.
The working principle of the scheme is as follows: in the interface module, the message analysis, recombination and forwarding are involved, the interface module receives the access result of the downstream module and returns the access reply and other processes to the upstream module, and the problems of resource waste and low efficiency exist in the long-request scheduling process in the traditional thread scheduling method; the invention aims to provide a split thread scheduling method, which is a method for splitting a long request into a plurality of short requests (split threads) to schedule threads in a pipeline so as to realize performance optimization, save resources for further improving efficiency and cancel continuous thread scheduling after thread errors;
the further optimization scheme is that the step S3 comprises the following steps:
s31, if the current error thread is a read request on the premise that the err feedback signal returns from the next beat of the sop flow, entering S32; if the current error thread is a write request, judging the steps of the sop flow, err feedback signal and eop flow of the current error thread: if the sop process is the same as the eop process and the err feedback signal is the next beat in the eop process, then S32 is entered; if the sop process is different from the eop process and the err feedback signal is the same as the eop process or the err feedback signal is earlier than the eop process, then S33 is entered;
s32, sending the next split thread, if the next split thread is the last split thread in the split thread scheduling request, entering S4, otherwise, after the sending of the next split thread is finished, not sending the rest threads split with the request, and entering S4;
s33, after the current error thread is sent, the rest threads split from the same request are not sent, and then S4 is carried out.
The further optimization scheme is that the method further comprises the following steps:
t1, acquiring error feedback information in a split thread sending process;
and T2, if the current split thread is sent completely, not sending the rest threads which are decomposed by the same request as the split thread which is just sent completely, and then entering S4.
(there are two error modes of canceling thread scheduling, one is a stage of sending split threads to perform thread scheduling, the sent split request is wrong, the downstream module immediately feeds back err feedback signals in the same group of interfaces, and the other is error information informed in reply information returned by the downstream module.
The handshake process when the split thread is sent to the downstream module is based on the vld_rdy interface, and an err feedback signal with the same flow direction as rdy is added to the next beat of the sop flow. For a read request, only one beat is required to send a split thread, so the err feedback signal must be present at the next beat when the split thread is sent (i.e., eop flow is valid); since the write request carries data, sending a split thread may require multiple beats, and there may be additional instances where the err feedback signal is the same beat as the eop flow, coming before the eop flow. At the next beat of the flow of a split thread eop, another split thread may have already started sending, so if the next non-sent split thread is to be canceled after the err feedback signal is received, the split thread that has started sending at this time cannot be intercepted. Canceling thread scheduling after an error can be divided into two cases: when the err feedback signal is in the next beat of the eop flow (namely, the error split thread sop flow is in the same beat as the eop flow), whether the next split thread is started to be sent or not at the moment, waiting for the completion of the next thread sending of the error thread and canceling the thread sending after the completion; when err feedback signal arrives at the same beat or earlier in eop flow (i.e. the err split thread needs to send data with multiple beats), it only waits for the err thread to send out, and cancels the sending of the thread with the same request split. If the error thread is the last split thread split by the long request, the error thread does not continue to be sent thereafter, and no special processing exists. If the error is replied, the thread scheduling is canceled after the current thread is finished. )
The scheme also provides a split thread scheduling process verification method, which is used for verifying the split thread scheduling method, and comprises the following steps:
inputting a split thread scheduling request and a verification error sequence into a module to be verified and a reference model, and respectively executing the split thread scheduling request by the reference model and the module to be verified;
in the process that the module to be verified executes the split thread scheduling request, the platform generates a reply excitation according to an early pre-judging result and sends the reply excitation to the module to be verified and the reference model; executing the split thread scheduling request by the module to be verified to obtain an actual result split thread, and sending the actual result split thread to the reference model;
the reference model carries out real-time judgment based on the return excitation generated by the pre-judgment information and the current splitting thread scheduling stage, obtains the splitting thread of the expected result by combining the real-time judgment result, and sends the actual splitting thread of the compared result and the splitting thread of the expected result to the comparison board to verify the consistency of the results of the two parties.
According to the further optimization scheme, the reference model also generates err feedback signals according to the verification error sequence and sends the err feedback signals to the module to be verified.
According to a further optimization scheme, the reference model judges the thread scheduling stage in which possible error intervention is located in real time clock by clock period based on error-carrying reply information and err feedback signals generated in advance, and acquires and updates error marks and error thread numbers.
The further optimization scheme is that the error thread judging method comprises the following steps:
acquiring reply excitation information which is generated by advance prejudgment and randomly carries errors, judging whether the arrival time of the reply is the effective eop flow of the current split thread when the reply carries errors, if so, the current split thread is already sent out, and the sending is not continued; directly cancelling subsequent thread scheduling without waiting, and setting an error flag to 3; otherwise, waiting for the next advance pre-judgment information.
The further optimization scheme is that the error thread judging method comprises the following steps:
a1, acquiring err feedback signals, judging whether an error sign is nonzero, if so, entering a step A2, otherwise, entering a step A3;
a2, judging the current split thread as a second error thread, and setting the error thread number as 2;
a3, judging that the current split thread is the first error thread, detecting whether the current split thread is the next beat of the effective eop flow, if so, entering a step A4; otherwise, enter step A5;
a4, judging whether the current split thread is the next effective eop flow; if yes, the next split thread of the error thread is not sent yet, and after the next split thread is sent out, the subsequent thread scheduling is canceled; the number of error threads is set to 1, and an error mark is set to 1; otherwise, the next split thread of the error thread is sent, the subsequent thread scheduling is directly canceled without waiting, the error thread number is set to be 1, and the error flag is set to be 2;
a5, judging whether the current split thread is an effective eop flow of an error thread; if yes, the error thread is sent out, the transmission is not continued, the subsequent thread scheduling is directly canceled without waiting, the error flag is set to 2, and the number of error threads is 1; otherwise, waiting for the next split thread.
The further optimization scheme is that the expected implementation of the split thread scheduling request, the verification error sequence, the advanced pre-judging mechanism, the real-time judging mechanism and the verification score dividing mechanism are all provided by a verification environment.
The present solution also provides a computer readable medium having stored thereon a computer program for execution by a processor to implement a split thread scheduling validation method as described above.
Compared with the prior art, the invention has the following advantages and beneficial effects:
1. the invention provides a split thread scheduling method and a verification method thereof; the invention aims to provide a split thread scheduling method, which is a method for splitting a long request into a plurality of short requests (split threads) to schedule threads in a pipeline so as to realize performance optimization, save resources for further improving efficiency and cancel continuous thread scheduling after thread errors; meanwhile, the invention also provides a verification method aiming at the function of canceling the continuous scheduling thread after the error, when the function is realized in the reference model, the clock-by-clock real-time judgment is carried out, and when the subsequent excitation is generated, the random information pre-judgment result obtained in advance is used, and the verification process is realized as simply and efficiently as possible while the function of the reference model is realized by combining real-time and pre-judgment.
2. The verification method provided by the invention aiming at the thread scheduling error cancellation function combines a new method for synchronous real-time judgment of functions and a traditional verification method for independent prejudgment, is a verification method capable of realizing functions and guaranteeing efficiency and independence, and is a powerful support for realizing feasibility and running stability of a high-efficiency thread scheduling method related to a module.
3. The verification method provided by the invention aims at the thread scheduling error cancellation function, adopts a method of blocking expectation to realize the functional synchronization of the expectation and the actual result, not only makes up the defect that the traditional method can not completely realize error cancellation, but also maintains enough independence, and does not ensure the synchronization and the consistency of the result in each period when not necessary; after judging whether to cancel the thread scheduling and blocking the timing of outputting the split thread to the module to be tested, taking the actual output as the enabling of the expected output, wherein the aspects of whether to cancel the result content of the expected output and the like are irrelevant to the internal processing of the module to be tested; the dependence degree of the module to be tested is between the traditional method and cycle level comparison, so that the verification requirement can be met, and the method is better applicable to verification of the module to be tested; on the other hand, for the part with easier realization of the function, the invention divides the function into different verification components to be processed separately, the traditional method is reserved, the verification function of the rest part is simply and effectively completed, and the integral verification efficiency is improved.
Drawings
In order to more clearly illustrate the technical solutions of the exemplary embodiments of the present invention, the drawings that are needed in the examples will be briefly described below, it being understood that the following drawings only illustrate some examples of the present invention and therefore should not be considered as limiting the scope, and that other related drawings may be obtained from these drawings without inventive effort for a person skilled in the art. In the drawings:
FIG. 1 is a flow diagram of a split thread scheduling method;
FIG. 2 is a schematic diagram of a split thread scheduling process validation principle;
FIG. 3 is a schematic diagram of an error thread determination process.
Detailed Description
For the purpose of making apparent the objects, technical solutions and advantages of the present invention, the present invention will be further described in detail with reference to the following examples and the accompanying drawings, wherein the exemplary embodiments of the present invention and the descriptions thereof are for illustrating the present invention only and are not to be construed as limiting the present invention.
Example 1
The present embodiment provides a split thread scheduling method, as shown in fig. 1, including:
s1, acquiring and executing a split thread scheduling request, and acquiring an error thread in a split thread sending process;
s2, if the current error thread is the last split thread in the split thread scheduling request, entering S4; otherwise, entering S3;
s3, determining whether to send the next split thread according to the type of the current error thread; when the next split thread is the last split thread in the split thread scheduling request, entering S4;
s4, ending executing the current split thread scheduling request.
The step S3 comprises the following steps:
s31, if the current error thread is a read request on the premise that the err feedback signal returns from the next beat of the sop flow, entering S32; if the current error thread is a write request, judging the steps of the sop flow, err feedback signal and eop flow of the current error thread: if the sop process is the same as the eop process and the err feedback signal is the next beat in the eop process, then S32 is entered; if the sop process is different from the eop process and the err feedback signal is the same as the eop process or the err feedback signal is earlier than the eop process, then S33 is entered;
s32, sending the next split thread, if the next split thread is the last split thread in the split thread scheduling request, entering S4, otherwise, after the sending of the next split thread is finished, not sending the rest threads split with the request, and entering S4;
s33, after the current error thread is sent, the rest threads split from the same request are not sent, and then S4 is carried out.
Further comprises:
t1, acquiring error feedback information in a split thread sending process;
and T2, if the current split thread is sent completely, not sending the rest threads which are decomposed by the same request as the split thread which is just sent completely, and then entering S4.
The handshake process when the split thread is sent to the downstream module is based on the vld_rdy interface, and an err feedback signal with the same flow direction as rdy is added to the next beat of the sop flow. For a read request, only one beat is required to send a split thread, so the err feedback signal must be present at the next beat when the split thread is sent (i.e., eop flow is valid); since the write request carries data, sending a split thread may require multiple beats, and there may be additional instances where the err feedback signal is the same beat as the eop flow, coming before the eop flow. At the next beat of the flow of a split thread eop, another split thread may have already started sending, so if the next non-sent split thread is to be canceled after the err feedback signal is received, the split thread that has started sending at this time cannot be intercepted. Canceling thread scheduling after an error can be divided into two cases: when the err feedback signal is in the next beat of the eop flow (namely, the error split thread sop flow is in the same beat as the eop flow), whether the next split thread is started to be sent or not at the moment, waiting for the completion of the next thread sending of the error thread and canceling the thread sending after the completion; when err feedback signal arrives at the same beat or earlier in eop flow (i.e. the err split thread needs to send data with multiple beats), it only waits for the err thread to send out, and cancels the sending of the thread with the same request split. If the error thread is the last split thread split by the long request, the error thread does not continue to be sent thereafter, and no special processing exists. If the error is replied, the thread scheduling is canceled after the current thread is finished.
Example 2
The present embodiment provides a split thread scheduling process verification method for verifying a split thread scheduling method of embodiment 1, as shown in fig. 2, including:
inputting a split thread scheduling request and a verification error sequence into a module to be verified and a reference model, and respectively executing the split thread scheduling request by the reference model and the module to be verified;
in the process that the module to be verified executes the split thread scheduling request, the platform generates a reply excitation according to an early pre-judging result and sends the reply excitation to the module to be verified and the reference model; executing the split thread scheduling request by the module to be verified to obtain an actual result split thread, and sending the actual result split thread to the reference model;
the reference model carries out real-time judgment based on the return excitation generated by the pre-judgment information and the current splitting thread scheduling stage, obtains the splitting thread of the expected result by combining the real-time judgment result, and sends the actual splitting thread of the compared result and the splitting thread of the expected result to the comparison board to verify the consistency of the results of the two parties.
And the reference model also generates err feedback signals according to the verification error sequence and sends the err feedback signals to the module to be verified.
The reference model carries out error thread judgment in real time clock cycle by clock cycle based on the advanced pre-judgment information and err feedback signals.
The verification method provided by the embodiment mainly relates to two main points: firstly, a function of canceling thread scheduling is realized according to two error signals in a reference model, and in the embodiment, the method is based on a method of stopping expected output, and judging whether to cancel according to errors in real time after the expected output is delayed to the actual result output; secondly, a proper excitation generation method is constructed, so that the environment can return feedback information with the same number as that of successful sending threads, the embodiment performs pre-judgment based on error thread information obtained in advance, and the limitation is less and less error is caused than the judgment by using a real-time error signal.
Whether the err feedback signal fed back by the interface immediately when the split thread is sent or the reply information obtained by inquiring the downstream module after the split thread is sent is displayed in error, the following thread scheduling can be canceled. According to a general verification method, err information of a transmission error is randomly generated by a verification environment, the verification environment can acquire a splitting result at the moment of receiving excitation, and can also predict whether the long request cancels the scheduling of the last thread due to the error or not and acquire the number result of successful or failed scheduling of each thread. However, the time relationship between the return of the reply message of each thread and the thread scheduling process is difficult to predict, if the reply message of a certain thread is wrong, the long request split by the thread does not complete all the thread scheduling processes, the subsequent cancelling thread scheduling cannot be predicted by the verification environment, and the cancelling thread scheduling function caused by the reply error cannot be correctly reproduced in the environment by using the traditional verification thought.
As shown in fig. 3, for the advanced pre-determination information, the method for determining the error thread includes:
acquiring reply excitation of random carrying errors generated by advance prejudgment, judging whether the arrival time of the reply is the effective eop flow of the current split thread when the reply carries errors, if so, the current split thread is already sent out, and the sending is not continued; directly cancelling subsequent thread scheduling without waiting, and setting an error flag to 3; otherwise, waiting for the next advance pre-judgment information.
For err feedback signals, the error thread judging method further comprises the following steps:
a1, acquiring err feedback signals, judging whether an error sign is nonzero, if so, entering a step A2, otherwise, entering a step A3;
a2, judging the current split thread as a second error thread, and setting the error thread number as 2;
a3, judging that the current split thread is the first error thread, detecting whether the current split thread is the next beat of the effective eop flow, if so, entering a step A4; otherwise, enter step A5;
a4, judging whether the current split thread is the next effective eop flow; if yes, the next split thread of the error thread is not sent yet, and after the next split thread is sent out, the subsequent thread scheduling is canceled; the number of error threads is set to 1, and an error mark is set to 1; otherwise, the next split thread of the error thread is sent, the subsequent thread scheduling is directly canceled without waiting, the error thread number is set to be 1, and the error flag is set to be 2;
a5, judging whether the current split thread is an effective eop flow of an error thread; if yes, the error thread is sent out, the transmission is not continued, the subsequent thread scheduling is directly canceled without waiting, the error flag is set to 2, and the number of error threads is 1; otherwise, waiting for the next split thread.
For a certain length request, as long as err feedback signals are detected, the error mark is necessarily non-zero, so after the error signals are received, the number of error threads of the current thread is firstly determined according to the error mark value, and the number of error threads is updated to be 2 when errors occur twice. Then judging whether an err feedback signal arrives after the thread is sent out, and setting an error mark as 2 when the thread is not sent out, wherein the error mark is that all scheduling after the thread is cancelled; when the sending is finished, whether a split thread is required to wait for sending and cancel again is judged according to whether the sending of the next split thread is started, and error marks are set to be 1 and 2 respectively. The number of error threads is 1 under the condition that the err feedback signal is encountered for the first time, the error threads are updated to 2 when the err feedback signal is encountered again, the number of error threads is used for the subsequent calculation of reply information which is received, and only threads which are not in error receive corresponding replies. When the error is replied, the waiting thread is finished, the error mark is set to be 3, the error is irrelevant to the number of the error threads, and the value is not assigned actively. The judging time for cancelling or not is just the next beat of the thread with the error just sent, the priority of the error mark 3 is higher than 0,1 and 2, 2 and 3 are that the split thread is not sent any more to directly cancel the subsequent sending, 1 is cancelled after the ready thread is sent, and 0 is sent continuously without cancellation.
The expected implementation of the split thread scheduling request, and verification of the error sequence, the advance prejudgement mechanism, the real-time judgement mechanism and the verification score mechanism are all provided by a verification environment. In this embodiment, the real-time judgment mechanism, that is, the method for performing real-time judgment based on the advance pre-judgment information by the reference model, where the advance pre-judgment mechanism is a specific method for performing advance pre-judgment according to the reply excitation in the process of executing the split thread scheduling request by the module to be verified, and the verification score mechanism is a specific method for performing verification score on the actual result split thread and the expected result split thread, where the verification score process is implemented by a score board.
In the verification method of the embodiment, the environment receives the actual result splitting thread first and then generates the expected result splitting thread, wherein the actual result splitting thread delays to send the score board after receiving, and the expected result splitting thread is ensured to be still earlier than the actual result splitting thread. After waiting for receiving the split thread output by the module to be tested, the environment continues to split and dispatch the next split thread, and the reference model also receives the reply information in real time and outputs a correct expected result. Although the time-consuming sending process of the module to be tested is not identical with the time-consuming expected generation in the reference model, the expected time is generated, and whether the environment completely meets the design requirement can be judged through whether the err feedback signal and the recovery error arrive or not, so that the process of judging whether the thread cancels the scheduling in the reference model is functionally synchronous with the module to be tested.
Example 3
The present embodiment provides a computer-readable medium having stored thereon a computer program that is executed by a processor to implement a split thread scheduling verification method as in embodiment 1.
The foregoing description of the embodiments has been provided for the purpose of illustrating the general principles of the invention, and is not meant to limit the scope of the invention, but to limit the invention to the particular embodiments, and any modifications, equivalents, improvements, etc. that fall within the spirit and principles of the invention are intended to be included within the scope of the invention.

Claims (10)

1. A split thread scheduling method, comprising:
s1, acquiring and executing a split thread scheduling request, and acquiring an error thread in a split thread sending process;
s2, if the current error thread is the last split thread in the split thread scheduling request, entering S4; otherwise, entering S3;
s3, determining whether to send the next split thread according to the type of the current error thread; when the next split thread is the last split thread in the split thread scheduling request, entering S4;
s4, ending executing the current split thread scheduling request.
2. The split thread scheduling method according to claim 1, wherein step S3 comprises:
s31, if the current error thread is a read request on the premise that the err feedback signal returns from the next beat of the sop flow, entering S32; if the current error thread is a write request, judging the steps of the sop flow, err feedback signal and eop flow of the current error thread: if the sop process is the same as the eop process and the err feedback signal is the next beat in the eop process, then S32 is entered; if the sop process is different from the eop process and the err feedback signal is the same as the eop process or the err feedback signal is earlier than the eop process, then S33 is entered;
s32, sending the next split thread, if the next split thread is the last split thread in the split thread scheduling request, entering S4, otherwise, after the sending of the next split thread is finished, not sending the rest threads split with the request, and entering S4;
s33, after the current error thread is sent, the rest threads split from the same request are not sent, and then S4 is carried out.
3. The split thread scheduling method of claim 2, further comprising:
t1, acquiring error feedback information in a split thread sending process;
and T2, if the current split thread is sent completely, not sending the rest threads which are decomposed by the same request as the split thread which is just sent completely, and then entering S4.
4. A split thread scheduling process verification method for verifying the split thread scheduling method of claim 3, comprising:
inputting a split thread scheduling request and a verification error sequence into a module to be verified and a reference model, and respectively executing the split thread scheduling request by the reference model and the module to be verified;
in the process that the module to be verified executes the split thread scheduling request, the platform generates a reply excitation according to an advanced pre-judging result and sends advanced pre-judging information to the module to be verified and the reference model; executing the split thread scheduling request by the module to be verified to obtain an actual result split thread, and sending the actual result split thread to the reference model;
the reference model carries out real-time judgment based on the return excitation generated by the pre-judgment information and the current splitting thread scheduling stage, obtains the splitting thread of the expected result by combining the real-time judgment result, and sends the actual splitting thread of the compared result and the splitting thread of the expected result to the comparison board to verify the consistency of the results of the two parties.
5. The method of claim 4, wherein the reference model further generates err feedback signals according to the verification error sequence and sends the err feedback signals to the module to be verified.
6. The method of claim 5, wherein the reference model performs error thread determination on a clock cycle by clock cycle basis based on the advance pre-determination information and err feedback signal.
7. The method for validating split thread scheduling as defined in claim 6, wherein said method for determining an erroneous thread comprises:
acquiring reply excitation of random carrying errors generated by advance prejudgment, judging whether the arrival time of the reply is the effective eop flow of the current split thread when the reply carries errors, if so, the current split thread is already sent out, and the sending is not continued; directly cancelling subsequent thread scheduling without waiting, and setting an error flag to 3; otherwise, waiting for the next advance pre-judgment information.
8. The method for validating split thread scheduling as defined in claim 6, wherein said method for determining an erroneous thread comprises:
a1, acquiring err feedback signals, judging whether an error sign is nonzero, if so, entering a step A2, otherwise, entering a step A3;
a2, judging the current split thread as a second error thread, and setting the error thread number as 2;
a3, judging that the current split thread is the first error thread, detecting whether the current split thread is the next beat of the effective eop flow, if so, entering a step A4; otherwise, enter step A5;
a4, judging whether the current split thread is the next effective eop flow; if yes, the next split thread of the error thread is not sent yet, and after the next split thread is sent out, the subsequent thread scheduling is canceled; the number of error threads is set to 1, and an error mark is set to 1; otherwise, the next split thread of the error thread is sent, the subsequent thread scheduling is directly canceled without waiting, the error thread number is set to be 1, and the error flag is set to be 2;
a5, judging whether the current split thread is an effective eop flow of an error thread; if yes, the error thread is sent out, the transmission is not continued, the subsequent thread scheduling is directly canceled without waiting, the error flag is set to 2, and the number of error threads is 1; otherwise, waiting for the next split thread.
9. The method of claim 4, wherein the expected implementation of the split thread scheduling request, and the verification of the error sequence, the advance pre-determination mechanism, the real-time determination mechanism, and the verification score mechanism are provided by a verification environment.
10. A computer readable medium having stored thereon a computer program, the computer program being executable by a processor to implement a split thread scheduling validation method as claimed in any one of claims 4 to 9.
CN202311635556.3A 2023-12-01 2023-12-01 Split thread scheduling method and verification method thereof Pending CN117608791A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311635556.3A CN117608791A (en) 2023-12-01 2023-12-01 Split thread scheduling method and verification method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311635556.3A CN117608791A (en) 2023-12-01 2023-12-01 Split thread scheduling method and verification method thereof

Publications (1)

Publication Number Publication Date
CN117608791A true CN117608791A (en) 2024-02-27

Family

ID=89959352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311635556.3A Pending CN117608791A (en) 2023-12-01 2023-12-01 Split thread scheduling method and verification method thereof

Country Status (1)

Country Link
CN (1) CN117608791A (en)

Similar Documents

Publication Publication Date Title
CN106970880B (en) Distributed automatic software testing method and system
CN102222042B (en) Automatic software testing method based on cloud computing
CN108459966B (en) Method, device and equipment for scheduling test components and computer readable storage medium
CN110557420B (en) Operation method and system of independent sub-chains
CN109885857B (en) Instruction emission control method, instruction execution verification method, system and storage medium
CN110750592B (en) Data synchronization method, device and terminal equipment
KR20010037622A (en) A independent checkpointing method using memory checkpoint on distributed system
CN112214350A (en) Software voting method for distributed multi-mode redundancy fault-tolerant system
US11500679B2 (en) Operating a controller in a motor vehicle according to different time slots
CN112446786A (en) Abnormal transaction processing method and device, electronic equipment and readable storage medium
WO2023040453A1 (en) Transaction information processing method and apparatus
CN112738294A (en) Domain name resolution method and device based on block chain, electronic equipment and storage medium
CN110888800A (en) Service interaction function test method, device, storage medium and test system
CN111966597B (en) Test data generation method and device
CN117608791A (en) Split thread scheduling method and verification method thereof
JP5531760B2 (en) Information processing system and information processing method
US9218273B2 (en) Automatic generation of a resource reconfiguring test
CN111897826A (en) Parameter information updating method and device, electronic equipment and readable storage medium
Boigelot et al. Model checking in practice: An analysis of the access. bus™ protocol using spin
US20120260231A1 (en) Code conversion method, apparatus, storage medium and request remaining time response method
US20120167037A1 (en) Software static testing apparatus and method
KR102367570B1 (en) Method for parallel block processing method in blockchain, blockcahin node device and program using the same
CN111382047B (en) Block chain evaluation method, device and system, and computer-readable medium
CN113206882B (en) Consensus method, computer device and storage medium
CN117150996B (en) Method for determining problem source code generating burr signal, electronic equipment and medium

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