Simulation task processing method, controller, device and storage medium

By setting the data volume and priority of tasks in a priority controller outside the distributed cluster, and utilizing time slices and queue buffering mechanisms, the cluster congestion problem caused by large-scale user task submissions is solved, and task processing efficiency is improved.

CN116846842BActive Publication Date: 2026-07-07CHINA MOBILE GROUP DESIGN INST +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA MOBILE GROUP DESIGN INST
Filing Date
2022-03-24
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

When a large number of users simultaneously submit a large number of simulation tasks to a distributed cluster, it can easily lead to congestion in the distributed cluster and increase the difficulty of monitoring simulation tasks.

Method used

When multiple parallel simulation tasks are received, the priority controller determines the data volume and priority of the tasks, sets time slices based on the data volume and priority, and sends the tasks to the distributed cluster using a queue buffering mechanism.

Benefits of technology

It effectively avoids congestion in distributed clusters, reduces user waiting time for task processing, and improves task processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116846842B_ABST
    Figure CN116846842B_ABST
Patent Text Reader

Abstract

The application discloses a simulation task processing method, a controller, equipment and a storage medium, and the method comprises the following steps: when a plurality of parallel simulation tasks are received, the data quantity of each parallel simulation task is determined, and the priority of each parallel simulation task is set; the time slice corresponding to each parallel simulation task is determined according to the respective data quantity, each parallel simulation task is added to a to-be-calculated task queue according to the priority, and the parallel simulation task in the to-be-calculated task queue is sent to a distributed cluster according to the time slice. The application can resist the pressure brought by a plurality of users simultaneously submitting a large number of tasks to the cluster, and avoid cluster congestion.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of wireless communication simulation technology, and in particular to a simulation task processing method, controller, device, and storage medium. Background Technology

[0002] As mobile network simulation grows in scale, single-machine simulation can no longer meet the demands of large-scale network simulation. Distributed clusters can be used to achieve large-scale mobile network simulation, supporting high-intensity simulation by multiple users and enabling large-scale sharing and utilization of cluster resources. Mobile network simulation tasks consist of a group of parallel tasks with strict time order requirements, which distributed clusters cannot treat as a whole for scheduling and simulation. Because the priority levels in distributed clusters are fixed and have a limited range, it is inconvenient to dynamically expand them based on service type. When a large number of users simultaneously submit a large number of simulation tasks to the distributed cluster, it can easily lead to congestion, significantly increasing the difficulty of monitoring simulation tasks. Summary of the Invention

[0003] This invention provides a simulation task processing method, controller, device, and storage medium, aiming to solve the technical problem of distributed cluster congestion when a large number of users simultaneously submit a large number of simulation tasks to the distributed cluster.

[0004] This invention provides a simulation task processing method applied to a priority controller connected to a distributed cluster. The simulation task processing method includes:

[0005] When multiple parallel simulation tasks are received, the data volume of each parallel simulation task is determined and the priority of each parallel simulation task is set.

[0006] The time slice for the distributed cluster to process each of the parallel simulation tasks is determined based on the amount of data.

[0007] Each of the parallel simulation tasks is added to the queue of tasks to be computed according to the priority, and the parallel simulation tasks in the queue of tasks to be computed are sent to the distributed cluster according to the time slice.

[0008] In one embodiment, the steps of determining the data volume of each parallel simulation task and setting the priority of each parallel simulation task when receiving multiple parallel simulation tasks include:

[0009] When multiple parallel simulation tasks are received, the reception time of each of the parallel simulation tasks is obtained;

[0010] Each of the parallel simulation tasks is added to a first preset queue according to the receiving time;

[0011] Determine the data volume of each of the parallel simulation tasks in the first preset queue; and,

[0012] Set the priority of each of the parallel simulation tasks in the first preset queue.

[0013] In one embodiment, the step of setting the priority of each of the parallel simulation tasks in the first preset queue includes:

[0014] Obtain the simulation parameters of the preset simulation dimension corresponding to each of the parallel simulation tasks in the first preset queue;

[0015] The priority of each of the parallel simulation tasks is determined based on the simulation parameters.

[0016] In one embodiment, the step of determining the priority of each of the parallel simulation tasks based on the simulation parameters includes:

