|
Abstract To address the problem of low efficiency in multi-threaded task scheduling for simulation engines, this paper proposes an optimal task scheduling algorithm for simulation engine computing. A task-thread system model is established, and the problem of decomposing K independent computing subtasks into N threads is formulated as a combinatorial optimization model with the objective of minimizing task completion time. By transforming the original non-deterministic polynomial-time (NP-hard) problem, the discrete task allocation is converted into a continuous optimal computing load allocation problem, and the mathematical relationship between the optimal computing load and the computing capability of each thread is derived with a theoretical optimality proof. Based on this conclusion, a two-stage task allocation search algorithm is designed: in the first stage, task groups closest to the theoretical optimal values are allocated to threads in ascending order of computing capability; in the second stage, compensation for time optimization is achieved through reverse allocation of remaining tasks. Simulation experiments demonstrate that under conditions of normally distributed task volumes and computing capabilities, the proposed algorithm reduces computing time by approximately 13.1% and 36.9% compared with random scheduling and round-robin scheduling, respectively, across different task load scenarios. Experimental results verify the effectiveness of the proposed algorithm in load balancing and time optimization, providing theoretical support and a practical method for task scheduling in simulation engines.
|
|
Received: 23 December 2025
Published: 10 July 2026
|
|
|
|
|
|