Multi-thread parallel computing method and system for diagnostic parameters of Brucella spondylitis
By constructing a diagnostic task dependency graph, adaptive work-stealing scheduling, and vectorized parallel computing, combined with feedback-driven optimization, the problems of complex computational dependencies, unbalanced load, and limited throughput in the diagnosis of brucellosis spondylitis were solved, achieving efficient parallel computing and improving diagnostic speed and system performance.
Patent Information
- Application Number
- CN202511717775.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-21
- Publication Date
- 2026-02-13
- Estimated Expiration
- 2045-11-21
AI Technical Summary
Existing technologies for the diagnosis of brucellosis spondylitis suffer from problems such as complex computational task dependencies leading to data inconsistency, unbalanced load, limited computational throughput, and inability to continuously optimize performance, thus failing to meet the timeliness requirements for rapid diagnosis.
By constructing a diagnostic task dependency graph, and employing an adaptive work-stealing scheduling strategy, vectorized parallel computing, and feedback-driven optimization mechanism, a closed-loop collaborative system is formed to achieve efficient parallel computing.
It improves data consistency and load balancing in the calculation process, significantly enhances calculation speed and throughput, and enables continuous improvement in system performance, meeting the rapid diagnostic needs of brucellosis spondylitis.
Smart Images

Figure CN121523738A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of medical information parallel computing, in particular to a multi-thread parallel computing method and system for brucellar spondylitis diagnosis parameters. BACKGROUND
[0002] Brucellar spondylitis is a spinal osteomyelitis caused by brucella infection. The clinical diagnosis needs to comprehensively analyze a large number of complex diagnostic parameters, including multi-dimensional information such as magnetic resonance imaging measurement data, serological antibody titer indicators, inflammatory marker concentration values, and vertebral pathology quantitative data. With the continuous development of medical imaging technology and laboratory detection technology, the amount of data involved in the diagnosis of brucellar spondylitis has shown an explosive growth, and the traditional single-thread serial computing method has been unable to meet the timeliness requirements of clinical rapid diagnosis.
[0003] In the prior art, patent document CN118673026A discloses a patient master index construction method and device based on dynamic multi-threading. The method configures patient factors and weight information, creates a cache pool for storing identity card number factor information and composite factor information, marks data as openable concurrent processing or unopenable concurrent processing according to the cache comparison result, and uses dynamic multi-threading to construct a master index calculation for data marked as openable concurrent processing, and uses single-thread processing for unmarked data. The technical solution improves the efficiency of patient data processing to a certain extent, but still has the following technical defects:
[0004] First, the existing technology uses simple hash code cache comparison for data duplication checking and concurrent marking, and does not consider the dependency relationship between computing tasks. When there is a complex dependency between diagnostic parameter calculations, it may cause data inconsistency or calculation sequence errors, and cannot be applied to parameter calculation scenarios with complex dependency structures in brucellar spondylitis diagnosis.
[0005] Second, the thread scheduling strategy of the existing technology is relatively fixed, and the thread pool size is pre-set according to the number of CPU cores, lacking the ability to dynamically adjust thread resources according to real-time load. When the calculation complexity of different diagnostic parameters differs greatly, load imbalance problems such as some threads being idle while others being overloaded may occur, seriously affecting overall computing efficiency.
[0006] Third, the existing technology does not use vectorized parallel optimization technology in the calculation process. For a large number of numerical calculation tasks of similar types in brucellar spondylitis diagnosis, the single instruction multiple data stream capability of modern processors cannot be fully utilized, and the calculation throughput is limited.
[0007] Fourth, the existing technology lacks performance feedback and adaptive optimization mechanism, and cannot dynamically optimize the scheduling strategy according to historical execution, making it difficult to continuously improve system performance.
[0008] Therefore, in view of the special requirements for the brucella spondylitis diagnosis parameter calculation, there is an urgent need for an efficient multi-thread parallel computing technology capable of processing complex task dependencies, achieving adaptive load balancing, supporting vectorized parallel acceleration, and having feedback optimization capability. SUMMARY
[0009] In view of the deficiencies of the prior art, the purpose of the present application is to provide a multi-thread parallel computing method and system for brucella spondylitis diagnosis parameters, which forms a closed-loop collaborative system with four core modules deeply coupled by constructing a diagnosis task dependency graph, using an adaptive work-stealing scheduling strategy, implementing vectorized parallel computing, and establishing a feedback-driven optimization mechanism, thereby achieving efficient parallel computing of brucella spondylitis diagnosis parameters.
[0010] To achieve the above-mentioned purpose, the technical solutions provided by the present application are as follows:
[0011] The multi-thread parallel computing method for brucella spondylitis diagnosis parameters comprises the following steps: a diagnosis task dependency graph construction step, an adaptive thread scheduling step, a vectorized parallel computing step, and a feedback-driven optimization step.
[0012] The diagnosis task dependency graph construction step obtains a brucella spondylitis diagnosis dataset, constructs a directed acyclic task dependency graph based on the calculation dependency relationship between diagnosis parameters, and determines the task priority according to the calculation complexity and dependency depth of each diagnosis parameter task.
[0013] The adaptive thread scheduling step uses an adaptive work-stealing scheduling strategy to allocate threads based on the task dependency graph, dynamically adjusts the thread pool size according to the current system load state and task queue depth, uses a lock-free concurrent queue to distribute tasks for ready tasks with an in-degree of zero, and steals tasks from the task queue tail of other busy threads when the local task queue of the worker thread is empty to achieve load balancing.
[0014] The vectorized parallel computing step performs vectorized parallel processing on the ready tasks, organizes the imaging measurement data, serological indicators, and inflammatory marker data of brucella spondylitis into continuous memory vectors, uses single instruction multiple data stream parallel instructions to perform calculation operations on multiple diagnosis parameters simultaneously, and updates the ready state of the successor tasks in the task dependency graph according to the calculation results.
[0015] The feedback-driven optimization step monitors the calculation performance indicators of each thread, generates a performance feedback signal according to the task completion time and resource utilization, dynamically adjusts the task priority and thread scheduling strategy based on the performance feedback signal, reversely transmits the adjusted scheduling parameters to the adaptive thread scheduling step to optimize the execution efficiency of subsequent calculation tasks, and outputs the parallel calculation result of the brucellar spondylitis diagnosis parameter.
[0016] The application also provides a multi-thread parallel computing system for brucellar spondylitis diagnosis parameters, which comprises a diagnosis task dependency graph construction module, an adaptive thread scheduling module, a vectorized parallel computing module and a feedback-driven optimization module, and a deep coupling connection relationship is established between the modules to form a closed-loop collaborative architecture of forward calculation and reverse optimization.
[0017] The application has the following advantages:
[0018] Firstly, the application accurately depicts the calculation dependency relationship between each diagnosis parameter of brucellar spondylitis by constructing a diagnosis task dependency graph, ensures the consistency of data and the correctness of the calculation sequence in the parallel computing process, avoids calculation errors caused by ignoring the dependency relationship, and can handle more complex parameter calculation scenarios compared with the simple hash duplication checking method of the prior art.
[0019] Secondly, the application adopts an adaptive work-stealing scheduling strategy, dynamically adjusts the thread pool size according to the real-time system load, realizes automatic balancing of the load through a lock-free concurrent queue and a work-stealing mechanism, balances the calculation load of each work thread, effectively avoids the problems of thread idling and overloading, and improves the utilization efficiency of the multi-core processor.
[0020] Thirdly, the application uses vectorized parallel computing technology to organize the same type of diagnosis parameter data into a continuous vector and uses a single instruction multiple data stream instruction for batch processing, which significantly improves the throughput of data calculation, and the calculation speed is obviously improved for a large number of repetitive numerical calculation tasks in the diagnosis of brucellar spondylitis.
[0021] Fourthly, the application establishes a feedback-driven optimization mechanism, monitors the performance indicators and generates a feedback signal, dynamically adjusts the task priority and scheduling strategy, forms a closed-loop optimization system, and enables the system performance to continuously improve according to the actual running situation, thereby realizing the synergistic effect among the four core modules.
[0022] Experiments have verified that when processing the complete diagnosis data set of 1000 brucellar spondylitis patients, the overall calculation efficiency of the application is improved by 420% compared with the traditional single-thread method and by 85% compared with the existing simple multi-thread method, and the average diagnosis parameter calculation time is shortened from 12.6 minutes to 2.4 minutes, thereby providing high-performance computing support for clinical rapid diagnosis. BRIEF DESCRIPTION OF DRAWINGS
[0023] Figure 1 is a flow diagram of a multi-thread parallel computing method of a brucella spondylitis diagnosis parameter provided by an embodiment of the present application.
[0024] Figure 2 is a structural diagram of a multi-thread parallel computing system of a brucella spondylitis diagnosis parameter provided by an embodiment of the present application.
[0025] Figure 3 is a structural diagram of a diagnosis task dependency graph provided by an embodiment of the present application.
[0026] Figure 4 is a closed-loop control diagram of feedback-driven optimization provided by an embodiment of the present application. DETAILED DESCRIPTION
[0027] Reference will now be made to the drawings, and specific embodiments thereof will be described. Figures 1-4 In order to make the objectives, technical solutions and advantages of the present application clearer, further detailed description will be made to the present application with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, and do not limit the protection scope of the present application.
[0028] With reference to Figure 1 and Figure 2 , the present application provides a multi-thread parallel computing method and system of a brucella spondylitis diagnosis parameter. The system includes a diagnosis task dependency graph construction module 1, an adaptive thread scheduling module 2, a vectorized parallel computing module 3 and a feedback-driven optimization module 4. The four core modules form a deep-coupled closed-loop collaborative architecture, wherein the output of the diagnosis task dependency graph construction module 1 is used as the input of the adaptive thread scheduling module 2, the output of the adaptive thread scheduling module 2 drives the vectorized parallel computing module 3 to perform a computing task, the performance data of the vectorized parallel computing module 3 is transmitted to the feedback-driven optimization module 4 for analysis, and the optimization parameters generated by the feedback-driven optimization module 4 are used to reversely act on the adaptive thread scheduling module 2 and the diagnosis task dependency graph construction module 1, forming a complete closed loop of “forward transmission→performance evaluation→reverse feedback→parameter adjustment”.
[0029] The diagnosis task dependency graph construction module 1 is used to obtain a brucella spondylitis diagnosis data set, and construct a directed acyclic task dependency graph based on the computing dependency relationship between diagnosis parameters. Figure 3 With reference to , the diagnosis task dependency graph is a directed acyclic graph structure, each node in the graph represents a diagnosis parameter task to be calculated, and the directed edge represents the data dependency relationship between the parameters, i.e. the calculation result of the starting point task of the edge is the input data of the end point task calculation.
[0030] In one embodiment of the present invention, the brucellosis spondylitis diagnostic dataset includes the following types of diagnostic parameters: vertebral body signal intensity measurements in magnetic resonance imaging (MRI) images, used to assess the degree of vertebral body inflammation and bone marrow edema; quantitative values of intervertebral disc degeneration, reflecting the severity of brucellosis invasion of the intervertebral disc; serum brucellosis antibody titer detection values, including results from the Rose Bengal plate agglutination test and tube agglutination test; C-reactive protein concentration values, serving as a marker of acute inflammatory response; erythrocyte sedimentation rate (ESR) values, reflecting the state of inflammatory activity in the body; and three-dimensional volume data of the extent of vertebral body destruction, quantified information of the lesion area obtained through image segmentation.
[0031] In the specific implementation process, the construction of the diagnostic task dependency graph adopts the following process: First, the patient's original diagnostic data, including DICOM format magnetic resonance imaging and laboratory test results, is read from the hospital information system; second, the original data is preprocessed to extract the values of various diagnostic parameters; then, the dependencies between the calculations of each diagnostic parameter are analyzed, for example, the calculation of the comprehensive diagnostic score depends on the calculation results of vertebral body signal intensity, antibody titer, and inflammatory markers; finally, these dependencies are represented as edges of a directed acyclic graph to complete the construction of the task dependency graph.
[0032] In a preferred embodiment of the present invention, task priorities are determined based on the computational complexity and dependency depth of each diagnostic parameter task. Determining task priorities is crucial for the efficiency of parallel computing; high-priority tasks should be scheduled for execution first. The present invention employs a priority calculation method based on the critical path, comprehensively considering both the computational complexity of the task itself and its position in the dependency graph.
[0033] For each diagnostic parameter task, its critical path length is first calculated. The critical path length is defined as the longest dependency path from the current task to all terminating tasks (i.e., tasks with an out-degree of zero). Let the task... The critical path length is The computational complexity is The overall priority score for this task is determined by the following formula:
[0034] ,
[0035] in, For the task The overall priority score, For the task The computational complexity, expressed in terms of the number of floating-point operations, This represents the highest computational complexity among all tasks. For the task Critical path length, This is the longest critical path among all tasks. The complexity weight coefficient is calculated as follows: The critical path weight coefficient is calculated as follows: The value of the complexity weight coefficient is 0.3. The value of the critical path weight coefficient is 0.7, which makes the system preferentially schedule tasks on the critical path to minimize the overall completion time. The comprehensive priority score is calculated as follows: The value of the comprehensive priority score ranges from 0 to 1, and the larger the value, the higher the priority.
[0036] The complexity of the task is calculated as follows: The complexity of the task is calculated as follows: for the vertebral signal intensity calculation task, the complexity is the product of the image pixel number and the convolution kernel size; for the antibody titer calculation task, the complexity is the product of the dilution factor and the number of comparisons; for the inflammation marker comprehensive score task, the complexity is the product of the number of indicators involved in the calculation and the aggregation operation complexity.
[0037] The adaptive thread scheduling module 2 is connected with the diagnostic task dependency graph construction module 1, and is used for thread allocation based on the task dependency graph using an adaptive work-stealing scheduling strategy. The adaptive work-stealing scheduling is a high-efficiency dynamic load balancing technology, and each work thread maintains a local task queue. When the local queue is empty, the thread steals tasks from the queue of other busy threads.
[0038] In an embodiment of the present application, the adaptive thread scheduling module 2 dynamically adjusts the thread pool size according to the current system load state and the task queue depth. The specific implementation process is as follows: the system periodically samples the task queue length and processor utilization of each work thread, and the sampling period is 100 ms; the average queue length and the average processor utilization are calculated; and whether the thread pool size needs to be adjusted is determined according to a preset threshold.
[0039] The thread pool size adjustment strategy is as follows: when and , the number of work threads is increased by 10% of the current number of threads, but not more than 2 times the number of CPU cores; when , the number of work threads is reduced by 10% of the current number of threads, but not less than half of the number of CPU cores. Among them, is a preset upper threshold, and the value is 8 tasks per thread; is a preset lower threshold, and the value is 2 tasks per thread; is a saturation threshold, and the value is 85%. This adaptive adjustment mechanism enables the system to dynamically configure computing resources according to the actual load situation, avoiding resource waste or computing bottlenecks.
[0040] In another preferred embodiment of the present application, a lock-free concurrent queue is employed for task dispatching for ready tasks with zero in-degree. The lock-free concurrent queue avoids thread blocking and context switching overheads caused by traditional lock mechanisms, significantly improving the efficiency of task dispatching. The implementation adopts a lock-free double-ended queue structure based on atomic compare-and-swap operations, where worker threads obtain local tasks from the head of the queue, and stealing threads obtain tasks from the tail of the queue, ensuring data consistency in a multi-threaded environment without using mutex locks.
[0041] The core operations of the lock-free double-ended queue include: local push operation, where a worker thread pushes a newly generated child task to the head of the local queue; local pop operation, where a worker thread obtains a task to be executed from the head of the local queue; and stealing operation, where an idle thread steals a task from the tail of another thread's queue. All these operations are implemented through atomic instructions to ensure correctness and high efficiency in a high-concurrency environment.
[0042] When the local task queue of a worker thread is empty, a work-stealing process is started. The selection of the stealing target adopts a random strategy, i.e., randomly selecting another worker thread as the stealing target. If the target thread's queue is not empty, a task is stolen from the tail of its queue; if the target thread's queue is empty, a new target is randomly selected. This random stealing strategy has good theoretical performance guarantees, with the expected total number of steals being linearly related to the number of processors.
[0043] The vectorized parallel computing module 3 is connected to the adaptive thread scheduling module 2 and is used for vectorized parallel processing of ready tasks. Vectorized parallel computing fully utilizes the single-instruction multiple-data stream capability of modern processors, packs multiple data elements into vectors for batch computation, and significantly improves computing throughput.
[0044] In an embodiment of the present application, the vectorized parallel computing module 3 organizes the imaging measurement data, serological indicators, and inflammatory marker data of brucellar spondylitis into continuous memory vectors. The specific implementation process is as follows: first, classify the data according to the data types and computing characteristics of the diagnostic parameters, and store the data of the same type in a centralized manner; second, rearrange the data into continuous memory blocks with a width of a vector register. For a 256-bit vector register, each memory block contains 8 single-precision floating-point numbers or 4 double-precision floating-point numbers; finally, align the memory addresses to meet the alignment requirements of vector instructions.
[0045] Single-instruction multiple-data stream parallel instructions are used to perform computing operations on multiple diagnostic parameters simultaneously, including the following types of vectorized operations:
[0046] For intervertebral disc signal intensity calculation, the T1-weighted and T2-weighted signal values of multiple intervertebral discs are organized into two vectors, and a vectorized division instruction is used to calculate the signal ratio of all intervertebral discs at once:
[0047] ,
[0048] wherein, is a signal ratio vector, is a T2-weighted signal intensity vector, is a T1-weighted signal intensity vector, denotes a vector element-wise division operation. This operation is completed using a single vector division instruction, which is nearly 8 times more efficient than scalar loop computation.
[0049] For bone destruction degree quantification, the destruction volume and original volume of multiple involved vertebrae are organized into vectors, and the destruction percentage is calculated using vectorized operations:
[0050] ,
[0051] wherein, is a bone destruction degree percentage vector, is a lesion volume vector, is an original vertebra volume vector.
[0052] For inflammation distribution index calculation, C-reactive protein concentration, erythrocyte sedimentation rate, and white blood cell count are organized into vectors, and the comprehensive inflammation score is calculated using vectorized weighted summation:
[0053] ,
[0054] wherein, is a comprehensive inflammation score vector, is a C-reactive protein concentration vector, is an erythrocyte sedimentation rate vector, is a white blood cell count vector, , , are the weight coefficients of each index. In the preferred embodiment, takes the value 0.5, takes the value 0.3, takes the value 0.2. This weight configuration is based on clinical experience and reflects the relative importance of each inflammation index in the diagnosis of brucellar spondylitis.
[0055] After vectorized parallel computation is completed, the readiness status of the successor tasks in the task dependency graph is updated according to the calculation results. The specific implementation is as follows: when a task completes computation, all its successor tasks in the dependency graph are traversed, and the in-degree of each successor task is reduced by 1; when the in-degree of a certain successor task becomes 0, it indicates that all its predecessor tasks have been completed, and this task becomes a ready task and is added to the task queue of the corresponding work thread to wait for execution. This updating process is implemented using atomic operations to ensure correctness in a multi-threaded environment.
[0056] The feedback-driven optimization module 4 is connected with the vectorized parallel computing module 3 and the adaptive thread scheduling module 2 respectively, for monitoring the computing performance indicators of each thread, generating performance feedback signals according to the task completion time and resource utilization, and dynamically adjusting the task priority and thread scheduling strategy based on the performance feedback signals. Referring to Figure 4 , the feedback-driven optimization mechanism forms a closed-loop control structure, enabling the system to continuously optimize scheduling decisions based on historical execution conditions.
[0057] In an embodiment of the present application, the feedback-driven optimization module 4 calculates the average execution time and variance of each type of task within the recent time window. The size of the time window is set to the last 100 completed tasks. For each type of task, record its actual execution time, calculate the average execution time and execution time variance , where represents the task type number.
[0058] The effective computing time proportion of each working thread is calculated. The effective computing time proportion is defined as the ratio of the time of the working thread executing the actual computing task to the total time, excluding the time of waiting for tasks, stealing tasks and idling. Let the effective computing time proportion of thread be , then:
[0059] ,
[0060] where, is the cumulative computing time of thread , and is the total running time of thread . Ideally, should be close to 1, indicating that the thread spends most of its time performing effective computing.
[0061] Based on the execution time deviation and resource utilization deviation, scheduling strategy adjustment suggestions are generated. The execution time deviation measures the difference between the actual execution time and the expected execution time:
[0062] ,
[0063] where, is the average execution time deviation, is the total number of task types, is the actual average execution time of task type , and is the expected execution time of task type .
[0064] The resource utilization deviation measures the balance of the load of each thread:
[0065] ,
[0066] wherein, is the resource utilization deviation, is the total number of worker threads, is the effective computation time ratio of the thread, is the average effective computation time ratio of all threads.
[0067] Based on and , generate scheduling policy adjustment suggestions, including task priority weight correction value and thread affinity binding strategy.
[0068] The calculation of the task priority weight correction value uses the following formula:
[0069] ,
[0070] wherein, is the correction value of the computation complexity weight coefficient, is the learning rate, taking a value of 0.05, is the execution time deviation threshold value, taking a value of 0.2, is the sign function. When the execution time deviation exceeds the threshold value, the priority weight is adjusted appropriately, so that the computation complexity occupies a larger or smaller proportion in the priority calculation. The corrected computation complexity weight coefficient is , and to ensure that the weight sum is 1.
[0071] The determination of the thread affinity binding strategy is based on the resource utilization deviation . When exceeds 0.15, it indicates that the thread load is unbalanced, and the system enables thread affinity optimization: tasks with data locality relationship are allocated to the same processor core for execution as much as possible to reduce cache invalidation and memory access delay. The specific implementation is: analyze the task pair with direct dependency relationship in the task dependency graph, and mark the parent task and the child task as having affinity; when work stealing, preferentially steal tasks from threads with affinity relationship.
[0072] The adjusted scheduling parameters are fed back to the adaptive thread scheduling module 2 to optimize the execution efficiency of subsequent computing tasks. Specifically, the task priority weight correction value is applied to the priority calculation process of the task dependency graph to update the comprehensive priority score of each task; the thread affinity binding strategy is applied to the work-stealing target selection process to modify the stealing target selection algorithm to consider the affinity factor. This feedback mechanism enables subsequent task scheduling to make optimized decisions using historical performance data, achieving continuous improvement in system performance.
[0073] The synergistic effect among the four core modules is reflected in the following aspects: first, the diagnostic task dependency graph construction module 1 provides accurate task dependency information and priority data to the adaptive thread scheduling module 2, making the scheduling decision more reasonable; the adaptive thread scheduling module 2 provides balanced load distribution for the vectorized parallel computing module 3, ensuring that the computing resources of each thread are fully utilized; the efficient execution of the vectorized parallel computing module 3 provides rich performance data for the feedback-driven optimization module 4; the optimization suggestions of the feedback-driven optimization module 4 reversely affect the working methods of the first two modules, forming a closed-loop optimization. This deeply coupled synergistic architecture achieves a non-linear efficiency of 1+1>2, with overall performance improvement exceeding the simple addition of individual optimization effects.
[0074] In a preferred embodiment of the present application, the method further comprises a calculation result verification step. The calculation result verification step performs consistency checking on the parallel computing results and compares the parallel computing results with the serial computing results numerically. When the numerical deviation exceeds the preset precision threshold, an abnormality is marked and the corresponding computing task is re-executed. The preset precision threshold is , which is small enough to ensure the accuracy of the calculation results, while considering the inherent error of floating-point operations.
[0075] The verification process adopts a sampling inspection strategy: 5% of the computing tasks are randomly selected for serial re-computation, and the numerical difference between the parallel results and the serial results is compared; if the difference exceeds the precision threshold, the task is marked as abnormal and re-executed; if the proportion of abnormal tasks exceeds 1%, the system issues a warning prompt that there may be a parallel computing error. This verification mechanism ensures the reliability of the parallel computing results, ensuring correctness without significantly affecting overall computing efficiency.
[0076] The practical application effect of the present application is illustrated by specific embodiments as follows.
[0077] In Embodiment 1, a complete diagnostic data set of 1000 brucellar spondylitis patients was tested by parallel computing. The diagnostic data of each patient included: lumbar magnetic resonance image sequences (containing 120 slices, each slice with a resolution of 512x512 pixels), serological test results (brucella antibody titer, C-reactive protein, erythrocyte sedimentation rate, etc. 6 indicators), and clinical symptom score data. The diagnostic parameter calculation of each patient involves about 15000 computing tasks, forming a complex task dependency graph.
[0078] The test platform is configured as: Intel Xeon Gold 6248R processor (24 cores 48 threads), main frequency 3.0GHz, supporting AVX-512 vector instruction set; 64GB DDR4-2933 ECC memory; the operating system is Ubuntu 22.04 LTS.
[0079] The test results show that: using the traditional single-thread serial computing method, the total time for processing 1000 patient data is 12600 seconds (210 minutes), an average of 12.6 seconds per patient; using the multi-thread parallel computing method of the application, the total time for processing the same data is 2400 seconds (40 minutes), an average of 2.4 seconds per patient; the calculation efficiency improvement rate is , which is basically consistent with the expected 420%.
[0080] For resource utilization, the average proportion of effective calculation time of each working thread in the application method is , the resource utilization deviation is , indicating that the load distribution is balanced; the average utilization rate of the processor is 78%, which is 16 percentage points higher than the 62% of the simple multi-thread method.
[0081] For task scheduling efficiency, the proportion of work stealing times to the total number of tasks is 8.3%, indicating that the task allocation is relatively balanced, and the overhead of the stealing operation is small; the number of adaptive thread pool size adjustment is 47 times, and the number of threads dynamically changes between 18 and 42, effectively adapting to the computing load at different stages.
[0082] For the acceleration effect of vectorized computing, the speedup ratio of vectorized computing compared to scalar computing is 6.8 times, close to the theoretical maximum of 8 times (256-bit vector register processing 8 single-precision floating-point numbers); the vectorization degrees of intervertebral disc signal intensity calculation, bone destruction degree quantification and inflammation distribution index calculation are 92%, 88% and 95% respectively.
[0083] For feedback optimization effect, after 100 rounds of feedback optimization iteration, the task priority weight coefficient is adaptively adjusted from the initial 0.3 to 0.35, and the critical path weight coefficient The corresponding adjustment is 0.65; the adjusted parameter further shortens the overall execution time by 3.2%, verifying the effectiveness of the feedback-driven optimization mechanism.
[0084] In Example 2, the method of the application is compared with the prior art. The comparison method is the dynamic multi-threaded patient master index construction method in patent document CN118673026A, which is modified and applied to the Brucella spondylitis diagnosis parameter calculation scenario.
[0085] The comparison results show that: in terms of handling complex dependency relationships, the prior art uses simple hash duplication detection, which cannot handle task dependency relationships, and when there are complex dependencies between diagnosis parameters, 15.2% of the calculation sequences are incorrect; the application uses a directed acyclic task dependency graph to accurately depict the dependency relationship, and the calculation sequence accuracy is 100%.
[0086] In terms of load balancing, the thread pool size of the prior art is fixed at CPU core number + 1, which cannot be dynamically adjusted according to the load, and the resource utilization deviation is , indicating that the load is severely unbalanced; the adaptive work-stealing scheduling of the application reduces the resource utilization deviation to , and the load balancing is improved by 283%.
[0087] In terms of computing throughput, the prior art does not use vectorized computation, and data processing uses scalar loop; the vectorized parallel computation of the application improves the computing throughput by 6.8 times, which is obviously advantageous for a large number of repetitive numerical calculation tasks.
[0088] In terms of system self-optimization capability, the prior art has no feedback optimization mechanism, and the scheduling strategy is fixed; the feedback-driven optimization mechanism of the application enables the system to continuously improve based on historical performance data, and the performance is additionally improved by 3.2% after long-term operation.
[0089] In summary, compared with the prior art, the application improves the overall performance by 85% when processing Brucella spondylitis diagnosis parameter parallel computing tasks, while ensuring the correctness and reliability of the calculation results.
[0090] In summary, the multi-threaded parallel computing method and system for Brucella spondylitis diagnosis parameters provided by the application accurately describe the calculation dependency relationship by constructing a diagnosis task dependency graph, achieve dynamic load balancing using adaptive work-stealing scheduling, improve data processing throughput using vectorized parallel computation, and establish a feedback-driven optimization mechanism to continuously improve system performance. The four core modules are deeply coupled to form a closed-loop collaborative architecture, achieving efficient parallel computation of Brucella spondylitis diagnosis parameters and providing a strong computing support platform for clinical rapid diagnosis and treatment decision-making.
Claims
1. A multi-threaded parallel calculation method for diagnostic parameters of brucellosis spondylitis, characterized in that, Includes the following steps: Diagnostic task dependency graph construction steps: Obtain the Brucella spondylitis diagnostic dataset, construct a directed acyclic task dependency graph based on the computational dependency relationship between diagnostic parameters, wherein the nodes of the task dependency graph represent diagnostic parameter tasks to be computed, the edges represent data dependencies between parameters, and the task priority is determined according to the computational complexity and dependency depth of each diagnostic parameter task. Adaptive thread scheduling steps: Based on the task dependency graph, an adaptive work-stealing scheduling strategy is adopted for thread allocation. The thread pool size is dynamically adjusted according to the current system load and task queue depth. For ready tasks with zero in-degree, a lock-free concurrent queue is used for task distribution. When the local task queue of a worker thread is empty, tasks are stolen from the tail of the task queue of other busy threads to achieve load balancing. Vectorized parallel computing steps: The ready task is processed in a vectorized parallel manner. The imaging measurement data, serological indicators and inflammatory marker data of brucellosis spondylitis are organized into a continuous memory vector. The calculation operation of multiple diagnostic parameters is performed simultaneously using a single instruction multiple data stream parallel instruction. The ready state of the subsequent task in the task dependency graph is updated according to the calculation results. Feedback-driven optimization steps: Monitor the computational performance indicators of each thread, generate performance feedback signals based on task completion time and resource utilization, dynamically adjust the task priority and thread scheduling strategy based on the performance feedback signals, and pass the adjusted scheduling parameters back to the adaptive thread scheduling step to optimize the execution efficiency of subsequent computational tasks, and output the parallel computation results of brucellosis spondylitis diagnostic parameters.
2. The multi-threaded parallel calculation method for diagnostic parameters of brucellosis spondylitis according to claim 1, characterized in that, In the diagnostic task dependency graph construction step, task priorities are determined based on the computational complexity and dependency depth of each diagnostic parameter task, including: For each diagnostic parameter task, calculate its critical path length, which is the longest dependency path from the current task to all terminating tasks; determine a comprehensive priority score based on the computational complexity and the critical path length, and prioritize scheduling tasks with higher comprehensive priority scores.
3. The multi-threaded parallel calculation method for diagnostic parameters of brucellosis spondylitis according to claim 1, characterized in that, The adaptive thread scheduling step dynamically adjusts the thread pool size based on the current system load and task queue depth, including: The task queue length and processor utilization of each worker thread are sampled periodically. When the average queue length exceeds a preset upper threshold and the processor utilization is lower than the saturation threshold, the number of worker threads is increased. When the average queue length is lower than a preset lower threshold, the number of worker threads is decreased. The preset upper threshold is 8 tasks per thread, the preset lower threshold is 2 tasks per thread, and the saturation threshold is 85%.
4. The multi-threaded parallel calculation method for diagnostic parameters of brucellosis spondylitis according to claim 1, characterized in that, The adaptive thread scheduling step employs a lock-free concurrent queue for task distribution, including: Using a lock-free double-ended queue structure based on atomic comparison and swap operations, worker threads retrieve local tasks from the head of the queue, while stealing threads retrieve tasks from the tail of the queue. This ensures data consistency in a multi-threaded environment through atomic operations without the need for mutex locks.
5. The multi-threaded parallel calculation method for diagnostic parameters of brucellosis spondylitis according to claim 1, characterized in that, In the vectorized parallel computing step, single-instruction multiple-data-stream parallel instructions are used to simultaneously perform calculation operations on multiple diagnostic parameters, including: Diagnostic parameter data of the same type are packaged into data blocks the width of a vector register. Vectorized addition, multiplication and comparison instructions are used to perform batch calculations on intervertebral disc signal intensity, degree of bone destruction and inflammation distribution indicators. A single instruction execution completes the parallel processing of multiple data elements.
6. The multi-threaded parallel calculation method for diagnostic parameters of brucellosis spondylitis according to claim 1, characterized in that, In the feedback-driven optimization step, a performance feedback signal is generated based on the task completion time and resource utilization, including: The average execution time and variance of each type of task within the most recent time window are statistically analyzed, the effective computation time ratio of each worker thread is calculated, and scheduling strategy adjustment suggestions are generated based on the execution time deviation and resource utilization deviation. The adjustment suggestions include task priority weight correction values and thread affinity binding strategies.
7. The multi-threaded parallel calculation method for diagnostic parameters of brucellosis spondylitis according to claim 6, characterized in that, The step of passing the adjusted scheduling parameters back to the adaptive thread scheduling includes: The task priority weight correction value is applied to the priority calculation process of the task dependency graph, and the thread affinity binding strategy is applied to the work-stealing target selection process, so that subsequent task scheduling can use historical performance data for optimization decisions.
8. The multi-threaded parallel calculation method for diagnostic parameters of brucellosis spondylitis according to claim 1, characterized in that, The Brucella spondylitis diagnostic dataset includes: The measurements included vertebral body signal intensity, intervertebral disc degeneration, serum Brucella antibody titer, C-reactive protein concentration, erythrocyte sedimentation rate, and three-dimensional volume data of the extent of vertebral body damage in magnetic resonance imaging.
9. The multi-threaded parallel calculation method for diagnostic parameters of brucellosis spondylitis according to claim 1, characterized in that, The method further includes: The calculation result verification steps are as follows: The parallel calculation results are checked for consistency by comparing them numerically with the serial calculation results. If the numerical deviation exceeds a preset precision threshold, an anomaly is marked, and the corresponding calculation task is re-executed. The preset precision threshold is 1 × 10⁻⁶. -6 .
10. A multi-threaded parallel computing system for brucellosis spondylitis diagnostic parameters, used to implement the multi-threaded parallel computing method for brucellosis spondylitis diagnostic parameters as described in any one of claims 1-9, characterized in that, include: A diagnostic task dependency graph construction module is used to obtain the Brucella spondylitis diagnostic dataset and construct a directed acyclic task dependency graph based on the computational dependency relationship between diagnostic parameters. In the task dependency graph, the nodes represent the diagnostic parameter tasks to be computed, the edges represent the data dependency relationship between the parameters, and the task priority is determined according to the computational complexity and dependency depth of each diagnostic parameter task. An adaptive thread scheduling module, connected to the diagnostic task dependency graph construction module, is used to allocate threads based on the task dependency graph using an adaptive work-stealing scheduling strategy. It dynamically adjusts the thread pool size according to the current system load and task queue depth. For ready tasks with zero in-degree, it uses a lock-free concurrent queue for task distribution. When the local task queue of a worker thread is empty, it steals tasks from the tail of the task queue of other busy threads to achieve load balancing. The vectorized parallel computing module, connected to the adaptive thread scheduling module, is used to perform vectorized parallel processing on the ready tasks. It organizes the imaging measurement data, serological indicators and inflammatory marker data of brucellosis spondylitis into a continuous memory vector, uses a single instruction multiple data stream parallel instruction to perform calculation operations on multiple diagnostic parameters simultaneously, and updates the ready state of subsequent tasks in the task dependency graph according to the calculation results. The feedback-driven optimization module is connected to both the vectorized parallel computing module and the adaptive thread scheduling module. It monitors the computational performance indicators of each thread, generates performance feedback signals based on task completion time and resource utilization, dynamically adjusts the task priority and thread scheduling strategy based on the performance feedback signals, and transmits the adjusted scheduling parameters back to the adaptive thread scheduling module to optimize the execution efficiency of subsequent computational tasks. It then outputs the parallel computation results of brucellosis spondylitis diagnostic parameters.
Citation Information
Patent Citations
Patient primary index construction method and device based on dynamic multithreading
CN118673026A
Task scheduling method and system based on task stealing
CN107220111A
Non-uniform grid data calculation method based on hierarchical calling rule and related device
CN120429078A
Matrix calculation adaptive optimization method and system based on ARM architecture
CN120744299A
Cloud mobile phone distributed task scheduling method and related equipment
CN120768900A