[0017] Obtain the preset linear equation;

[0018] The simulation parameters are used as input to the preset linear equation to obtain the priority of each of the parallel simulation tasks.

[0019] In one embodiment, the step of adding each of the parallel simulation tasks to the queue of tasks to be computed according to the priority includes:

[0020] According to the priority, each of the parallel simulation tasks in the first preset queue is added to the second preset queue;

[0021] Each of the parallel simulation tasks in the second preset queue is added to the queue of tasks to be computed.

[0022] In one embodiment, the step of sending the parallel simulation tasks in the queue of tasks to be computed to the distributed cluster according to the time slice includes:

[0023] The time slice moment of the distributed cluster is determined based on the time slice;

[0024] When the time slice arrives, the parallel simulation tasks in the queue of tasks to be computed are sent to the distributed cluster.

[0025] In one embodiment, the step of sending the parallel simulation tasks in the queue of tasks to be computed to the distributed cluster according to the time slice further includes:

[0026] Determine the end time corresponding to the time slice;

[0027] If it is determined that the end time has not been reached and the computing channel in the distributed cluster has completed the processing of the simulation task, then the remaining time corresponding to the time slice and the time cost parameters for the computing channel to load new data are obtained.

[0028] Based on the remaining time and the time cost parameter, determine the probability of loading new data into the computing channel;

[0029] When the probability meets the preset condition, the parallel simulation task with the highest priority is selected from the queue of tasks to be calculated, and the parallel simulation task with the highest priority is sent to the calculation channel.

[0030] Furthermore, to achieve the above objectives, the present invention also provides a priority controller, which is connected to a distributed cluster, and the priority controller includes:

[0031] The task receiving module is used to determine the data volume of each parallel simulation task and set the priority of each parallel simulation task when receiving multiple parallel simulation tasks.

[0032] The time calculation module is used to determine the time slice corresponding to the distributed cluster processing each of the parallel simulation tasks based on the amount of data.

[0033] The task sending module is used to add each of the parallel simulation tasks to the task queue to be computed according to the priority, and send the parallel simulation tasks in the task queue to the distributed cluster according to the time slice.

[0034] In addition, to achieve the above objectives, the present invention also provides a terminal device including: a memory, a processor, and a simulation task processing program stored in the memory and executable on the processor, wherein the simulation task processing program, when executed by the processor, implements the steps of the simulation task processing method described above.

[0035] In addition, to achieve the above objectives, the present invention also provides a storage medium storing a simulation task processing program thereon, which, when executed by a processor, implements the steps of the simulation task processing method described above.

[0036] The technical solution of the simulation task processing method, controller, device and storage medium provided in the embodiments of the present invention has at least the following technical effects or advantages:

[0037] This invention employs a priority controller that acts as a front-end for the distributed cluster. When multiple parallel simulation tasks are received, the priority controller determines the data volume of each task and sets its priority. Based on the data volume, it determines the time slice for the distributed cluster to process each task. According to the priority, each task is added to a queue of tasks awaiting computation, and then the tasks in the queue are sent to the distributed cluster according to their time slices. By prioritizing and buffering multiple parallel simulation tasks submitted by multiple users through the priority controller, this invention solves the technical problem of distributed cluster congestion caused by a large number of users simultaneously submitting a large number of simulation tasks. It not only mitigates the pressure on the cluster from multiple users submitting a large number of tasks simultaneously, avoiding cluster congestion, but also reduces the waiting time for users to process tasks. Attached Figure Description

[0038] Figure 1 This is a schematic diagram of the hardware operating environment involved in the embodiments of the present invention;

[0039] Figure 2 This is a flowchart illustrating an embodiment of the simulation task processing method of the present invention;

[0040] Figure 3 This is a schematic diagram illustrating the relationship between the priority controller and the distributed cluster of the present invention;

[0041] Figure 4 This is a schematic diagram of the specific process of step S210 in the simulation task processing method of the present invention;

[0042] Figure 5 This is a schematic diagram of the internal workings of the priority controller of the present invention;

[0043] Figure 6 This is a flowchart illustrating the step S230 of the simulation task processing method of the present invention, which involves "adding parallel simulation tasks to the task queue to be computed".

