Task scheduling method and device and CT imaging system
By abstracting the hardware resources of the CT imaging system into virtual resources and generating the entire machine configuration file, and uniformly scheduling is performed based on task parameter information, the problem of low reconstruction resource utilization is solved, and more efficient resource management and speed optimization is achieved.
Patent Information
- Application Number
- CN202510423888.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-03
- Publication Date
- 2025-08-08
AI Technical Summary
In the prior art, the reconstruction resource utilization rate of CT imaging systems is low, the resource estimate accuracy is low, the resource usage is extensive, the dynamic adaptability is weak, and the multifunction node optimization is imbalanced, resulting in slow reconstruction speed and waste of resources.
The different hardware configurations in the reconstruction system are abstracted into virtual resources, and the entire machine resource configuration file is generated. The controller calculates the resource amount based on the task parameter information, and performs unified scheduling and allocation.
It improves the utilization rate of reconstruction resources, improves resource estimate accuracy, optimizes resource usage, enhances dynamic adaptability, and improves reconstruction speed and overall performance.
Smart Images

Figure CN120448051A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of medical technology, and in particular to a task scheduling method, device and CT imaging system. Background Art
[0002] In the medical field, imaging methods such as Computed Tomography (CT) and Magnetic Resonance Imaging (MRI) all require image reconstruction processes.
[0003] Taking CT reconstruction as an example, related technologies typically bind task types to task queues, and each task queue type has fixed resources. When scheduling a reconstruction task, the task type is first determined to which task queue it belongs. The task is then scheduled to the corresponding queue, and image reconstruction is then performed based on the fixed resources in that queue.
[0004] However, in the related art, there is a technical problem of low resource utilization when scheduling tasks. Summary of the Invention
[0005] Based on this, it is necessary to provide a task scheduling method, device and CT imaging system to address the above technical problems, which can improve the utilization rate of reconstruction resources.
[0006] In a first aspect, an embodiment of the present application provides a task scheduling method, which is applied to a controller in a reconstruction system; the method comprises:
[0007] When multiple reconstruction tasks are received, the whole machine resource configuration file of the reconstruction system and the task parameter information of each reconstruction task are obtained; the whole machine resource configuration file is a unified resource management file generated by mapping different hardware configurations in the reconstruction system into virtual resources;
[0008] Determine the required resources for each reconstruction task based on the parameter information of each task;
[0009] Schedule each reconstruction task based on the entire machine resource configuration file and the required resources of each reconstruction task.
[0010] In one embodiment, obtaining a whole-machine resource configuration file for rebuilding a system includes:
[0011] Receive hardware resources reported by the resource monitoring module in the reconstruction system;
[0012] When a change in hardware resources is detected, the hardware resources are abstracted into virtual resources according to the preset resource abstraction rules;
[0013] According to the virtual resources, the original whole-machine resource configuration file in the reconstructed system is updated to obtain the whole-machine resource configuration file.
[0014] In one embodiment, each reconstruction task corresponds to a plurality of functional nodes in the reconstruction system; and determining the required amount of resources for each reconstruction task based on parameter information of each task includes:
[0015] According to the parameter information of each task, the configuration file, reconstruction parameters and acquisition parameters of each reconstruction task are obtained;
[0016] The configuration files, reconstruction parameters and acquisition parameters are sent to the functional nodes corresponding to the reconstruction tasks, so as to instruct the functional nodes to perform resource estimation and obtain the required resource amount of each reconstruction task.
[0017] In one of the embodiments, for any reconstruction task, multiple functional nodes corresponding to the reconstruction task parse the configuration file, reconstruction parameters and acquisition parameters of the reconstruction task upon receiving the configuration file, reconstruction parameters and acquisition parameters of the reconstruction task, obtain the algorithm configuration information of the reconstruction task, and determine the required amount of resources for the reconstruction task based on the algorithm configuration information, reconstruction parameters and acquisition parameters.
[0018] In one embodiment, each functional node obtains the algorithm to be started in each functional node according to the algorithm configuration information, and determines the required amount of resources for the reconstruction task according to the resource calculation method, reconstruction parameters and acquisition parameters corresponding to each algorithm to be started.
[0019] In one embodiment, scheduling each reconstruction task according to the entire machine resource configuration file and the resource amount required for each reconstruction task includes:
[0020] If the total amount of resources in the whole machine resource configuration file is greater than or equal to the sum of the required resources of each reconstruction task, the task manager in the reconstruction system is instructed to start each reconstruction task and allocate resources for each reconstruction task;
[0021] If the total amount of resources in the entire machine resource configuration file is less than the sum of the required resources of each reconstruction task, the startable reconstruction task among each reconstruction task is determined according to the priority of each reconstruction task, and the task manager is instructed to start the startable reconstruction task and allocate resources to each startable reconstruction task.
[0022] In one of the embodiments, for any reconstruction task, when the target functional node of the reconstruction task detects that the target functional node has a performance bottleneck, it determines the resource request amount based on the current performance and the target performance, and requests resources from the controller based on the resource request amount until there is no performance bottleneck.
[0023] In one embodiment, when the target functional node detects that the data processing time exceeds a preset time threshold, it is determined that the target functional node has a performance bottleneck; the data processing time is determined based on the data inflow time and data outflow time of the target functional node.
[0024] In a second aspect, an embodiment of the present application further provides a task scheduling device, comprising:
[0025] An information acquisition module is used to obtain, upon receiving multiple reconstruction tasks, a whole-machine resource configuration file of the reconstruction system and task parameter information of each reconstruction task; the whole-machine resource configuration file is a unified resource management file generated by mapping different hardware configurations in the reconstruction system into virtual resources;
[0026] A resource quantity determination module is used to determine the required resource quantity of each reconstruction task based on the parameter information of each task;
[0027] The task scheduling module is used to schedule each reconstruction task according to the whole machine resource configuration file and the required resources of each reconstruction task.
[0028] In a third aspect, an embodiment of the present application further provides a CT imaging system, the CT imaging system comprising a resource monitoring module, a controller, and a functional node;
[0029] The resource monitoring module is used to monitor the hardware resources of the CT imaging system and report the hardware resources to the controller so that the controller can update the resource configuration file of the entire machine;
[0030] The controller is configured to, upon receiving multiple reconstruction tasks, obtain a system resource configuration file and task parameter information for each reconstruction task; determine the amount of resources required for each reconstruction task based on the task parameter information; and schedule each reconstruction task based on the system resource configuration file and the amount of resources required for each reconstruction task; the system resource configuration file is a unified resource management file generated by mapping different hardware configurations in the CT imaging system into virtual resources;
[0031] The function node is used to perform image reconstruction based on each reconstruction task and generate a reconstructed image corresponding to each reconstruction task.
[0032] In a fourth aspect, the present application further provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the method in any one of the embodiments of the first aspect are implemented.
[0033] In a fifth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method in any one of the embodiments of the first aspect above.
[0034] In a sixth aspect, the present application further provides a computer program product, comprising a computer program, which, when executed by a processor, implements the steps of the method in any one of the embodiments of the first aspect above.
[0035] The task scheduling method, device, and CT imaging system provided by the embodiments of the present application are as follows: when a controller in a reconstruction system receives multiple reconstruction tasks, it obtains a whole-machine resource configuration file of the reconstruction system and task parameter information of each reconstruction task, and then determines the required resource amount of each reconstruction task based on the parameter information of each task. Then, it schedules each reconstruction task based on the whole-machine resource configuration file and the required resource amount of each reconstruction task, wherein the whole-machine resource configuration file is a unified resource management file generated by mapping different hardware configurations in the reconstruction system into virtual resources. In this method, before scheduling the reconstruction tasks, the different hardware configurations in the reconstruction system are pre-abstracted into virtual resources, and a whole-machine resource configuration file is generated to uniformly manage the reconstruction resources. Based on this, when a reconstruction task is received, the controller can calculate the required resource amount for image reconstruction based on the task parameter information of each reconstruction task, and then allocate resources to each reconstruction task from the whole-machine resources based on the required resource amount of each reconstruction task. This is equivalent to abstracting different hardware resources into virtual resources for global management, from which each reconstruction task can dynamically apply for resources on demand, thereby improving the utilization rate of reconstruction resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following briefly introduces the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0037] Figure 1 is a diagram of the internal structure of a computer device in one embodiment;
[0038] Figure 2 1 is a flow chart of a task scheduling method according to an embodiment;
[0039] Figure 3 A schematic diagram of a process for obtaining a whole-machine resource configuration file in one embodiment;
[0040] Figure 4 A schematic diagram of a process for determining required resource amounts in one embodiment;
[0041] Figure 5 A schematic diagram of a process for scheduling a reconstruction task in one embodiment;
[0042] Figure 6is a schematic diagram of resource abstraction in one embodiment;
[0043] Figure 7 A schematic diagram of a process for scheduling tasks in one embodiment;
[0044] Figure 8 A schematic diagram of resource reporting in one embodiment;
[0045] Figure 9 A schematic diagram of allocating resources to start reconstruction in one embodiment;
[0046] Figure 10 A schematic diagram of allocating more resources to a functional node in one embodiment;
[0047] Figure 11 FIG. 1 is a structural diagram of a task scheduling device in an embodiment. DETAILED DESCRIPTION
[0048] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0049] The following first describes the technical background of the embodiments of the present application.
[0050] In the medical field, imaging methods such as CT, MRI, and PET all involve image reconstruction processes.
[0051] Taking CT reconstruction as an example, the problems with scheduling CT reconstruction tasks include: (1) Low utilization of reconstruction resources: The traditional queue scheduling method binds the reconstruction scene and the queue, and each queue has fixed resources, resulting in some queue resources being idle in ordinary reconstruction scenarios; (2) Low resource estimation accuracy: The traditional method estimates the maximum resource consumption of a reconstruction task, and in most scenarios, the actual resources used by the reconstruction task are less than the maximum resource consumption; (3) Extensive resource use: The traditional method lacks a fine-grained model resource control mechanism, which leads to resource waste when idle and task interruption when computation is intensive; (4) Weak dynamic adaptability: Unable to respond to changes in hardware resources, such as memory looseness causing capacity reduction and resulting in reconstruction failure; daily reconstruction resource utilization is low, but users complain about slow reconstruction speed; (5) Imbalanced optimization of multi-functional nodes: Optimizing functional performance alone does not bring about an improvement in the overall reconstruction performance.
[0052] Based on this, the embodiment of the present application provides a task scheduling method. Before scheduling the reconstruction task, the different hardware configurations in the reconstruction system are abstracted as virtual resources in advance, and a whole-machine resource configuration file is generated to uniformly manage the reconstruction resources. Based on this, when receiving the reconstruction task, the controller can calculate the amount of resources required for image reconstruction based on the task parameter information of each reconstruction task, and thus allocate resources to each reconstruction task from the whole-machine resources based on the required amount of resources of each reconstruction task. This is equivalent to abstracting different hardware resources into virtual resources for global management, from which each reconstruction task can dynamically apply for resources on demand, thereby improving the utilization rate of reconstruction resources. Of course, the technical solution provided in the embodiment of the present application is not limited to solving only the above-mentioned problems, but also has other technical effects. For details, please refer to the following embodiment description.
[0053] It should be noted that the beneficial effects or technical problems solved by the embodiments of the present application are not limited to this one, but may also include other implicit or related problems. For details, please refer to the description of the following embodiments.
[0054] The task scheduling method provided in the embodiment of the present application can be applied to a computer device. The computer device can be a controller in a reconstruction system, and its internal structure diagram can be as follows: Figure 1 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O) and a communication interface. The processor, memory and input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the computer device is used to store data. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a data processing method is implemented. Those skilled in the art can understand that Figure 1 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0055] The following specific embodiments describe in detail the technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0056] In an exemplary embodiment, Figure 2 As shown, a task scheduling method is provided, which is applied to Figure 1 The computer device in the embodiment is used as an example to illustrate the method, including the following steps 201 to 203.
[0057] S201 , when receiving multiple reconstruction tasks, obtain a whole-machine resource configuration file of the reconstruction system and task parameter information of each reconstruction task; the whole-machine resource configuration file is a unified resource management file generated by mapping different hardware configurations in the reconstruction system into virtual resources.
[0058] A reconstruction system converts two-dimensional medical data into three-dimensional medical images. Medical data includes, but is not limited to, CT data, MRI data, PET data, and SPECT data. Corresponding reconstruction systems include CT reconstruction systems, MRI reconstruction systems, PET reconstruction systems, and SPECT reconstruction systems.
[0059] The whole machine resource configuration file is a unified resource management file generated for mapping different hardware configurations in the reconstruction system into virtual resources. It is understandable that in the embodiment of the present application, the physical hardware is converted into elastically schedulable virtual resources through logical mapping to uniformly manage the reconstruction resources. Among them, the hardware resources in the reconstruction system include CPU, GPU, memory, storage, network, etc. Different hardware configurations include low-end configuration, mid-end configuration and high-end configuration, etc. Correspondingly, the levels of hardware resources in different levels of configuration are also different. Taking the storage in the hardware resources as an example, the storage in the low-end configuration is such as 1TB, the storage in the mid-end configuration is such as 4TB, and the storage in the high-end configuration is such as 100TB.
[0060] When multiple reconstruction tasks are received, the whole machine resource configuration file in the reconstruction system is first obtained for resource allocation, and task parameter information of each reconstruction task is obtained for calculating the amount of resources required for each reconstruction task.
[0061] Exemplarily, a method for obtaining the whole machine resource configuration file of the reconstruction system may be to obtain the file name or file identifier of the whole machine resource configuration file, and then search the database of the reconstruction system according to the file name or file identifier to obtain the whole machine resource configuration file of the reconstruction system.
[0062] Exemplarily, a method for obtaining task parameter information of each reconstruction task may be to obtain task detail information corresponding to each reconstruction task from the scanning protocol management interface, and then obtain acquisition parameters and reconstruction parameters corresponding to each reconstruction task from the task detail information corresponding to each reconstruction task, and obtain a configuration file for each reconstruction task from a database, and then determine the acquired acquisition parameters and reconstruction parameters corresponding to each reconstruction task and the configuration file as the task parameter information of each reconstruction task.
[0063] S202: Determine the required resource amount of each reconstruction task according to the parameter information of each task.
[0064] Based on the task parameter information of each reconstruction task obtained above, the amount of resources required for image reconstruction of each reconstruction task is calculated.
[0065] In practical applications, resource requirements can be combined with a resource demand calculation model to calculate resource quantities. For example, for any reconstruction task, the algorithm required for image reconstruction can be obtained. The parameter information corresponding to each algorithm can then be obtained from the task parameter information for the reconstruction task. The resource requirements calculation model for each algorithm, combined with the corresponding parameter information, can then be used to calculate the resource requirements for each algorithm. The resource requirements for each algorithm can then be combined to determine the resource requirements for the reconstruction task.
[0066] S203 : Scheduling each reconstruction task according to the entire machine resource configuration file and the required resource amount of each reconstruction task.
[0067] After obtaining the required resources for each reconstruction task, each reconstruction task is scheduled based on the overall resource configuration file of the reconstruction system and the required resources for each reconstruction task, and resources for image reconstruction are allocated to each reconstruction task.
[0068] For example, after obtaining the required amount of resources for each reconstruction task, when the amount of resources in the reconstruction system can meet the runtime of each reconstruction task, resources are allocated to each reconstruction task based on the priority of each reconstruction task and the required amount of resources for each reconstruction task.
[0069] In the task scheduling method provided by the embodiment of the present application, when a controller in a reconstruction system receives multiple reconstruction tasks, it obtains the whole-machine resource configuration file of the reconstruction system and the task parameter information of each reconstruction task, and then determines the required resource amount of each reconstruction task based on the parameter information of each task, and then schedules each reconstruction task based on the whole-machine resource configuration file and the required resource amount of each reconstruction task, wherein the whole-machine resource configuration file is a unified resource management file generated by mapping different hardware configurations in the reconstruction system into virtual resources. In this method, before scheduling the reconstruction tasks, the different hardware configurations in the reconstruction system are abstracted into virtual resources in advance, and a whole-machine resource configuration file is generated to uniformly manage the reconstruction resources. Based on this, when a reconstruction task is received, the controller can calculate the resource amount required for image reconstruction based on the task parameter information of each reconstruction task, and then allocate resources to each reconstruction task from the whole-machine resources based on the required resource amount of each reconstruction task. This is equivalent to abstracting different hardware resources into virtual resources for global management, from which each reconstruction task can dynamically apply for resources on demand, thereby improving the utilization rate of reconstruction resources.
[0070] Based on the above embodiment, an embodiment is provided to illustrate the process of obtaining the whole machine resource configuration file.
[0071] In an exemplary embodiment, Figure 3 As shown, obtain the entire resource configuration file for the rebuilt system, including:
[0072] S301: Receive hardware resources reported by a resource monitoring module in a reconstruction system.
[0073] In an embodiment of the present application, the reconstruction system also includes a resource monitoring module for monitoring the hardware resources in the reconstruction system and reporting the monitored hardware resources to the controller in the reconstruction system so that the controller updates the entire machine resource configuration file.
[0074] S302 : When a change in hardware resources is detected, the hardware resources are abstracted into virtual resources according to a preset resource abstraction rule.
[0075] After receiving the hardware resources reported by the resource monitoring module, the controller in the reconstruction system detects whether the hardware resources in the reconstruction system have changed. If the current hardware resources are different from the hardware resources at the last startup, the virtual resources in the whole machine resource configuration file need to be updated.
[0076] In the embodiment of the present application, there is a preset resource abstraction rule for converting the hardware resources in the reconstruction system into logical resources that can be recognized by the software. The controller can obtain the resource abstraction rule and then map the hardware resources reported by the resource monitoring module into virtual resources.
[0077] S303: Update the original whole-machine resource configuration file in the reconstructed system according to the virtual resources to obtain the whole-machine resource configuration file.
[0078] After abstracting the hardware resources reported by the resource monitoring module into virtual resources, the controller updates the original whole-machine resource configuration file in the reconstruction system according to the virtual resources to obtain a new whole-machine resource configuration file.
[0079] In actual application, the controller may first obtain the original whole machine resource configuration file from the database, and then replace the virtual resources in the original whole machine resource configuration file with the current abstracted virtual resources to obtain a new whole machine resource configuration file.
[0080] It's understandable that the original full-machine resource configuration file in the rebuilt system is also derived by mapping hardware resources based on resource abstraction rules. In this embodiment of the present application, when installing a product (rebuilt machine), hardware resources are abstracted into resource items within the product's full configuration, based on the hardware configuration and resource abstraction rules of each product. These items are then written into the full-machine resource configuration file, resulting in the original full-machine resource configuration file. The resource items within this file are extensible and customizable, with the resource abstraction rules defined by the actual resource usage of the rebuilt program.
[0081] In the task scheduling method provided in the embodiment of the present application, the hardware resources reported by the resource monitoring module in the reconstruction system are first received. Then, when a change in the hardware resources is detected, the hardware resources are abstracted into virtual resources according to the preset resource abstraction rules. Then, based on the virtual resources, the original whole-machine resource configuration file in the reconstruction system is updated to obtain the whole-machine resource configuration file. In this method, when the hardware resources reported by the resource monitoring module in the reconstruction system are received, the preset resource abstraction rules are used to abstract the hardware resources into virtual resources and store them in the whole-machine resource configuration file, which can ensure unified management and flexible scheduling of resources in multiple scenarios.
[0082] Based on the above embodiment, an embodiment is provided to illustrate the process of determining the required resource amount.
[0083] In an exemplary embodiment, Figure 4 As shown, each reconstruction task corresponds to multiple functional nodes in the reconstruction system; according to the parameter information of each task, the required amount of resources for each reconstruction task is determined, including:
[0084] S401 , obtaining configuration files, reconstruction parameters, and acquisition parameters of each reconstruction task according to parameter information of each task.
[0085] S402 : Sending configuration files, reconstruction parameters, and acquisition parameters to functional nodes corresponding to each reconstruction task to instruct each functional node to perform resource estimation to obtain the required resource amount for each reconstruction task.
[0086] In the embodiments of the present application, the reconstruction system also includes functional nodes, with each reconstruction task corresponding to multiple functional nodes. A functional node is a module or hardware component in the reconstruction system responsible for image reconstruction, primarily executing the reconstruction algorithm and generating tomographic images. For example, functional nodes in the reconstruction system include data preprocessing nodes, image reconstruction nodes, and image post-processing nodes. The output of a previous node is the input of the next node.
[0087] When performing resource calculations for each reconstruction task, the controller obtains the configuration file, reconstruction parameters, and acquisition parameters of each reconstruction task from the task parameter information of each reconstruction task, and then sends these parameter information to the functional nodes corresponding to each reconstruction task, and each functional node performs resource calculations.
[0088] For example, for any reconstruction task, the configuration file, reconstruction parameters and acquisition parameters of the reconstruction task are sent to each functional node corresponding to the reconstruction task. After receiving the parameter information, each functional node performs resource calculation based on the resource requirement calculation model corresponding to each functional node and the parameter information corresponding to each functional node to obtain the resource requirement of each functional node. The resource requirement of each functional node is then integrated to obtain the required resource amount for the reconstruction task.
[0089] In the task scheduling method provided in the embodiments of the present application, the configuration file, reconstruction parameters, and acquisition parameters of each reconstruction task are first obtained based on the parameter information of each task. Then, each configuration file, each reconstruction parameter, and each acquisition parameter are sent to the functional node corresponding to each reconstruction task to instruct each functional node to perform resource estimation and obtain the required resource amount for each reconstruction task. In this method, each reconstruction task corresponds to multiple functional nodes. When calculating the required resource amount for each reconstruction task, the configuration file, reconstruction parameters, and acquisition parameters of each reconstruction task are sent to the functional node corresponding to each reconstruction task, so that each functional node can calculate the required resource amount, thereby obtaining the required resource amount for each reconstruction task, providing an allocation basis for resource allocation for each reconstruction task.
[0090] Based on the above embodiment, another embodiment is provided to illustrate the process of determining the required resource amount.
[0091] In an exemplary embodiment, for any reconstruction task, the multiple functional nodes corresponding to the reconstruction task parse the configuration file, reconstruction parameters and acquisition parameters of the reconstruction task upon receiving the configuration file, reconstruction parameters and acquisition parameters of the reconstruction task, obtain the algorithm configuration information of the reconstruction task, and determine the required amount of resources for the reconstruction task based on the algorithm configuration information, reconstruction parameters and acquisition parameters.
[0092] For any reconstruction task, after receiving the configuration file, reconstruction parameters and acquisition parameters of the reconstruction task, each functional node of the reconstruction task parses the configuration file, reconstruction parameters and acquisition parameters to calculate the required resource amount.
[0093] When applied, each functional node first parses the configuration file to obtain the algorithm configuration information of the reconstruction task, and then calculates the algorithm information in combination with the reconstruction parameters and acquisition parameters to determine the required resources for the reconstruction task.
[0094] In this embodiment, after receiving the parameter information sent by the controller, each functional node processes the parameter information based on its own processing characteristics to independently calculate the resource requirements. By evaluating the resource quantity at a finer granularity for each functional node, the accuracy of resource quantity evaluation is improved, thereby improving the rationality and accuracy of resource allocation.
[0095] Based on the above embodiment, another embodiment is provided to illustrate the process of determining the required resource amount.
[0096] In an exemplary embodiment, each functional node obtains the algorithm to be started in each functional node according to the algorithm configuration information, and determines the required resource amount of the reconstruction task according to the resource calculation method, reconstruction parameters and acquisition parameters corresponding to each algorithm to be started.
[0097] In the embodiment of the present application, the algorithm configuration information includes the algorithms that need to be started on each functional node. After being started, these algorithms are used to perform image processing to complete the image reconstruction task.
[0098] Based on this, after parsing the algorithm configuration information, each functional node obtains the algorithm to be started in each functional node from the algorithm configuration information, and then performs resource evaluation based on the algorithm on each functional node in combination with reconstruction parameters and acquisition parameters.
[0099] Exemplarily, for any functional node, the functional node first obtains the resource calculation method corresponding to the algorithm to be started in the functional node, and obtains the reconstruction parameters and acquisition parameters corresponding to the algorithm to be started, and then calculates the required resource amount of the algorithm based on the resource calculation method corresponding to the algorithm, as well as the reconstruction parameters and acquisition parameters. If there is only one algorithm to be started in the functional node, the required resource amount of the algorithm to be started is the required resource amount of the functional node. If there are multiple algorithms to be started in the functional node, the sum of the required resource amounts of each algorithm to be started is the required resource amount of the functional node.
[0100] In this way, each functional node obtains its own required resource amount, and then the required resource amounts of each functional node need to be integrated to obtain the required resource amount of the corresponding reconstruction task.
[0101] In one embodiment, each functional node sends its required resource amount to a master functional node, such as the last functional node in the reconstruction task flow. This functional node then combines the required resource amounts of all functional nodes to obtain the required resource amount for the corresponding reconstruction task, and sends this required resource amount to the controller. When combining the required resource amounts, the required resource amounts of each functional node are weighted according to preset weights to obtain the combined required resource amount, i.e., the required resource amount for the corresponding reconstruction task. The preset weights can be empirical values or set by the user.
[0102] In another embodiment, a resource estimation module is deployed on the functional nodes. Each functional node can send its required resource amount to the resource estimation module. The resource estimation module then calculates the required resource amount of each functional node to obtain the required resource amount for the corresponding reconstruction task and sends the required resource amount to the controller. When calculating the resource amount, the resource estimation module can weight the required resource amount of each functional node based on empirical values to obtain the required resource amount for the corresponding reconstruction task.
[0103] In this embodiment, each functional node obtains the algorithm that needs to be started on its own node based on the algorithm configuration information, and then performs resource calculation based on the resource calculation method corresponding to each algorithm to be started, combined with the reconstruction parameters and acquisition parameters of each algorithm, so as to obtain the required resource amount of each functional node, and then obtain the total required resource amount of the reconstruction task based on each required resource amount, thereby avoiding resource competition caused by global resource estimation deviation and improving the accuracy of resource estimation.
[0104] Based on the above embodiment, an embodiment is provided to illustrate the process of scheduling the reconstruction task.
[0105] In an exemplary embodiment, Figure 5 As shown, each reconstruction task is scheduled based on the entire machine resource configuration file and the required resources of each reconstruction task, including:
[0106] S501 : If the total amount of resources in the whole machine resource configuration file is greater than or equal to the sum of the required resources of each reconstruction task, instruct a task manager in the reconstruction system to start each reconstruction task and allocate resources for each reconstruction task.
[0107] After obtaining the required resource amount of each reconstruction task, the controller allocates resources according to the required resource amount of each reconstruction task.
[0108] First, the controller compares the sum of the required resources of each reconstruction task with the total amount of resources in the whole machine resource configuration file. If the total amount of resources in the whole machine resource configuration file is greater than or equal to the sum of the required resources of each reconstruction task, it means that the resources in the reconstruction system can meet the reconstruction resources required by all reconstruction tasks. Then the controller instructs the task manager in the reconstruction system to start each reconstruction task and allocate resources to each reconstruction task based on the required resources of each reconstruction task, so that each reconstruction task can be started on its own resources and complete the reconstruction process of each reconstruction task.
[0109] S502: If the total amount of resources in the entire machine resource configuration file is less than the sum of the required resources of each reconstruction task, the startable reconstruction task among each reconstruction task is determined according to the priority of each reconstruction task, and the task manager is instructed to start the startable reconstruction task and allocate resources for each startable reconstruction task.
[0110] If the total amount of resources in the whole machine resource configuration file is less than the sum of the required amounts of resources for each reconstruction task, it means that the resources in the reconstruction system cannot meet the reconstruction resources required for all reconstruction tasks. At this time, the controller needs to determine the startable reconstruction tasks in each reconstruction task based on the priority of each reconstruction task. For example, based on the priority of each reconstruction task, several reconstruction tasks with high priority that can be met by the whole machine resource configuration file are determined, and these multiple reconstruction tasks are determined as startable reconstruction tasks. However, the controller instructs the task manager in the reconstruction system to start the startable reconstruction tasks, and allocates resources based on the required amount of resources for each startable reconstruction task, so that the startable reconstruction tasks can be started on their respective resources and complete their respective reconstruction processes. Reconstruction tasks that cannot be allocated resources need to wait until resources are available.
[0111] In the task scheduling method provided by the embodiment of the present application, if the total amount of resources in the whole machine resource configuration file is greater than or equal to the sum of the required amounts of resources of each reconstruction task, the task manager in the reconstruction system is instructed to start each reconstruction task and allocate resources to each reconstruction task; if the total amount of resources in the whole machine resource configuration file is less than the sum of the required amounts of resources of each reconstruction task, the startable reconstruction tasks in each reconstruction task are determined according to the priority of each reconstruction task, and the task manager is instructed to start the startable reconstruction tasks and allocate resources to each startable reconstruction task. In this method, by comparing the sum of the required amounts of resources of each reconstruction task with the total amount of resources in the whole machine resource configuration file, if the total amount of resources in the reconstruction system can meet the required reconstruction resources of all reconstruction tasks, resources are allocated to each reconstruction task; if not, resources are allocated to each reconstruction task based on the priority of each reconstruction task, so that while meeting the resource requirements of each reconstruction task, the resource utilization rate is improved by improving the parallelism of the reconstruction tasks.
[0112] Based on the above embodiments, an embodiment is provided to illustrate the performance improvement process of each reconstruction task during the reconstruction process.
[0113] In an exemplary embodiment, for any reconstruction task, when the target functional node of the reconstruction task detects that there is a performance bottleneck in the target functional node, it determines the resource request amount based on the current performance and the target performance, and requests resources from the controller based on the resource request amount until there is no performance bottleneck.
[0114] In the embodiment of the present application, for any reconstruction task, if a functional node of the reconstruction task detects that it has a performance bottleneck, it needs to apply for resources from the controller again to resolve the performance bottleneck.
[0115] The target functional node can calculate the amount of resources still needed based on the current performance and target performance, and determine this amount of resources as the resource request amount. Based on this resource request amount, it can then request resources from the controller. If there are still idle resources in the reconstruction system, the controller can allocate more resources to the target functional node based on the resource request amount during the next reconstruction of the target functional node. If the target functional node still encounters a performance bottleneck during the reconstruction process after requesting resources, it will need to calculate the resource request amount again based on the current performance and target performance, and request resources from the controller based on this resource request amount until there is no performance bottleneck at the target functional node.
[0116] In one embodiment, when the target functional node detects that the data processing time exceeds a preset time threshold, it determines that the target functional node has a performance bottleneck; the data processing time is determined based on the data inflow time and data outflow time of the target functional node.
[0117] For example, if the target functional node detects that the data processing time at the node exceeds a preset time threshold, it indicates that the reconstruction speed at the node is slow, determines that the node has a performance bottleneck, and requests resources from the controller. The target functional node can obtain the data inflow time and data outflow time at the node and determine the difference between the data outflow time and the data inflow time as the data processing time.
[0118] In this embodiment, the target functional node obtains data inflow time and data outflow time by real-time tracking of the data processing stage to quickly discover reconstruction delays, thereby applying for sufficient resources, improving reconstruction speed, and optimizing reconstruction performance.
[0119] It should be noted that when there are sufficient resources in the reconstruction system, each functional node can apply for sufficient resources according to the maximum performance target to solve its performance bottleneck problem and improve the reconstruction speed; if resources are scarce, each functional node must ensure the minimum performance target to apply for resources to ensure that the reconstruction is completed normally.
[0120] In the task scheduling method provided in the embodiments of the present application, for any reconstruction task, when the target functional node of the reconstruction task detects a performance bottleneck in the target functional node, the node determines a resource request amount based on the current performance and the target performance, and then requests resources from the controller based on the resource request amount until the performance bottleneck is no longer present. In this method, when a functional node detects a performance bottleneck, it promptly requests resources from the controller, allowing the controller to provide sufficient resources to the performance bottleneck node, thereby improving reconstruction speed. By individually optimizing each functional node, the overall reconstruction performance is improved.
[0121] In addition, in an exemplary embodiment, taking CT reconstruction as an example, the complete process of reconstruction task scheduling in the embodiment of the present application is described.
[0122] In an embodiment of the present application, to address the problem of low reconstruction resource utilization due to a fixed number of current reconstruction tasks and idle special reconstruction resources, a method of dynamically scheduling reconstruction tasks through resource estimation is proposed to improve resource utilization and reduce the overall time of multi-task reconstruction.
[0123] Reconstruction resource estimation and reconstruction task scheduling optimization are used to improve reconstruction resource utilization and reconstruction speed in CT systems. The key concept is that the actual resources of the reconstruction machine can be abstracted as virtual resources, and different reconstruction tasks require different reconstruction resources. Based on reconstruction parameters, acquisition parameters, and different configuration parameters, the required resources for a reconstruction task can be estimated. The task manager centrally schedules and allocates resources based on requests. The specific process includes:
[0124] (1) When installing the product, hardware resources are abstracted into virtual resources based on resource abstraction rules. Figure 6 As shown, based on the hardware configuration and resource abstraction rules of different products, hardware resources are abstracted into resource items within the product's complete configuration and written into the entire machine resource configuration file. The task management program reads this resource configuration file. The resource items in the file are extensible and customizable, and the resource abstraction rules are defined by the reconstruction program that actually uses the resources.
[0125] (2) During actual operation, resources are allocated based on the estimated resources of each reconstruction task to reduce idle resources. Figure 7As shown, the resource monitor program monitors hardware resources and reports hardware status. When the system control program first receives hardware resources or changes to them, it calls the DLL provided by Recon to update the entire machine's resource configuration file and notify the task manager. When a reconstruction task is requested, the system control program calls the DLL provided by Recon, passing in the actual machine resources (actual hardware resources), reconstruction parameters, acquisition parameters, and the path to the reconstruction task's configuration file. The Recon DLL then passes in the resource items required for each task. The system control program converts the results and calls Append Job to add the reconstruction task to the task manager. The task manager then calls the task based on the entire machine's abstract resources and the task's resource request.
[0126] The resource estimation module estimates resources by parsing the configuration file to obtain the algorithm configuration information for the current reconstruction task. The algorithm used for the current reconstruction is determined by analyzing the reconstruction parameters, acquisition parameters, and configuration file. Each algorithm calculates the required resources (memory, GPU, etc.) based on these parameters. The resource estimation module then compiles the results of each algorithm and weights them based on empirical data to determine the resource requirements for the current task. The module then returns the results to the system control program.
[0127] When multiple tasks are running simultaneously, resources requested and prioritized by each task are allocated to different reconstruction resources, reducing idle resources and the overall time required to rebuild multiple tasks. In a multi-task, multi-resource reconstruction system, resource requirements are estimated in advance, allowing reconstruction tasks to be scheduled appropriately, improving the efficiency of the reconstruction system's task processing.
[0128] In the embodiment of the present application, the statistical reconstruction process is also carried out in the directed computational graph, following the time statistical performance of data inflow and outflow, finding the performance bottleneck in the computational graph, and establishing a model based on the parameter space of video memory and memory to functional node scheduling, with the goal of maximizing the running speed, completing the scheduling of functional nodes under different resource allocation modes. Then, the way the functional node obtains resources is adjusted through the PID control method, and attempts are made to apply for resources from the upper-level task management, and the resource application is continuously iterated until the node no longer becomes a performance bottleneck or the application fails. The specific process is as follows:
[0129] like Figure 8 As shown in Figure 1, when a reconstruction task is about to start, each functional node will report the resources it needs, calculate the total resource consumption of the reconstruction, and apply for resources from the task manager.
[0130] like Figure 9 As shown in Figure 1, when the task manager finds that its own resources can meet the needs of the reconstruction task, it allocates GPU and CPU to the reconstruction task. During the reconstruction task, it finds that functional node 2 is the performance bottleneck of this reconstruction task.
[0131] like Figure 10 As shown, in the next round of reconstruction, try to allocate more resources to functional node 2 to eliminate the reconstruction bottleneck and improve the reconstruction speed.
[0132] The beneficial effects of this embodiment include: ① Improving the utilization of reconstruction resources: abstracting resources, and improving the parallelism of reconstruction tasks to improve resource utilization while meeting the resource requirements of the reconstruction task; ② Improving the accuracy of resource estimation: the reconstruction task obtains the estimated resource usage of the task based on reconstruction, acquisition parameters, configuration file parameters, etc.; ③ Refined resource control: when resources are sufficient, functional nodes apply for sufficient resources according to the maximum performance target to improve the reconstruction speed; when resources are scarce, resources are applied for with the minimum performance target to ensure the normal completion of reconstruction; ④ Strong robustness: supports fault-tolerant processing of hardware anomalies and reduces the task interruption rate; ⑤ Multi-objective collaborative optimization: by monitoring the performance of each functional node, sufficient resources are given to performance bottleneck nodes to achieve performance improvement.
[0133] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above can include multiple steps or multiple stages, and these steps or stages are not necessarily executed and completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.
[0134] In an exemplary embodiment, the present application also provides a CT imaging system, which includes a resource monitoring module, a controller, and a functional node;
[0135] The resource monitoring module is used to monitor the hardware resources of the CT imaging system and report the hardware resources to the controller so that the controller can update the resource configuration file of the entire machine;
[0136] The controller is configured to, upon receiving multiple reconstruction tasks, obtain a system resource configuration file and task parameter information for each reconstruction task; determine the amount of resources required for each reconstruction task based on the task parameter information; and schedule each reconstruction task based on the system resource configuration file and the amount of resources required for each reconstruction task; the system resource configuration file is a unified resource management file generated by mapping different hardware configurations in the CT imaging system into virtual resources;
[0137] The function node is used to perform image reconstruction based on each reconstruction task and generate a reconstructed image corresponding to each reconstruction task.
[0138] In an embodiment of the present application, taking CT as an example, the CT imaging system includes a resource monitoring module, a controller, and a functional node. The resource monitoring module can monitor the hardware resources in the CT imaging system and send the monitored hardware resources to the controller. The controller updates the entire machine resource configuration file in the CT imaging system so that resources can be allocated to each reconstruction task based on accurate abstract resources each time, thereby improving the reliability of resource allocation. The controller can estimate the resources required for different reconstruction tasks based on the task parameter information of each reconstruction task, such as reconstruction parameters, acquisition parameters, and different configuration parameters, and then notify the task management program to uniformly schedule each reconstruction task based on the required resources of each reconstruction task, and allocate resources according to the resources requested by each reconstruction task. By abstracting different hardware resources into virtual resources for global management, each reconstruction task can dynamically apply for resources on demand, thereby improving the utilization rate of reconstruction resources. The functional node can execute the corresponding image reconstruction algorithm based on each reconstruction task, thereby obtaining the reconstructed image corresponding to each reconstruction task.
[0139] Furthermore, compared to conventional communication multi-task reconstruction, this embodiment optimizes resource scheduling, resource adjustment, and task recovery mechanisms in the CT scanning scenario. First, dynamic resource scheduling is implemented. In multi-tasking scenarios, each reconstruction task is processed at maximum throughput, ensuring more reconstruction tasks per unit time to allocate resources. This prioritizes the number of effective tasks completed per unit time, rather than simply pursuing task processing speed. For example, resource allocation is dynamically adjusted, and multiple tasks are processed in parallel to avoid idle resources. In single-task scenarios, reconstruction tasks are processed at maximum speed to ensure the fastest possible reconstruction completion. A model is established that links reconstruction resources to reconstruction speed, with different resources corresponding to different reconstruction speeds. Secondly, in terms of resource adjustment, when resources are insufficient, resources from the fastest-performing functional node within the task are prioritized for allocation to other reconstruction tasks. When resources are abundant, excess resources are prioritized for performance bottlenecks until the bottleneck is eliminated. Finally, in terms of task recovery, when the system cannot meet the reconstruction resource requirements of a high-priority task, resources that can least meet the high-priority task's needs are recovered, prioritizing the high-priority task's basic operating conditions and ensuring that it can operate at least within the minimum resource threshold.
[0140] Based on the same inventive concept, embodiments of the present application also provide a task scheduling device for implementing the aforementioned task scheduling method. The implementation solution provided by this device is similar to the implementation solution described in the aforementioned method. Therefore, the specific limitations in one or more of the following task scheduling device embodiments can be found in the above-mentioned limitations on the task scheduling method and will not be further elaborated here.
[0141] In an exemplary embodiment, Figure 11 As shown, a task scheduling device 1 is provided, comprising: an information acquisition module 10, a resource quantity determination module 20 and a task scheduling module 30, wherein:
[0142] The information acquisition module 10 is used to obtain the entire machine resource configuration file of the reconstruction system and the task parameter information of each reconstruction task when receiving multiple reconstruction tasks; the entire machine resource configuration file is a unified resource management file generated by mapping different hardware configurations in the reconstruction system into virtual resources;
[0143] The resource amount determination module 20 is used to determine the required resource amount of each reconstruction task based on the parameter information of each task;
[0144] The task scheduling module 30 is used to schedule each reconstruction task according to the whole machine resource configuration file and the required resource amount of each reconstruction task.
[0145] In one embodiment, the information acquisition module 10 is further configured to:
[0146] Receive the hardware resources reported by the resource monitoring module in the reconstruction system; when a change in the hardware resources is detected, abstract the hardware resources into virtual resources according to the preset resource abstraction rules; based on the virtual resources, update the original whole machine resource configuration file in the reconstruction system to obtain the whole machine resource configuration file.
[0147] In one embodiment, the resource quantity determination module 20 is further configured to:
[0148] According to the parameter information of each task, the configuration file, reconstruction parameters and acquisition parameters of each reconstruction task are obtained; each configuration file, each reconstruction parameter and each acquisition parameter are sent to the functional node corresponding to each reconstruction task to instruct each functional node to perform resource estimation and obtain the required resource amount for each reconstruction task.
[0149] In one embodiment, the resource quantity determination module 20 is further configured to:
[0150] For any reconstruction task, the multiple functional nodes corresponding to the reconstruction task parse the configuration file, reconstruction parameters and acquisition parameters of the reconstruction task after receiving the configuration file, obtain the algorithm configuration information of the reconstruction task, and determine the required resources for the reconstruction task based on the algorithm configuration information, reconstruction parameters and acquisition parameters.
[0151] In one embodiment, the resource quantity determination module 20 is further configured to:
[0152] Each functional node obtains the algorithm to be started in each functional node according to the algorithm configuration information, and determines the required resource amount of the reconstruction task according to the resource calculation method, reconstruction parameters and acquisition parameters corresponding to each algorithm to be started.
[0153] In one embodiment, the task scheduling module 30 is further configured to:
[0154] If the total amount of resources in the whole machine resource configuration file is greater than or equal to the sum of the required resources of each reconstruction task, the task manager in the reconstruction system is instructed to start each reconstruction task and allocate resources to each reconstruction task; if the total amount of resources in the whole machine resource configuration file is less than the sum of the required resources of each reconstruction task, the startable reconstruction tasks in each reconstruction task are determined according to the priority of each reconstruction task, and the task manager is instructed to start the startable reconstruction tasks and allocate resources to each startable reconstruction task.
[0155] In one embodiment, the task scheduling device 1 further includes:
[0156] The performance optimization module is used to determine the resource application amount for any reconstruction task. When the target functional node of the reconstruction task is detected to have a performance bottleneck, the module determines the resource application amount based on the current performance and target performance, and applies for resources from the controller based on the resource application amount until there is no performance bottleneck.
[0157] In one embodiment, the performance optimization module is further configured to:
[0158] When the target functional node detects that the data processing time exceeds a preset time threshold, it determines that the target functional node has a performance bottleneck; the data processing time is determined based on the data inflow time and data outflow time of the target functional node.
[0159] Each module in the above-mentioned task scheduling device can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the corresponding operations of each module.
[0160] In an exemplary embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:
[0161] When multiple reconstruction tasks are received, the whole machine resource configuration file of the reconstruction system and the task parameter information of each reconstruction task are obtained; the whole machine resource configuration file is a unified resource management file generated by mapping different hardware configurations in the reconstruction system into virtual resources;
[0162] Determine the required resources for each reconstruction task based on the parameter information of each task;
[0163] Schedule each reconstruction task based on the entire machine resource configuration file and the required resources of each reconstruction task.
[0164] The implementation principles and technical effects of each step implemented by the processor in the embodiment of the present application are similar to those of the above-mentioned task scheduling method and will not be repeated here.
[0165] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:
[0166] When multiple reconstruction tasks are received, the whole machine resource configuration file of the reconstruction system and the task parameter information of each reconstruction task are obtained; the whole machine resource configuration file is a unified resource management file generated by mapping different hardware configurations in the reconstruction system into virtual resources;
[0167] Determine the required resources for each reconstruction task based on the parameter information of each task;
[0168] Schedule each reconstruction task based on the entire machine resource configuration file and the required resources of each reconstruction task.
[0169] The implementation principles and technical effects of the various steps implemented when the computer program in the embodiment of the present application is executed by the processor are similar to the principles of the above-mentioned task scheduling method and will not be repeated here.
[0170] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps:
[0171] When multiple reconstruction tasks are received, the whole machine resource configuration file of the reconstruction system and the task parameter information of each reconstruction task are obtained; the whole machine resource configuration file is a unified resource management file generated by mapping different hardware configurations in the reconstruction system into virtual resources;
[0172] Determine the required resources for each reconstruction task based on the parameter information of each task;
[0173] Schedule each reconstruction task based on the entire machine resource configuration file and the required resources of each reconstruction task.
[0174] The implementation principles and technical effects of the various steps implemented when the computer program in the embodiment of the present application is executed by the processor are similar to the principles of the above-mentioned task scheduling method and will not be repeated here.
[0175] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0176] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the above-mentioned embodiments. In particular, any reference to memory, database, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processors involved in the various embodiments provided herein may be, but are not limited to, general-purpose processors, central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), programmable logic devices (PLDs), data processing logic devices based on quantum computing, and the like.
[0177] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0178] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.
Claims
1. A task scheduling method, characterized in that: A controller used in a reconstruction system; the method comprising: When multiple reconstruction tasks are received, obtaining a whole-machine resource configuration file of the reconstruction system and task parameter information of each reconstruction task; the whole-machine resource configuration file is a unified resource management file generated by mapping different hardware configurations of the reconstruction system into virtual resources; Determining the required resources for each reconstruction task based on the task parameter information; Each of the reconstruction tasks is scheduled according to the entire machine resource configuration file and the amount of resources required by each of the reconstruction tasks.
2. The method according to claim 1, characterized in that The obtaining of the whole machine resource configuration file of the reconstruction system includes: Receiving hardware resources reported by a resource monitoring module in the reconstruction system; When a change in the hardware resource is detected, the hardware resource is abstracted into a virtual resource according to a preset resource abstraction rule; The original whole-machine resource configuration file in the reconstruction system is updated according to the virtual resources to obtain the whole-machine resource configuration file.
3. The method according to claim 1 or 2, characterized in that Each reconstruction task corresponds to a plurality of functional nodes in the reconstruction system; and determining the required resource amount of each reconstruction task according to the task parameter information includes: According to the task parameter information, the configuration file, reconstruction parameters and acquisition parameters of each reconstruction task are obtained; The configuration files, the reconstruction parameters, and the acquisition parameters are sent to the functional nodes corresponding to the reconstruction tasks, so as to instruct the functional nodes to perform resource estimation and obtain the required resource amount of the reconstruction tasks.
4. The method according to claim 3, characterized in that For any reconstruction task, the multiple functional nodes corresponding to the reconstruction task parse the configuration file, reconstruction parameters and acquisition parameters of the reconstruction task upon receiving the configuration file, obtain the algorithm configuration information of the reconstruction task, and determine the required amount of resources for the reconstruction task based on the algorithm configuration information, the reconstruction parameters and the acquisition parameters.
5. The method according to claim 4, characterized in that Each functional node obtains the algorithm to be started in each functional node according to the algorithm configuration information, and determines the required resource amount of the reconstruction task according to the resource calculation method corresponding to each algorithm to be started, the reconstruction parameters and the acquisition parameters.
6. The method according to claim 1 or 2, characterized in that The scheduling of each reconstruction task according to the whole machine resource configuration file and the required resource amount of each reconstruction task includes: If the total amount of resources in the whole machine resource configuration file is greater than or equal to the sum of the required resources of each reconstruction task, instructing the task manager in the reconstruction system to start each reconstruction task and allocate resources for each reconstruction task; If the total amount of resources in the entire machine resource configuration file is less than the sum of the required resources of each of the reconstruction tasks, then the startable reconstruction tasks among the reconstruction tasks are determined according to the priority of each of the reconstruction tasks, and the task manager is instructed to start the startable reconstruction tasks and allocate resources for each of the startable reconstruction tasks.
7. The method according to claim 1 or 2, characterized in that For any reconstruction task, when the target functional node of the reconstruction task detects that the target functional node has a performance bottleneck, it determines the resource application amount based on the current performance and the target performance, and applies for resources to the controller based on the resource application amount until there is no performance bottleneck.
8. The method according to claim 7, characterized in that When the target functional node detects that the data processing time exceeds a preset time threshold, it determines that the target functional node has a performance bottleneck; the data processing time is determined according to the data inflow time and data outflow time of the target functional node.
9. A task scheduling device, characterized in that: The device comprises: an information acquisition module configured to, upon receiving multiple reconstruction tasks, acquire a whole-machine resource configuration file for the reconstruction system and task parameter information for each of the reconstruction tasks; the whole-machine resource configuration file being a unified resource management file generated by mapping different hardware configurations in the reconstruction system into virtual resources; A resource amount determination module, configured to determine the amount of resources required for each of the reconstruction tasks based on the task parameter information; The task scheduling module is used to schedule each of the reconstruction tasks according to the whole machine resource configuration file and the required resource amount of each of the reconstruction tasks.
10. A CT imaging system, characterized in that: The CT imaging system includes a resource monitoring module, a controller and a functional node; The resource monitoring module is configured to monitor the hardware resources of the CT imaging system and report the hardware resources to the controller so that the controller updates the entire machine resource configuration file; The controller is configured to, upon receiving a plurality of reconstruction tasks, obtain the entire machine resource configuration file and task parameter information of each of the reconstruction tasks; and determine the required resource amount of each of the reconstruction tasks according to the task parameter information; Scheduling each reconstruction task according to the whole-machine resource configuration file and the amount of resources required for each reconstruction task; the whole-machine resource configuration file is a unified resource management file generated by mapping different hardware configurations in the CT imaging system into virtual resources; The functional node is used to perform image reconstruction based on each reconstruction task and generate a reconstructed image corresponding to each reconstruction task.