Fault recovery method and device based on check point linked list of multi-core processor
By building a process relationship tree and a checkpoint link list, efficient recovery in the event of failure of multi-core processors is achieved, the problems of waste of resources and large system overhead in the existing technology are solved, and the security of multi-core operating systems is improved.
Patent Information
- Application Number
- CN202411955182.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-27
- Publication Date
- 2025-04-25
AI Technical Summary
The existing multi-core processor uses the repair method of rolling back all processes in the event of failure, resulting in waste of resources and large system overhead, and a direct restart will affect the normal operation of the system.
By building a process relationship tree and a checkpoint link list, the checkpoint link list is updated according to the process relationship tree, and the process is restored based on the updated checkpoint link list in the event of a multi-core processor failure, and only the modified storage is rewind.
Reduces the overhead of failure recovery, improves the security of multi-core platform operating systems in resource constraints, and ensures that the process runs correctly.
Smart Images

Figure CN119883734A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a fault recovery method and device based on a multi-core processor checkpoint linked list. Background Art
[0002] By dividing tasks among multiple cores, multi-core processors can execute more tasks within a specific time, thereby improving the processing power of the entire processor. As heterogeneous multi-cores are increasingly widely used in the aerospace field, many related issues about partitioned operating systems on multi-core platforms need to be studied urgently. The fault recovery problem of embedded operating systems on multi-core system platforms is the most prominent and critical issue. Existing multi-core processors usually use a repair method that rolls back all processes without distinguishing whether the processes have been modified in storage. The system overhead is relatively large, resulting in a waste of resources. In addition, when a processor core fails, directly restarting the entire multi-core processor will also affect the normal operation of the system. Summary of the invention
[0003] The present invention provides a fault recovery method and device based on a multi-core processor checkpoint linked list, which reduces the recovery overhead and improves the security of the multi-core platform operating system under resource-constrained conditions on the basis of ensuring the correct operation of the process.
[0004] In a first aspect, the present invention provides a fault recovery method based on a multi-core processor checkpoint linked list, comprising:
[0005] Get information about multiple processes running on a multi-core processor;
[0006] Based on the plurality of process information, a process relationship tree and a checkpoint linked list are constructed; wherein the process relationship tree includes a hierarchical relationship between different processes; and the checkpoint linked list includes storage information of each process;
[0007] Updating the checkpoint linked list according to the process relationship tree to obtain an updated checkpoint linked list;
[0008] When the multi-core processor fails, the process is restored according to the updated checkpoint linked list.
[0009] Optionally, the checkpoint linked list includes an index table header, a process index table, a bidirectional linked list including a process status table and a process information table;
[0010] The number of index table headers is the same as the number of cores of the multi-core processor; the index table header points to the process index table of the corresponding processor core, and the index table includes the number of processes running on the processor core and the process storage modification status word;
[0011] The index table header points to a bidirectional linked list of the corresponding processor core, the process status table includes the process ID, storage modification flag, associated process storage modification flag and process related information of each process, the process related information points to the process information table, and the process information table includes the process data of the process, process file system information, process writeback file and a process relationship tree related to the process.
[0012] Optionally, updating the checkpoint linked list according to the process relationship tree includes:
[0013] When the preset time interval is reached, the process currently running on each processor core is obtained; for each of the processes, the following steps are executed:
[0014] According to the process relationship tree, the process and the associated processes related to the process are interrupted and saved to save the storage information of the process and complete the update of the process.
[0015] Optionally, updating the checkpoint linked list according to the process relationship tree to obtain an updated checkpoint linked list includes:
[0016] When a preset time interval is reached, the number of processes currently running on each processor core is obtained;
[0017] Determining a storage modification flag of the process and a process storage modification status word of each processor core according to the storage modification status of each process;
[0018] Acquire storage information of the processes currently running on each processor core to determine a current process status table and a process information table of each process;
[0019] The updated checkpoint linked list is generated based on the number of currently running processes, the storage modification flag of the process, the process storage modification status word of each processor core, the current process status table and process information table of the process.
[0020] Optionally, when the multi-core processor fails, recovering the process according to the updated checkpoint linked list includes:
[0021] When the multi-core processor fails, confirming the process to be restored, and restoring each of the processes to be restored based on the process relationship tree;
[0022] For each process to be restored, execute:
[0023] Based on the process relationship tree and the updated checkpoint linked list, determining the storage modification flag of the process to be restored and the associated process storage modification flag of the associated process related to the process to be restored;
[0024] The process to be recovered is rolled back based on the storage modification flag, and the associated process is rolled back based on the associated process storage modification flag to complete recovery.
[0025] Optionally, after the process is restored according to the updated checkpoint linked list, the method further includes:
[0026] The storage modification flag of each process is reset; wherein the storage modification flag is 0 after the reset.
[0027] In a second aspect, the present invention provides a fault recovery device based on a multi-core processor checkpoint linked list, comprising:
[0028] An acquisition module is used to obtain information of multiple processes running on a multi-core processor;
[0029] A construction module, used to construct a process relationship tree and a checkpoint linked list based on the plurality of process information; wherein the process relationship tree includes a hierarchical relationship between different processes; and the checkpoint linked list includes storage information of each process;
[0030] A check and update module, used for updating the checkpoint linked list according to the process relationship tree to obtain an updated checkpoint linked list;
[0031] A recovery module is used to recover the process according to the updated checkpoint linked list when the multi-core processor fails.
[0032] In a third aspect, an embodiment of the present invention further provides a computing device, comprising a memory and a target processor, wherein the memory stores a computer program, and when the target processor executes the computer program, the method described in any first aspect of this specification is implemented.
[0033] In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon, which, when executed in a computer, enables the computer to execute the method described in any first aspect of this specification.
[0034] In a fifth aspect, a computer program product is provided, comprising a computer program, wherein when the computer program is executed by a processor, the steps of the method described in any first aspect of this specification are implemented.
[0035] The present invention provides a fault recovery method and device based on a multi-core processor checkpoint linked list. The method constructs a process relationship tree and a checkpoint linked list reflecting the dependency relationship between processes based on information of multiple processes running by the multi-core processor, and then updates the checkpoint linked list according to the process relationship tree, so that when the multi-core processor fails, the process can be recovered based on the updated checkpoint linked list, so that during recovery, only the related processes that have been modified and stored can be rolled back according to the dependency relationship between the processes combined with the process storage information. On the basis of ensuring the correct operation of the process, the recovery overhead is reduced, and security protection is provided for the operation of the multi-core operating system. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0037] Figure 1 It is a flow chart of a fault recovery method based on a multi-core processor checkpoint linked list provided by an embodiment of the present invention;
[0038] Figure 2 is a schematic diagram of a checkpoint linked list provided by an embodiment of the present invention;
[0039] Figure 3 It is a schematic diagram of a process storage status word provided by an embodiment of the present invention;
[0040] Figure 4 is a hardware architecture diagram of a computing device provided by an embodiment of the present invention;
[0041] Figure 5 It is a structural schematic diagram of a fault recovery device based on a multi-core processor checkpoint linked list provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0042] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.
[0043] like Figure 1 As shown, an embodiment of the present invention provides a fault recovery method based on a multi-core processor checkpoint linked list, the method comprising:
[0044] Step 100, obtaining information of multiple processes running on the multi-core processor;
[0045] Step 102, based on the information of multiple processes, construct a process relationship tree and a checkpoint linked list; wherein the process relationship tree includes the hierarchical relationship between different processes; and the checkpoint linked list includes the storage information of each process;
[0046] Step 104, updating the checkpoint linked list according to the process relationship tree to obtain an updated checkpoint linked list;
[0047] Step 106: When the multi-core processor fails, the process is restored according to the updated checkpoint linked list.
[0048] In the present invention, a process relationship tree and a checkpoint linked list reflecting the dependencies between processes are constructed through the information of multiple processes run by a multi-core processor, and then the checkpoint linked list is updated according to the process relationship tree, so that when the multi-core processor fails, the process can be restored based on the updated checkpoint linked list, so that during recovery, only the modified stored related processes are rolled back according to the dependencies between the processes combined with the process storage information, which reduces the recovery overhead on the basis of ensuring the correct operation of the process, and provides security protection for the operation of the multi-core operating system.
[0049] With respect to step 100 , the multi-core processor is specifically an embedded multi-core operating system, the processor has n processor cores, and multiple processes are run on each processor core.
[0050] For step 102, the checkpoint linked list includes an index table header, a process index table, a bidirectional linked list including a process status table and a process information table;
[0051] The number of index table headers is the same as the number of cores of the multi-core processor; the index table header points to the process index table of the corresponding processor core, and the index table includes the number of processes running on the processor core and the process storage modification status word;
[0052] The index table header points to the bidirectional linked list of the corresponding processor core. The process status table includes the process ID, storage modification flag, associated process storage modification flag and process related information of each process. The process related information points to the process information table. The process information table includes the process data of the process, process file system information, process writeback file and process relationship tree related to the process.
[0053] Specifically, the process relationship tree contains the relationship information between processes, records the creation of processes, the hierarchical relationship between processes, and other information, and also contains the task information of each process.
[0054] In the present invention, a checkpoint linked list is used to index and store process-related files. The checkpoint linked list is a linked list containing a process index table. Figure 2 As shown, the index table headers from 1 to n indicate that there are n processor cores in the platform. Each index table header points to a process index table, which records the number of processes running on this processor core and the process storage modification status word. The index table header pointer points to a bidirectional linked list structure composed of process status tables. Each process has a corresponding process status table; among them, the storage modification flag records whether the current process has made storage modifications such as memory and registers; the associated process storage modification flag records whether the process related to this process has made storage modifications; the process related information points to the corresponding process information table. The process information table records: the process data pointer that points to the process data pointer storing this process, the process file system information pointer and the process read and write file pointer, as well as the process relationship tree pointer of the dependency relationship address between this process and related processes.
[0055] It should be noted that the process storage modification status word indicates whether the process running on the processor core involves storage modifications such as memory and registers. Figure 3 As shown, each bit of the process storage status word indicates the storage modification status of the corresponding process, where "0" indicates that the process has not been modified, and "1" indicates that the process has been modified. For example, if the process storage modification status word of the processor core is 0100, then four processes are running on the processor core, and the corresponding second process has been modified.
[0056] In a preferred embodiment, step 104 updates the checkpoint linked list according to the process relationship tree, including:
[0057] When the preset time interval is reached, the currently running processes on each processor core are obtained; for each process, the following operations are executed:
[0058] According to the process relationship tree, the process and the associated processes related to the process are interrupted and saved to save the storage information of the process and complete the update of the process.
[0059] In the present invention, the multi-core processor system sets a multi-core multi-task collaborative checkpoint at a certain time interval, and saves the time interval as T, so as to perform a collaborative check on the system every T, that is, re-record the storage information of each process, complete the real-time update of the checkpoint linked list, and thus facilitate efficient and accurate repair of the fault. Specifically, the time interval is an empirical value determined for the multi-core processor system.
[0060] Specifically, when the preset time interval is reached, it is considered that the multi-core processor system has received a checkpoint setting request, and a globally consistent checkpoint setting is performed according to the following steps to complete the update of each process through the checkpoint setting process. Specifically, after receiving the checkpoint setting request, wait for the user to interrupt the save request; wherein, the callback work process sends an interrupt save signal according to the process relationship tree; and after the target process of the checkpoint setting receives the interrupt save signal, the process relationship tree of the target process is updated and saved, and all storage information such as process data is saved, and a checkpoint end flag is set in the current process, and the checkpoint end flag is used to indicate that the process has completed the update. Then, other process checkpoints are set according to the process relationship tree until all processes are updated, and the global consistency checkpoint setting is ended.
[0061] In a more preferred embodiment, step 104 updates the checkpoint linked list according to the process relationship tree to obtain an updated checkpoint linked list, including:
[0062] When a preset time interval is reached, the number of processes currently running on each processor core is obtained;
[0063] According to the storage modification status of each process, determining the storage modification flag of the process and the process storage modification status word of each processor core;
[0064] Obtaining storage information of the processes currently running on each processor core to determine the current process status table and process information table of each process;
[0065] An updated checkpoint linked list is generated based on the number of currently running processes, the storage modification flag of the process, the process storage modification status word of each processor core, the current process status table and process information table of the process.
[0066] In the present invention, all the contents in the checkpoint linked list need to be updated during the update, so as to update the storage information of the process in real time, so as to facilitate timely fault recovery based on the storage information.
[0067] In step 106, when the multi-core processor fails, the process is restored according to the updated checkpoint linked list, including:
[0068] When a multi-core processor fails, confirm the process to be restored and restore each process to be restored based on the process relationship tree;
[0069] For each process to be restored, execute:
[0070] Based on the process relationship tree and the updated checkpoint linked list, determining the storage modification flag of the process to be restored and the associated process storage modification flag of the associated process related to the process to be restored;
[0071] The process to be recovered is rolled back based on the storage modification flag, and the associated process is rolled back based on the storage modification flag of the associated process to complete the recovery.
[0072] It should be noted that the updated checkpoint linked list in step 106 refers to the checkpoint linked list obtained in the most recent update before the failure occurs.
[0073] Specifically, when a multi-core processor fails, a checkpoint recovery command will be executed, and the processes running on the processor core will be recovered according to the following steps: 1) Recovery confirmation is required for each process. After confirming a process to be recovered, first, the associated processes related to the process to be recovered are blocked based on the process relationship tree, and then the storage modification flag of the process to be recovered and the associated process storage modification flag of the associated processes related to the process to be recovered are determined based on the process relationship tree and the updated checkpoint linked list; the process to be recovered is rolled back based on the storage modification flag, and the associated process is rolled back based on the associated process storage modification flag, so as to complete the recovery of the corresponding process; 2) After determining the next process to be recovered that needs to be recovered based on the process relationship tree, the corresponding associated process is blocked according to the process relationship tree; 3) The process to be recovered is awakened this time, and the storage modification flag of the process to be recovered and the associated process storage modification flag of the associated process related to the process to be recovered are checked in step 1) according to the process relationship tree and the updated checkpoint linked list, and the data of the corresponding process is recovered; 4) And so on, until all data of the process is recovered and all processes are recovered.
[0074] For example, if the storage modification flag of the process status table is not 0, it means that the process to be restored has undergone storage modification and needs to be rolled back; if the storage modification flag of the associated process is not 0, it means that the related process has undergone storage modification and needs to be rolled back.
[0075] In a preferred embodiment, after the process is restored according to the updated checkpoint linked list in step 106, the following is further included:
[0076] Reset the storage modification flag of each process; after resetting, the storage modification flag is 0.
[0077] In the present invention, after the fault recovery is completed, it also includes resetting the process storage modification status word, storage modification flag, and associated process storage modification flag of the process status table in the checkpoint linked list, so that they can be reset to 0 after each recovery, which is convenient for subsequent timely recording of the storage information of each process, and at the same time facilitates timely recovery of subsequent faults, thereby improving the security of the multi-core processor system.
[0078] like Figure 4 , Figure 5As shown, an embodiment of the present invention provides a fault recovery device based on a multi-core processor checkpoint linked list. The device embodiment can be implemented by software, or by hardware or a combination of software and hardware. From the hardware level, Figure 4 As shown in FIG. 1 , a hardware architecture diagram of a computing device where a fault recovery device based on a multi-core processor checkpoint linked list provided by an embodiment of the present invention is located is shown in FIG. Figure 4 In addition to the processor, memory, network interface, and non-volatile memory shown in the figure, the computing device in which the device is located in the embodiment may also generally include other hardware, such as a forwarding chip responsible for processing messages, etc. Taking software implementation as an example, Figure 5 As shown, as a device in a logical sense, the CPU of the computing device in which it is located reads the corresponding computer program in the non-volatile memory into the memory and runs it. This embodiment provides a fault recovery device based on a multi-core processor checkpoint linked list, and the device includes:
[0079] The acquisition module 500 is used to obtain information of multiple processes running on the multi-core processor;
[0080] A construction module 502 is used to construct a process relationship tree and a checkpoint linked list based on the plurality of process information; wherein the process relationship tree includes a hierarchical relationship between different processes; and the checkpoint linked list includes storage information of each process;
[0081] A check and update module 504, configured to update the checkpoint linked list according to the process relationship tree to obtain an updated checkpoint linked list;
[0082] The recovery module 506 is used to recover the process according to the updated checkpoint linked list when the multi-core processor fails.
[0083] In some specific implementations, the acquisition module 500 may be used to execute the above step 100 , the construction module 502 may be used to execute the above step 102 , the check update module 504 may be used to execute the above step 104 , and the recovery module 506 may be used to execute the above step 106 .
[0084] In one embodiment of the present invention, the checkpoint linked list includes an index table header, a process index table, a bidirectional linked list including a process status table and a process information table;
[0085] The number of index table headers is the same as the number of cores of the multi-core processor; the index table header points to the process index table of the corresponding processor core, and the index table includes the number of processes running on the processor core and the process storage modification status word;
[0086] The index table header points to the bidirectional linked list of the corresponding processor core. The process status table includes the process ID, storage modification flag, associated process storage modification flag and process related information of each process. The process related information points to the process information table. The process information table includes the process data of the process, process file system information, process writeback file and process relationship tree related to the process.
[0087] In one embodiment of the present invention, the checking update module 504 is used to perform the following operations:
[0088] When the preset time interval is reached, the currently running processes on each processor core are obtained; for each process, the following operations are executed:
[0089] According to the process relationship tree, the process and the associated processes related to the process are interrupted and saved to save the storage information of the process and complete the update of the process.
[0090] In one embodiment of the present invention, the checking update module 504 is used to perform the following operations:
[0091] When a preset time interval is reached, the number of processes currently running on each processor core is obtained;
[0092] According to the storage modification status of each process, determining the storage modification flag of the process and the process storage modification status word of each processor core;
[0093] Obtaining storage information of the processes currently running on each processor core to determine the current process status table and process information table of each process;
[0094] An updated checkpoint linked list is generated based on the number of currently running processes, the storage modification flag of the process, the process storage modification status word of each processor core, the current process status table and process information table of the process.
[0095] In one embodiment of the present invention, the recovery module 506 is further configured to perform the following operations:
[0096] When a multi-core processor fails, confirm the process to be restored and restore each process to be restored based on the process relationship tree;
[0097] For each process to be restored, execute:
[0098] Based on the process relationship tree and the updated checkpoint linked list, determining the storage modification flag of the process to be restored and the associated process storage modification flag of the associated process related to the process to be restored;
[0099] The process to be recovered is rolled back based on the storage modification flag, and the associated process is rolled back based on the storage modification flag of the associated process to complete the recovery.
[0100] In one embodiment of the present invention, the recovery module 506 is further configured to perform the following operations:
[0101] After the process is restored according to the updated checkpoint linked list, the storage modification flag of each process is reset; after the reset, the storage modification flag is 0.
[0102] It is to be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on a fault recovery device based on a multi-core processor checkpoint linked list. In other embodiments of the present invention, a fault recovery device based on a multi-core processor checkpoint linked list may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0103] The information interaction, execution process and other contents between the modules in the above-mentioned device are based on the same concept as the embodiment of the method of the present invention. For the specific contents, please refer to the description in the embodiment of the method of the present invention, and no further description is given here.
[0104] An embodiment of the present invention further provides a computing device, including a memory and a target processor, wherein a computer program is stored in the memory, and when the target processor executes the computer program, a fault recovery method based on a multi-core processor checkpoint linked list in any embodiment of the present invention is implemented.
[0105] An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the processor executes a fault recovery method based on a multi-core processor checkpoint linked list in any embodiment of the present invention.
[0106] An embodiment of the present application also provides a computer program product, which includes a computer program. A processor of a computer device reads the computer program from a computer-readable storage medium, and the processor executes the computer program, so that the computer device executes a fault recovery method based on a multi-core processor checkpoint linked list as described in any of the above embodiments.
[0107] Specifically, a system or device equipped with a storage medium can be provided, on which software program code that implements the functions of any of the above-mentioned embodiments is stored, and a computer (or CPU or MPU) of the system or device can be enabled to read and execute the program code stored in the storage medium.
[0108] In this case, the program code itself read from the storage medium can realize the function of any one of the above-mentioned embodiments, and thus the program code and the storage medium storing the program code constitute a part of the present invention.
[0109] The storage medium embodiments for providing the program code include a floppy disk, a hard disk, a magneto-optical disk, an optical disk (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), a magnetic tape, a non-volatile memory card, and a ROM. Alternatively, the program code can be downloaded from a server computer by a communication network.
[0110] In addition, it should be clear that the functions of any of the above embodiments can be implemented not only by executing the program code read by the computer, but also by enabling the operating system on the computer to complete part or all of the actual operations based on the instructions of the program code.
[0111] In addition, it can be understood that the program code read from the storage medium is written to a memory provided in an expansion board inserted into the computer or to a memory provided in an expansion module connected to the computer, and then based on the instructions of the program code, a CPU installed on the expansion board or expansion module is enabled to perform part or all of the actual operations, thereby realizing the functions of any of the above-mentioned embodiments.
[0112] It should be noted that, in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "comprise a ..." do not exclude the presence of other identical factors in the process, method, article or device including the elements.
[0113] A person of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiments can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above method embodiments; and the aforementioned storage medium includes: ROM, RAM, magnetic disk or optical disk, etc., various media that can store program codes.
[0114] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A fault recovery method based on a multi-core processor checkpoint linked list, characterized in that: include: Get information about multiple processes running on a multi-core processor; Based on the plurality of process information, a process relationship tree and a checkpoint linked list are constructed; wherein the process relationship tree includes a hierarchical relationship between different processes; and the checkpoint linked list includes storage information of each process; Updating the checkpoint linked list according to the process relationship tree to obtain an updated checkpoint linked list; When the multi-core processor fails, the process is restored according to the updated checkpoint linked list.
2. The method according to claim 1, characterized in that The checkpoint linked list includes an index table header, a process index table, a bidirectional linked list including a process status table and a process information table; The number of index table headers is the same as the number of cores of the multi-core processor; the index table header points to the process index table of the corresponding processor core, and the index table includes the number of processes running on the processor core and the process storage modification status word; The index table header points to a bidirectional linked list of the corresponding processor core, the process status table includes the process ID, storage modification flag, associated process storage modification flag and process related information of each process, the process related information points to the process information table, and the process information table includes the process data of the process, process file system information, process writeback file and a process relationship tree related to the process.
3. The method according to claim 1, characterized in that The updating of the checkpoint linked list according to the process relationship tree includes: When the preset time interval is reached, the process currently running on each processor core is obtained; for each of the processes, the following steps are executed: According to the process relationship tree, the process and the associated processes related to the process are interrupted and saved to save the storage information of the process and complete the update of the process.
4. The method according to claim 2, characterized in that: The updating of the checkpoint linked list according to the process relationship tree to obtain an updated checkpoint linked list includes: When a preset time interval is reached, the number of processes currently running on each processor core is obtained; Determining a storage modification flag of the process and a process storage modification status word of each processor core according to the storage modification status of each process; Acquire storage information of the processes currently running on each processor core to determine a current process status table and a process information table of each process; The updated checkpoint linked list is generated based on the number of currently running processes, the storage modification flag of the process, the process storage modification status word of each processor core, the current process status table and process information table of the process.
5. The method according to any one of claims 1 to 4, characterized in that: When the multi-core processor fails, recovering the process according to the updated checkpoint linked list includes: When the multi-core processor fails, confirming the process to be restored, and restoring each of the processes to be restored based on the process relationship tree; For each process to be restored, execute: Based on the process relationship tree and the updated checkpoint linked list, determining the storage modification flag of the process to be restored and the associated process storage modification flag of the associated process related to the process to be restored; The process to be recovered is rolled back based on the storage modification flag, and the associated process is rolled back based on the associated process storage modification flag to complete recovery.
6. The method according to claim 5, characterized in that After the process is restored according to the updated checkpoint linked list, the method further includes: The storage modification flag of each process is reset; wherein the storage modification flag is 0 after the reset.
7. A fault recovery device based on a multi-core processor checkpoint linked list, characterized in that: include: An acquisition module is used to obtain information of multiple processes running on a multi-core processor; A construction module, used to construct a process relationship tree and a checkpoint linked list based on the plurality of process information; wherein the process relationship tree includes a hierarchical relationship between different processes; and the checkpoint linked list includes storage information of each process; A check and update module, used for updating the checkpoint linked list according to the process relationship tree to obtain an updated checkpoint linked list; A recovery module is used to recover the process according to the updated checkpoint linked list when the multi-core processor fails.
8. A computing device, comprising a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the method according to any one of claims 1 to 6 is implemented.
9. A computer-readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to execute the method according to any one of claims 1 to 6.
10. A computer program product, characterized in that The method comprises computer instructions, which, when executed by a processor, implement the steps of the method according to any one of claims 1 to 6.