[0044] Figure 7 This is a functional block diagram of the priority controller of the present invention. Detailed Implementation

[0045] To better understand the above technical solutions, exemplary embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present invention are shown in the drawings, it should be understood that the present invention can be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of the present invention and to fully convey the scope of the invention to those skilled in the art.

[0046] like Figure 1 As shown, Figure 1 This is a schematic diagram of the hardware operating environment involved in the embodiments of the present invention.

[0047] It should be noted that, Figure 1 This can be a schematic diagram of the hardware operating environment of the terminal device.

[0048] As one implementation method, it can be as follows Figure 1 As shown, the embodiment of the present invention relates to a terminal device, which includes: a processor 1001, such as a CPU, a memory 1002, and a communication bus 1003. The communication bus 1003 is used to enable communication between these components.

[0049] Memory 1002 can be high-speed RAX memory or stable memory (non-volatile XeXory), such as disk storage. Figure 1 As shown, the memory 1002, which serves as a storage medium, may include a simulation task processing program; and the processor 1001 can be used to call the simulation task processing program stored in the memory 1002 and perform the following operations:

[0050] When multiple parallel simulation tasks are received, the data volume of each parallel simulation task is determined and the priority of each parallel simulation task is set.

[0051] The time slice for the distributed cluster to process each of the parallel simulation tasks is determined based on the amount of data.

[0052] Each of the parallel simulation tasks is added to the queue of tasks to be computed according to the priority, and the parallel simulation tasks in the queue of tasks to be computed are sent to the distributed cluster according to the time slice.

[0053] Furthermore, the processor 1001 can be used to call the simulation task processing program stored in the memory 1002 and perform the following operations:

[0054] When multiple parallel simulation tasks are received, the reception time of each of the parallel simulation tasks is obtained;

[0055] Each of the parallel simulation tasks is added to a first preset queue according to the receiving time;

[0056] Determine the data volume of each of the parallel simulation tasks in the first preset queue; and,

[0057] Set the priority of each of the parallel simulation tasks in the first preset queue.

[0058] Furthermore, the processor 1001 can be used to call the simulation task processing program stored in the memory 1002 and perform the following operations:

[0059] Obtain the simulation parameters of the preset simulation dimension corresponding to each of the parallel simulation tasks in the first preset queue;

[0060] The priority of each of the parallel simulation tasks is determined based on the simulation parameters.

[0061] Furthermore, the processor 1001 can be used to call the simulation task processing program stored in the memory 1002 and perform the following operations:

[0062] Obtain the preset linear equation;

[0063] The simulation parameters are used as input to the preset linear equation to obtain the priority of each of the parallel simulation tasks.

[0064] Furthermore, the processor 1001 can be used to call the simulation task processing program stored in the memory 1002 and perform the following operations:

[0065] According to the priority, each of the parallel simulation tasks in the first preset queue is added to the second preset queue;

[0066] Each of the parallel simulation tasks in the second preset queue is added to the queue of tasks to be computed.

[0067] Furthermore, the processor 1001 can be used to call the simulation task processing program stored in the memory 1002 and perform the following operations:

[0068] The time slice moment of the distributed cluster is determined based on the time slice;

[0069] When the time slice arrives, the parallel simulation tasks in the queue of tasks to be computed are sent to the distributed cluster.

[0070] Furthermore, the processor 1001 can be used to call the simulation task processing program stored in the memory 1002 and perform the following operations:

[0071] Determine the end time corresponding to the time slice;

[0072] If it is determined that the end time has not been reached and the computing channel in the distributed cluster has completed the processing of the simulation task, then the remaining time corresponding to the time slice and the time cost parameters for the computing channel to load new data are obtained.

[0073] Based on the remaining time and the time cost parameter, determine the probability of loading new data into the computing channel;

[0074] When the probability meets the preset condition, the parallel simulation task with the highest priority is selected from the queue of tasks to be calculated, and the parallel simulation task with the highest priority is sent to the calculation channel.

[0075] The embodiments of the present invention provide an embodiment of a simulation task processing method. It should be noted that although the logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0076] like Figure 2 As shown, in the first embodiment of the present invention, the simulation task processing method of the present invention is applied to a priority controller, which is connected to a distributed cluster. It should be understood that the distributed cluster is a mobile network distributed cluster, hereinafter simply referred to as the cluster, used for scheduling and simulating mobile network simulation tasks. The present invention adds a priority controller outside the distributed cluster so that the priority controller processes the simulation tasks submitted by the user to the distributed cluster, and then schedules them to the distributed cluster. The distributed cluster then processes the simulation tasks sent by the priority controller using its own processing rules. A schematic diagram of the relationship between the priority controller and the distributed cluster is shown below. Figure 3 As shown.

[0077] The simulation task processing method includes the following steps:

[0078] Step S210: When multiple parallel simulation tasks are received, determine the data volume of each parallel simulation task and set the priority of each parallel simulation task.

[0079] Because a priority controller is added outside the distributed cluster, simulation tasks submitted by users to the distributed cluster must first pass through the priority controller, be processed by the priority controller, and then scheduled to the distributed cluster. In this embodiment, when multiple users submit different simulation task groups, the priority controller can receive multiple parallel simulation tasks. Each simulation task group includes multiple parallel simulation tasks to be executed by the cluster. For example, simulation task group User1 includes J1T1, J1T2, and J1T3, three simulation task groups. Parallel simulation tasks can be understood as multiple parallel units provided by the cluster processing simultaneously. The simulation task groups have a strict time order, such as J1T1>J1T2>J1T3, meaning that J1T1 is processed first, followed by J1T2, and then J1T3. The simulation is prioritized based on the simulation task groups, such as J1T1, J1T2, and J1T3 as a whole and scheduled with the same priority. Each parallel simulation task can be divided into multiple parallel units with appropriate timing and scalable quantity for cluster scheduling. For example, J1T1 is a cluster scheduling task, which consists of multiple distributed parallel units.

[0080] Specifically, after receiving multiple parallel simulation tasks, the priority controller determines the data volume of each parallel simulation task and sets the corresponding priority for each parallel simulation task based on the size of the simulation task group and the simulation type.

[0081] Step S220: Determine the time slice corresponding to the processing of each parallel simulation task by the distributed cluster based on the amount of data.

[0082] In this embodiment, the priority controller can monitor the cluster's resources and the progress of cluster processing tasks in real time. For example, the priority controller can monitor whether the cluster's available resources have reached their limit, when the cluster loads new data, the time it takes to load data, and the start and reception times of parallel simulation tasks.

[0083] After obtaining the data volume of each parallel simulation task, the priority controller calculates the time required for the cluster to process each parallel simulation task based on the data volume of each parallel simulation task and the cluster configuration parameters. Then, based on the obtained time and the real-time task processing progress of the cluster, it calculates the time slice for the cluster to process each parallel simulation task.

[0084] Step S230: Add each of the parallel simulation tasks to the queue of tasks to be computed according to the priority, and send the parallel simulation tasks in the queue of tasks to be computed to the distributed cluster according to the time slice.

[0085] In this embodiment, the priority controller arranges the parallel simulation tasks according to their priorities, adding them to its pre-set queue of tasks to be computed in order of priority. The parallel simulation tasks in the queue are arranged in priority order. Since the priority controller is located outside the cluster, it can buffer the received parallel simulation tasks through the queue. When many users submit a large number of simulation task groups to the cluster simultaneously, the priority controller can act as a task buffer, preventing a large number of parallel simulation tasks from entering the cluster at the same time. This helps to withstand the pressure on the cluster caused by multiple users submitting a large number of tasks simultaneously, avoiding cluster congestion and reducing the difficulty of monitoring the cluster when processing tasks.

[0086] After each parallel simulation task is added to the queue of tasks to be computed, it awaits scheduling. Based on the time slice corresponding to each parallel simulation task, the specific time when the cluster can process a new parallel simulation task is determined. Then, when the cluster can process a new parallel simulation task, the corresponding parallel simulation task is sent to the distributed cluster according to priority. The distributed cluster processes the parallel simulation tasks sent by the priority controller according to its own processing rules. Sending parallel simulation tasks to the distributed cluster according to priority avoids multiple parallel tasks competing for processing simultaneously, which could lead to excessively long waiting times for users. For example, parallel simulation tasks with small data volumes are prioritized for processing by the cluster, reducing user waiting time.

[0087] According to the above technical solution, this embodiment sets priorities and performs queue buffering for multiple parallel simulation tasks submitted by multiple users through a priority controller. When multiple users submit multiple parallel simulation tasks, these tasks will not enter the cluster first, but will first enter the priority controller. The priority controller sets priorities and performs queue buffering for multiple parallel simulation tasks, which can not only resist the pressure on the cluster caused by multiple users submitting a large number of tasks at the same time and avoid cluster congestion, but also reduce the time users wait for task processing.

[0088] like Figure 4 and Figure 5 As shown, based on the above embodiments, step S210 includes the following steps:

[0089] Step S211: When multiple parallel simulation tasks are received, obtain the reception time of each of the parallel simulation tasks;

[0090] Step S212: Add each of the parallel simulation tasks to the first preset queue according to the receiving time;

[0091] Step S213: Determine the data volume of each of the parallel simulation tasks in the first preset queue;

[0092] Step S214: Set the priority of each of the parallel simulation tasks in the first preset queue.

[0093] Specifically, after receiving multiple parallel simulation tasks, the priority controller obtains the reception time of each parallel simulation task. The reception time indicates which parallel simulation tasks were submitted earlier and which were submitted later. Then, each parallel simulation task sorts the parallel simulation tasks according to their respective parallel simulation responsibilities, and adds the sorted parallel simulation tasks sequentially to its own pre-set first queue. Figure 5 Let's call this queue A. The first preset queue allows multiple parallel simulation tasks to be received in chronological order, following the FCFS (First Come First Served) rule. Simultaneously, the first preset queue also acts as a buffer for multiple parallel simulation tasks, preventing cluster congestion. When multiple users submit simulation task groups, the parallel simulation tasks within these groups form... Figure 5 The parallel multitasking queue is then sent to the priority controller in the order of the queue.

[0094] Then, after the priority controller adds each parallel simulation task to the first preset queue, it determines the data volume of each parallel simulation task in the first preset queue and sets the corresponding priority for each parallel simulation task in the first preset queue based on the size of the simulation task group and the simulation type.

[0095] Furthermore, step S214 sets the priority of each of the parallel simulation tasks in the first preset queue, specifically including the following steps:

[0096] Obtain the simulation parameters of the preset simulation dimension corresponding to each of the parallel simulation tasks in the first preset queue;

[0097] The priority of each of the parallel simulation tasks is determined based on the simulation parameters.

[0098] Specifically, since the cluster is used for scheduling and simulating mobile network simulation tasks, the parallel simulation tasks submitted by users include multiple preset simulation dimensions. These preset simulation dimensions include at least the number of simulated base stations, the radius of the simulated base stations, the area of ​​the simulated region, the accuracy of the simulated map, the simulation type, the number of capacity simulation time slots, the number of capacity simulation snapshots, the number of capacity simulation UEs, the direct ray simulation parameters, the reflection ray simulation parameters, the transmission ray simulation parameters, the diffraction ray simulation parameters, and the antenna type. That is, there are at least 13 preset simulation dimensions. Here, UE represents a user terminal, such as a mobile phone. The simulation parameters of the preset simulation dimensions can be understood as the specific values ​​of the preset simulation dimensions. For example, the accuracy of the simulated map could be 1 meter, 5 meters, or 20 meters, etc.; the number of simulated base stations could be 5, and so on.

[0099] After obtaining the simulation parameters for each parallel simulation task corresponding to the preset simulation dimension, the priority of each parallel simulation task is determined based on the simulation parameters. This determination includes: obtaining a preset linear equation and using the simulation parameters as input to the preset linear equation to obtain the priority of each parallel simulation task.

[0100] The preset linear equation is: Pr(i)=m1·x1+m2·x2+m3·x3+m4·x4+…+m13·x13;

[0101] Where x1 represents the number of simulated base stations, x2 represents the radius of simulated base stations, x3 represents the area of ​​the simulated region, x4 represents the accuracy of the simulated map, x5 represents the simulation type, x6 represents the number of capacity simulation time slots, x7 represents the number of capacity simulation snapshots, x8 represents the number of capacity simulation UEs, x9 represents the direct radiation parameter of the ray simulation, x10 represents the reflection parameter of the ray simulation, x11 represents the transmission parameter of the ray simulation, x12 represents the diffraction parameter of the ray simulation, and x13 represents the antenna type; m1, m2, ..., m13 are all coefficients.

[0102] like Figure 6 and Figure 5 As shown, based on the above embodiment, step S230, which involves adding each of the parallel simulation tasks to the queue of tasks to be computed according to the priority, specifically includes the following steps:

[0103] Step S231: Add each of the parallel simulation tasks in the first preset queue to the second preset queue according to the priority;

[0104] Step S232: Add each of the parallel simulation tasks in the second preset queue to the task queue to be computed.

[0105] Specifically, after the priority controller sets priorities for each parallel simulation task in the first preset queue, it arranges the parallel simulation tasks according to their priorities. Based on the arrangement results, it adds each parallel simulation task in the first preset queue to its own pre-set second preset queue. Figure 5 In the second preset queue, the parallel simulation tasks are arranged according to priority. Then, for each parallel simulation task sent to the cluster from the queue of tasks to be computed, the priority controller adds a parallel simulation task from the second preset queue to the queue of tasks to be computed. Figure 5 In this context, queue C represents the queue of parallel simulation tasks sent to the cluster. These tasks are then placed into the cluster's queues. Figure 5 The above represents a queue. When the number of parallel simulation tasks in queue C decreases, queue B adds tasks to queue C; when the number of parallel simulation tasks in queue B decreases, queue A adds tasks to queue B; when the number of parallel simulation tasks in queue A decreases, the priority controller adds parallel tasks from the parallel multi-task queues to queue A according to the reception time. In this way, queues A, B, and C can buffer multiple parallel multi-tasks submitted simultaneously by multiple users, effectively avoiding cluster congestion.

[0106] Furthermore, based on the above embodiments, step S230, which involves sending the parallel simulation tasks in the task queue to the distributed cluster according to the time slice, specifically includes the following steps:

[0107] The time slice moment of the distributed cluster is determined based on the time slice;

[0108] When the time slice arrives, the parallel simulation tasks in the queue of tasks to be computed are sent to the distributed cluster.

[0109] Specifically, the priority controller determines the time slice when the cluster can load new data based on the time slices of each parallel simulation task in the task queue. The time slice indicates the specific time period within which the cluster processes the parallel simulation task, including the start and end times; that is, the time slice moment is the start time corresponding to the time slice. After obtaining the time slice moment for the cluster to process the parallel simulation task, real-time time monitoring is performed. If the time slice moment arrives, the parallel simulation task corresponding to the time slice is sent to the cluster according to priority, and the cluster processes it according to its own processing rules.

[0110] Furthermore, based on the above embodiments, step S230, which involves sending the parallel simulation tasks in the task queue to the distributed cluster according to the time slice, further includes the following steps:

[0111] Determine the end time corresponding to the time slice;

[0112] If it is determined that the end time has not been reached and the computing channel in the distributed cluster has completed the processing of the simulation task, then the remaining time corresponding to the time slice and the time cost parameters for the computing channel to load new data are obtained.

[0113] Based on the remaining time and the time cost parameter, determine the probability of loading new data into the computing channel;

[0114] When the probability meets the preset condition, the parallel simulation task with the highest priority is selected from the queue of tasks to be calculated, and the parallel simulation task with the highest priority is sent to the calculation channel.

[0115] refer to Figure 5 Considering the differences in how the cluster handles parallel simulation tasks, and the varying computation times for each parallel simulation task in queue C due to factors such as differences in task partitioning, the computation duration for each parallel simulation task processed by the cluster also differs. If a parallel simulation task in queue D is completed before its corresponding time slice ends, the computation channel in the cluster that processed that parallel simulation task will be idle for the remaining time of that time slice, resulting in resource waste. Based on this, the priority controller determines the end time of each time slice according to the time slices of each parallel simulation task being processed by the cluster. If it detects that the end time of a parallel simulation task has not yet arrived, but the computing channel in the cluster has completed processing the parallel simulation task, it obtains the remaining time of the time slice corresponding to the parallel simulation task and the time cost parameter for the computing channel to load new data. Then, using the obtained remaining time and time cost parameter, it calculates the probability of the computing channel loading new data. The probability is used to assess the likelihood of the computing channel loading new data, which can also be understood as whether the computing channel needs to sacrifice a significant cost. If the obtained probability meets a preset condition, it means that the cost sacrificed by the computing channel is acceptable. Then, the highest priority parallel simulation task is selected from queue C and sent to the cluster. The cluster processes the highest priority parallel simulation task through the computing channel. In this way, idle computing channels can be utilized within the remaining time slice, avoiding waste of cluster resources.

[0116] like Figure 7 As shown, the present invention provides a priority controller, which is connected to a distributed cluster, and the priority controller includes:

[0117] The task receiving module 310 is used to determine the data volume of each parallel simulation task and set the priority of each parallel simulation task when receiving multiple parallel simulation tasks.

[0118] The time calculation module 320 is used to determine the time slice corresponding to the distributed cluster processing each of the parallel simulation tasks based on the amount of data.

[0119] The task sending module 330 is used to add each of the parallel simulation tasks to the task queue to be computed according to the priority, and send the parallel simulation tasks in the task queue to the distributed cluster according to the time slice.

[0120] Furthermore, the task receiving module 310 includes:

[0121] The time acquisition unit is used to acquire the reception time of each of the multiple parallel simulation tasks when multiple parallel simulation tasks are received.

[0122] A task adding unit is used to add each of the parallel simulation tasks to a first preset queue according to the receiving time;

[0123] A data calculation unit is configured to determine the data volume of each of the parallel simulation tasks in the first preset queue; and,

[0124] The level setting unit is used to set the priority of each of the parallel simulation tasks in the first preset queue.

[0125] Furthermore, the level setting unit includes:

[0126] The parameter acquisition subunit is used to acquire the simulation parameters of the preset simulation dimension corresponding to each of the parallel simulation tasks in the first preset queue.

[0127] The priority setting subunit is used to determine the priority of each of the parallel simulation tasks based on the simulation parameters.

[0128] Furthermore, in determining the priority of each of the parallel simulation tasks based on the simulation parameters, the priority setting subunit is specifically used to obtain a preset linear equation and use the simulation parameters as input to the preset linear equation to obtain the priority of each of the parallel simulation tasks.

[0129] Furthermore, the task adding unit includes:

[0130] The first task adding subunit is used to add each of the parallel simulation tasks in the first preset queue to the second preset queue according to the priority.

[0131] The second task adding subunit is used to add each of the parallel simulation tasks in the second preset queue to the task queue to be computed.

[0132] Furthermore, the task sending module 330 includes:

[0133] The first computing unit is used to determine the time slice moment of the distributed cluster based on the time slice;

[0134] The first sending unit is used to send the parallel simulation tasks in the queue of tasks to be computed to the distributed cluster when the time slice time arrives.

[0135] Furthermore, the task sending module 330 also includes:

[0136] The second calculation unit is used to determine the end time corresponding to the time slice;

[0137] The process determination unit is used to obtain the remaining time corresponding to the time slice and the time cost parameters for loading new data into the computing channel when it is determined that the end time has not been reached and the computing channel in the distributed cluster has completed the processing of the simulation task.

[0138] The third calculation unit is used to determine the probability of loading new data into the calculation channel based on the remaining time and the time cost parameter.

[0139] The second sending unit is used to select the highest priority parallel simulation task from the queue of tasks to be calculated when the probability meets the preset conditions, and send the highest priority parallel simulation task to the calculation channel.

[0140] The specific implementation of the priority controller of the present invention is basically the same as the embodiments of the above simulation task processing method, and will not be described again here.

[0141] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0142] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0143] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0144] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0145] It should be noted that any reference signs placed between parentheses in the claims should not be construed as limiting the claims. The word "comprising" does not exclude the presence of components or steps not listed in the claims. The word "a" or "an" preceding a component does not exclude the presence of a plurality of such components. The invention can be implemented by means of hardware comprising several different components and by means of a suitably programmed computer. In a unit claim enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names.

[0146] Although preferred embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including both the preferred embodiments and all changes and modifications falling within the scope of the invention.

[0147] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.

Claims

1. A simulation task processing method, characterized in that, The simulation task processing method is applied to a priority controller, which is connected to a distributed cluster, and includes: When multiple parallel simulation tasks are received, the data volume of each parallel simulation task is determined and the priority of each parallel simulation task is set. The time slice for the distributed cluster to process each of the parallel simulation tasks is determined based on the amount of data. Each of the parallel simulation tasks is added to the queue of tasks to be computed according to the priority. According to the time slice, the parallel simulation tasks in the queue of tasks to be computed are sent to the distributed cluster. Specifically, the end time corresponding to the time slice is determined. If the end time has not arrived and the computing channel in the distributed cluster has completed the processing of the simulation tasks, the remaining time corresponding to the time slice and the time overhead parameter for loading new data into the computing channel are obtained. Based on the remaining time and the time overhead parameter, the probability of the computing channel loading new data is determined. When the probability meets a preset condition, the parallel simulation task with the highest priority is selected from the queue of tasks to be computed, and the parallel simulation task with the highest priority is sent to the computing channel.

2. The method as described in claim 1, characterized in that, The steps of determining the data volume of each parallel simulation task and setting the priority of each parallel simulation task when receiving multiple parallel simulation tasks include: When multiple parallel simulation tasks are received, the reception time of each of the parallel simulation tasks is obtained; Each of the parallel simulation tasks is added to a first preset queue according to the receiving time; Determine the data volume of each of the parallel simulation tasks in the first preset queue; and, Set the priority of each of the parallel simulation tasks in the first preset queue.

3. The method as described in claim 2, characterized in that, The step of setting the priority of each of the parallel simulation tasks in the first preset queue includes: Obtain the simulation parameters of the preset simulation dimension corresponding to each of the parallel simulation tasks in the first preset queue; The priority of each of the parallel simulation tasks is determined based on the simulation parameters.

4. The method as described in claim 3, characterized in that, The step of determining the priority of each of the parallel simulation tasks based on the simulation parameters includes: Obtain the preset linear equation; The simulation parameters are used as input to the preset linear equation to obtain the priority of each of the parallel simulation tasks.

5. The method as described in claim 2, characterized in that, The step of adding each of the parallel simulation tasks to the queue of tasks to be computed according to the priority includes: According to the priority, each of the parallel simulation tasks in the first preset queue is added to the second preset queue; Each of the parallel simulation tasks in the second preset queue is added to the queue of tasks to be computed.

6. The method as described in claim 1, characterized in that, The step of sending the parallel simulation tasks in the queue of tasks to be computed to the distributed cluster according to the time slice includes: The time slice moment of the distributed cluster is determined based on the time slice; When the time slice arrives, the parallel simulation tasks in the queue of tasks to be computed are sent to the distributed cluster.

7. A priority controller, characterized in that, The priority controller is connected to the distributed cluster, and the priority controller includes: The task receiving module is used to determine the data volume of each parallel simulation task and set the priority of each parallel simulation task when receiving multiple parallel simulation tasks. The time calculation module is used to determine the time slice corresponding to the distributed cluster processing each of the parallel simulation tasks based on the amount of data. The task sending module is used to add each of the parallel simulation tasks to the queue of tasks to be computed according to the priority, and send the parallel simulation tasks in the queue of tasks to be computed to the distributed cluster according to the time slice. Specifically, the module determines the end time corresponding to the time slice. If the end time has not been reached and the computing channel in the distributed cluster has completed the processing of the simulation task, it obtains the remaining time corresponding to the time slice and the time cost parameter for the computing channel to load new data. Based on the remaining time and the time cost parameter, it determines the probability of the computing channel loading new data. When the probability meets a preset condition, it selects the parallel simulation task with the highest priority from the queue of tasks to be computed and sends the parallel simulation task with the highest priority to the computing channel.

8. A terminal device, characterized in that, The terminal device includes: a memory, a processor, and a simulation task processing program stored in the memory and executable on the processor. When the simulation task processing program is executed by the processor, it implements the steps of the simulation task processing method as described in any one of claims 1-6.

9. A storage medium, characterized in that, It stores a simulation task processing program, which, when executed by a processor, implements the steps of the simulation task processing method according to any one of claims 1-6.