A simulation platform based on distributed resource sharing and its resource allocation method

By designing the simulation platform based on distributed resource sharing in the simulation platform, using the collaboration of multiple clients and server -side, solving the problem of low resource utilization rate and poor adaptability in existing technology, and realizing efficient resource allocation And simulation task is completed.

CN114564282BActive Publication Date: 2025-01-28CHINA POWER IND INTERNET CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210189424.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-28
Publication Date
2025-01-28
Estimated Expiration
2042-02-28

AI Technical Summary

Technical Problem

The existing simulation platforms have problems with low resource utilization and poor adaptability in resource sharing, resulting in waste of resources and inability to meet the simulation tasks with high computational volume.

Method used

Design a simulation platform based on distributed resource sharing. Through multiple clients and one server collaborative work, the client's task computing module and resource acquisition module divide the simulation experiments into multiple tasks and obtain the computing resource information of the machine. Transmit to the service side. The task scheduling module of the server is based on the task list and the resource list, and the task allocation is performed at the principle of rate ratio ratio from high to low to ensure that the simulation experiments are completed within the expected time and expected costs.

Benefits of technology

Through distributed resource sharing platforms, the resource utilization rate has been improved, the waste of resources is reduced, it can effectively meet the demand for simulation tasks with a large amount of calculation, and optimize the allocation of resources and reduce costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114564282B_ABST
    Figure CN114564282B_ABST
Patent Text Reader

Abstract

The present application relates to a simulation platform based on distributed resource sharing and a resource allocation method thereof. The simulation platform includes: multiple clients and a server; the task calculation module of the client divides the simulation experiment into multiple tasks according to the parameters of the simulation experiment, obtains the task list, and the data transmission module transmits the task list to the server; the resource acquisition module of the client obtains the local computing rate and idle resource rate, and transmits them to the server; the data acquisition module of the server collects the task list and resource information of each client received by the data transmission module of the server, and generates a resource list according to the resource information, wherein the resources in the resource list are arranged from high to low according to the rate-cost ratio; the task scheduling module of the server allocates the tasks according to the task list and the resource list, and selects the computer group with the highest cost-time ratio to complete the simulation experiment on the premise of meeting the expected execution time and execution cost of the user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a simulation platform based on distributed resource sharing and a resource allocation method thereof. Background Art

[0002] In the process of using the simulation platform to conduct simulation experiments, due to the large amount of tasks involved in the calculation, diverse data, complex algorithms, and numerous objects, a large amount of computing resources are often required to complete the simulation. However, if too many computing resources are deployed, it is easy to cause resource waste, but if too few resources are deployed, it will cause the inability to meet the simulation tasks with large amounts of calculations. In terms of resource sharing, the current simulation platform generally adopts the cloud platform method to provide computing resources to users through cloud services, but the cost is high, and the user's own computing resources are not used, resulting in waste. Therefore, the existing technology has the problems of low resource utilization and poor adaptability. Summary of the invention

[0003] Based on this, it is necessary to provide a simulation platform based on distributed resource sharing and a resource allocation method thereof, which can improve resource utilization and reduce resource waste, in response to the above technical problems.

[0004] A simulation platform based on distributed resource sharing, characterized in that the simulation platform comprises: a plurality of clients and a server;

[0005] The client includes a task calculation module, a resource acquisition module and a data transmission module;

[0006] The server includes a data transmission module, a data acquisition module and a task scheduling module;

[0007] The task calculation module of the client is used to divide the simulation experiment into multiple tasks according to the parameters of the simulation experiment, obtain a task list, and transmit the task list to the server through the data transmission module of the client;

[0008] The resource acquisition module of the client is used to obtain the local computing rate and idle resource rate, and transmit the resource information to the server through the data transmission module of the client;

[0009] The data collection module of the server is used to collect the task list and resource information of each client received by the data transmission module of the server, and generate a resource list according to the resource information; the resources in the resource list are arranged from high to low according to the rate-cost ratio;

[0010] The task scheduling module of the server is used to allocate tasks according to the task list and the resource list, and select the computer group with the highest cost-to-time ratio to complete the simulation experiment under the premise of meeting the user's expected execution time and execution cost.

[0011] In one of the embodiments, the data transmission module of the client is further used to: after the client completes the simulation experiment, transmit the local simulation result to the server.

[0012] In one of the embodiments, the client further includes a display module, and the server is further configured to: aggregate the simulation results uploaded by each client and transmit the aggregated simulation results back to the client display module for display.

[0013] A resource allocation method for a simulation platform based on distributed resource sharing, the method comprising:

[0014] Obtaining a resource list of the simulation platform through the server; the resource list arranges the computing resources of each client from high to low according to the rate-cost ratio;

[0015] Obtain a list of tasks from the server, as well as the expected execution time and expected execution cost of the tasks;

[0016] Take tasks from the task list in order, and for each task, take resources from the resource list in order, and if the current task is assigned to the current resource based on the existing tasks of the current resource, and the time and cost required for the current resource to perform the current task do not exceed expectations, then assign the current task to the current resource;

[0017] Allocating the tasks in the task list in sequence until all the tasks are allocated to obtain an optimal computer group;

[0018] The server allocates the tasks in the task list to the optimal computer group to perform simulation processing.

[0019] In one embodiment, the method further includes: taking tasks from the task list in order, and for each task, taking resources from the resource list in order, and if the current task is assigned to the current resource based on the existing tasks of the current resource, and the time and cost required for executing the current task by the current resource do not exceed expectations, then assigning the current task to the current resource;

[0020] If no resources are allocated to the current task after the resource list loop is completed, it is determined that the cost of the proposed resource allocation plan does not meet expectations and a failure is returned; if the time of the proposed resource allocation plan does not meet expectations, all resources in the resource list whose processing rate is less than or equal to the proposed resource are deleted, and the loop is restarted from the updated resource list.

[0021] In one of the embodiments, it also includes: if the current task is assigned to the current resource based on the existing tasks of the current resource, and the time and cost required for executing the current task through the current resource are not more than expected, then after the current task is assigned to the current resource, the current task is added to the existing task list of the current task.

[0022] In one of the embodiments, it further includes: if the current resource already has a task, assigning the current task to the current resource;

[0023] The time required to execute the current task through the current resource is calculated as the sum of the time required to execute the current task itself on the current resource, the delay time required to complete the task execution, and the cumulative execution time of the existing tasks on the current resource;

[0024] The cost required to execute the current task through the current resource is calculated as: the sum of the cost required to execute the current task itself on the current resource and the accumulated execution cost of the existing tasks on the current resource;

[0025] If the time and cost required for the current resource to perform the current task do not exceed expectations, the current task will be assigned to the current resource.

[0026] In one of the embodiments, it also includes: assigning the tasks in the task list to the optimal computer group to perform the simulation processing through the server, transmitting the simulation results of each client in the optimal computer group to the server for aggregation; and then transmitting the aggregated simulation results back to the display module of the client through the server for display.

[0027] A computer device comprises a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:

[0028] Obtaining a resource list of the simulation platform through the server; the resource list arranges the computing resources of each client from high to low according to the rate-cost ratio;

[0029] Obtain a list of tasks from the server, as well as the expected execution time and expected execution cost of the tasks;

[0030] Take tasks from the task list in order, and for each task, take resources from the resource list in order, and if the current task is assigned to the current resource based on the existing tasks of the current resource, and the time and cost required for the current resource to perform the current task do not exceed expectations, then assign the current task to the current resource;

[0031] Allocating the tasks in the task list in sequence until all the tasks are allocated to obtain an optimal computer group;

[0032] The server allocates the tasks in the task list to the optimal computer group to perform simulation processing.

[0033] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the following steps:

[0034] Obtaining a resource list of the simulation platform through the server; the resource list arranges the computing resources of each client from high to low according to the rate-cost ratio;

[0035] Obtain a list of tasks from the server, as well as the expected execution time and expected execution cost of the tasks;

[0036] Take tasks from the task list in order, and for each task, take resources from the resource list in order, and if the current task is assigned to the current resource based on the existing tasks of the current resource, and the time and cost required for the current resource to perform the current task do not exceed expectations, then assign the current task to the current resource;

[0037] Allocating the tasks in the task list in sequence until all the tasks are allocated to obtain an optimal computer group;

[0038] The server allocates the tasks in the task list to the optimal computer group to perform simulation processing.

[0039] The above-mentioned simulation platform based on distributed resource sharing and its resource allocation method, the simulation platform includes: multiple clients and a server; the task calculation module of the client divides the simulation experiment into multiple tasks according to the parameters of the simulation experiment to obtain a task list, and the data transmission module transmits the task list to the server, the resource acquisition module of the client obtains the local computing rate and idle resource rate, and transmits them to the server, the data acquisition module of the server collects the task list and resource information of each client received by the data transmission module of the server, and generates a resource list based on the resource information, wherein the resources in the resource list are arranged from high to low according to the rate-cost ratio, and the task scheduling module of the server allocates tasks according to the task list and resource list, and selects the computer group with the highest cost-time ratio to complete the simulation experiment on the premise of meeting the user's expected execution time and execution cost. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 is a structural block diagram of a simulation platform based on distributed resource sharing in one embodiment;

[0041] Figure 2 A schematic diagram of a flow chart of a resource allocation method for a simulation platform based on distributed resource sharing in one embodiment;

[0042] Figure 3A schematic flow chart of a resource allocation method for a simulation platform based on distributed resource sharing in another embodiment;

[0043] Figure 4 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0044] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0045] In one embodiment, Figure 1 As shown, a simulation platform based on distributed resource sharing is provided, including:

[0046] Client, server;

[0047] The client includes a task calculation module, a resource acquisition module and a data transmission module;

[0048] The server includes data transmission module, data acquisition module and task scheduling module;

[0049] The task calculation module of the client is used to divide the simulation experiment into multiple tasks according to the parameters of the simulation experiment, obtain a task list, and transmit the task list to the server through the data transmission module of the client;

[0050] The resource acquisition module of the client is used to obtain the local computing rate and idle resource rate, and transmit the resource information to the server through the data transmission module of the client;

[0051] The data collection module on the server side is used to collect the task lists and resource information of each client received by the data transmission module on the server side, and generate a resource list based on the resource information; the resources in the resource list are arranged from high to low according to the rate-cost ratio;

[0052] The task scheduling module on the server side is used to allocate tasks according to the task list and resource list. On the premise of meeting the user's expected execution time and execution cost, the computer group with the highest cost-to-time ratio is selected to complete the simulation experiment.

[0053] In this embodiment, tasks are allocated according to the task list and resource list, and the specific process of selecting the computer group with the highest cost-time ratio to complete the simulation experiment under the premise of meeting the user's expected execution time and execution cost is as follows:

[0054] (1) Set the expected execution time Pre(Time) and expected execution cost Pre(Cost) of the task;

[0055] (2) Suppose there are currently M computers, and the processing rate of each computer is V m , and the computing cost is C m ;

[0056] (3) Suppose the network delay of each machine is D m , and the delay required for each task to complete execution is D Rnm ;

[0057] (4) Suppose the time for each task to be executed on each computer is Time Rm , and the computing cost for each task is Cost Rm ;

[0058] (5) Sort the computer group M according to the value of V m / C m to obtain the resource list Z m ;

[0059] (6) Take the task R n from the task list in order until the calculation of the last task is completed and end;

[0060] (7) Take the resource Z m from the resource list in order. Then, the time required for the current task to be calculated on this resource is Time Rnm , and the required cost is Cost Rnm . Suppose the cumulative calculation time required for the tasks allocated before this resource is Time m , and the cost is Cost m . Then, when Time m +Time Rnm +D Rnm <Pre(Time)

[0061] and Cost m +Cost Rnm <Pre(Cost), allocate the task to this machine and return to step (6). Time m =Time m +Time Rnm +D Rnm , Cost m =Cost m +Cost Rnm . Otherwise, return to step (7). If no resource is allocated after the resource list loop ends, if the cost does not reach the expectation, return failure. If the time does not reach the expectation, delete all resources in the resource list with a processing rate less than or equal to the resource to be allocated, and return to step (7) to recalculate.

[0062] Through the design of the present invention, the idle resources of multiple users are utilized, a distributed task scheduling algorithm is adopted, the network delay, computing speed, and resource idleness of each computing node are comprehensively considered, high-quality resources are selected, simulation tasks are distributed to each computing node to complete the simulation experiment, and then the results are returned for display. In this way, computing sharing is achieved, resource utilization is improved, and resource waste is reduced.

[0063] In one of the embodiments, the data transmission module of the client is also used to: after the client completes the simulation experiment, transmit the local simulation result to the server.

[0064] In one of the embodiments, the client further includes a display module, and the server is further configured to: aggregate the simulation results uploaded by each client and transmit the aggregated simulation results back to the client display module for display.

[0065] In one embodiment, Figure 2 As shown, a resource allocation method for a simulation platform based on distributed resource sharing is provided, comprising the following steps:

[0066] Step 202: Obtain a resource list of the simulation platform through the server.

[0067] The resource list arranges the computing resources of each client from high to low according to the rate-cost ratio.

[0068] Resources with a high rate-to-cost ratio have a higher processing rate and better efficiency at the same cost, or have a lower cost and better economic efficiency at the same processing rate. Therefore, resources with a high rate-to-cost ratio are allocated first.

[0069] Step 204: Obtain a task list, as well as an expected execution time and an expected execution cost of the task through the server.

[0070] Step 206, take tasks from the task list in order, and for each task, take resources from the resource list in order. If the current task is assigned to the current resource based on the existing tasks of the current resource, and the time and cost required for the current resource to execute the current task do not exceed expectations, then the current task is assigned to the current resource.

[0071] Step 208: Assign the tasks in the task list in sequence until all tasks are assigned to obtain the optimal computer group.

[0072] In this embodiment, a greedy algorithm is adopted, and factors considered include task resource network delay, execution time and execution cost. On the premise of meeting the user's expected execution time and execution cost, the computer group with the highest cost-to-time ratio is selected to complete the simulation experiment.

[0073] Step 210: The server allocates the tasks in the task list to the optimal computer group to perform simulation processing.

[0074] In the above-mentioned resource allocation method of the simulation platform based on distributed resource sharing, the simulation platform includes: multiple clients and a server; the task calculation module of the client divides the simulation experiment into multiple tasks according to the parameters of the simulation experiment to obtain a task list, and the data transmission module transmits the task list to the server; the resource acquisition module of the client obtains the local computing rate and idle resource rate, and transmits them to the server; the data acquisition module of the server collects the task list and resource information of each client received by the data transmission module of the server, and generates a resource list based on the resource information, wherein the resources in the resource list are arranged from high to low according to the rate-cost ratio; the task scheduling module of the server allocates tasks according to the task list and the resource list, and selects the computer group with the highest cost-time ratio to complete the simulation experiment on the premise of meeting the user's expected execution time and execution cost.

[0075] In one of the embodiments, it also includes: taking tasks from the task list in sequence, and for each task, taking resources from the resource list in sequence; if the current task is assigned to the current resource based on the existing tasks of the current resource, and the time and cost required for executing the current task by the current resource do not exceed expectations, then the current task is assigned to the current resource; if resources are not assigned to the current task after the resource list loop is completed, it is determined that if the cost of the proposed resource allocation plan does not meet expectations, failure is returned; if the time of the proposed resource allocation plan does not meet expectations, all resources in the resource list whose processing rate is less than or equal to the proposed resource are deleted, and the cycle is restarted from the updated resource list.

[0076] In one of the embodiments, it also includes: if the current task is assigned to the current resource based on the existing tasks of the current resource, and the time and cost required for executing the current task through the current resource are not more than expected, then after the current task is assigned to the current resource, the current task is added to the existing task list of the current task.

[0077] In one of the embodiments, it also includes: if the current task is assigned to the current resource based on the existing tasks of the current resource; the time required to execute the current task through the current resource is calculated as: the sum of the time required to execute the current task itself on the current resource, the delay time required to complete the task execution, and the accumulated execution time of the tasks already on the current resource; the cost required to execute the current task through the current resource is calculated as: the sum of the cost required to execute the current task itself on the current resource and the accumulated execution cost of the tasks already on the current resource; if the time and cost required to execute the current task through the current resource do not exceed expectations, the current task is assigned to the current resource.

[0078] The present invention makes resource allocation more reasonable by sharing computing resources of various users and comprehensively considering parameters such as task size, network delay of each computing node, computing speed, resource idle rate, cost, etc.

[0079] In one embodiment, if Figure 3 As shown, a resource allocation method for a simulation platform based on distributed resource sharing is provided, including: a resource acquisition module collects resource information, uploads resource information to a server, generates a task list, sets expected computing time and its cost, uploads the task list to the server, calculates the optimal computer group according to set parameters through the resource list and the task list, sends tasks to the computer group, completes the calculation and returns the result, and displays the result through a display module.

[0080] In a specific embodiment, the implementation process of the experimental simulation through the distributed resource sharing platform of the present invention is as follows:

[0081] 1. Assume that a simulation experiment has 3 parameters, each with two values. After permutations and combinations, the experiment is decomposed into 6 tasks;

[0082] 2. Assume that there are 10 million data to be calculated in the experiment, and each data is calculated 1000 times, then each task is calculated 10 billion times, and the total number of calculations for the simulation experiment is 60 billion times;

[0083] 3. Assume there are three computers. Computer A has a computing speed of 1 billion times per second and a cost of 1 / second. Computer B

[0084] The rate is 2.5 billion times per second, the cost is 4 / second, the rate of computer C is 4 billion times per second, the cost is 10 / second; 4. Assume that the network delay of computer A is 0.5 seconds, the network delay of computer B is 0.2 seconds, and the network delay of computer C is 0.1 seconds; 5. Assume that the expected computing time is 10 seconds and the expected cost is 120;

[0085] 6. According to the algorithm steps, the following results are obtained:

[0086] (1) The rate-to-cost ratio of computer A is 10, the rate-to-cost ratio of computer B is 6.25, and the rate-to-cost ratio of computer C is 4, so the computers are ranked A, B, C;

[0087] (2) Task 1: Computer A calculates for 10 seconds, costs 10, and has a delay of 0.5 seconds;

[0088] Assign Task 1 to Computer A. The total time for calculating the task assigned by Computer A is 10.5 seconds, and the total cost is 10.

[0089] Task 2: Computer A calculates for 10 seconds, costs 10, and has a delay of 0.5 seconds;

[0090] The time exceeded expectations, so Computer B was taken out for calculation;

[0091] Assign Task 2 to Computer B. The total computing time for B's assigned tasks is 4.2 seconds.

[0092] Total cost 16;

[0093] Task 3: Computer A calculates for 10 seconds, costs 10, and has a delay of 0.5 seconds;

[0094] The time exceeded expectations, so Computer B was taken out for calculation;

[0095] Computer B takes 4 seconds to calculate, costs 16, and has a delay of 0.2 seconds;

[0096] Assign Task 3 to Computer B. The total time for B to calculate the task is 8.4 seconds, and the total cost is 32.

[0097] Task 4: Computer A calculates for 10 seconds, costs 10, and has a delay of 0.5 seconds;

[0098] The time exceeded expectations, so computer B was taken out for calculation;

[0099] Computer B takes 4 seconds to calculate, costs 16, and has a delay of 0.2 seconds;

[0100] The time exceeded expectations, so computer C was taken out for calculation;

[0101] Computer C takes 2.5 seconds to calculate, costs 25, and has a delay of 0.1 seconds;

[0102] Assign Task 4 to Computer C. The total computing time for the assigned task is 2.51 seconds, and the total cost is 25.

[0103] Task 5: Computer A calculates for 10 seconds, costs 10, and has a delay of 0.5 seconds;

[0104] The time exceeded expectations, so Computer B was taken out for calculation;

[0105] Computer B takes 4 seconds to calculate, costs 16, and has a delay of 0.2 seconds;

[0106] The time exceeded expectations, so computer C was taken out for calculation;

[0107] Computer C takes 2.5 seconds to calculate, costs 25, and has a delay of 0.1 seconds;

[0108] Assign Task 4 to Computer C. The total computing time for the assigned task is 5.0 seconds and the total cost is 50.

[0109] Task 6: Computer A calculates for 10 seconds, costs 10, and has a delay of 0.5 seconds;

[0110] The time exceeded expectations, so Computer B was taken out for calculation;

[0111] Computer B takes 4 seconds to calculate, costs 16, and has a delay of 0.2 seconds;

[0112] The time exceeded expectations, so computer C was taken out for calculation;

[0113] Computer C takes 2.5 seconds to calculate, costs 25, and has a delay of 0.1 seconds;

[0114] Assign Task 6 to Computer C. The total time for computing the assigned task is 7.53 seconds, and the total cost is 75.

[0115] (3) The optimal computer group is A assigned one task, B assigned two tasks, and C assigned three tasks. The total time is 10.5 seconds and the total cost is 117. Both the time and cost meet expectations, so this group is selected for calculation.

[0116] It should be understood that although Figure 2-3 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 2-3 At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.

[0117] In one embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as follows: Figure 4 As shown. The computer device includes a processor, a memory, a network interface, a display screen and an input device connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a resource allocation method for a simulation platform based on distributed resource sharing is implemented. The display screen of the computer device can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covered on the display screen, or a button, trackball or touchpad set on the computer device housing, or an external keyboard, touchpad or mouse, etc.

[0118] Those skilled in the art will understand that Figure 4 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0119] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps in the above method embodiment when executing the computer program.

[0120] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above method embodiment are implemented.

[0121] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0122] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0123] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.

Claims

1. A simulation platform based on distributed resource sharing, characterized in that: The simulation platform includes: multiple clients and a server; The client includes a task calculation module, a resource acquisition module and a data transmission module; The server includes a data transmission module, a data acquisition module and a task scheduling module; The task calculation module of the client is used to divide the simulation experiment into multiple tasks according to the parameters of the simulation experiment, obtain a task list, and transmit the task list to the server through the data transmission module of the client; The resource acquisition module of the client is used to obtain the local computing rate and idle resource rate, and transmit the resource information to the server through the data transmission module of the client; The data collection module of the server is used to collect the task list and resource information of each client received by the data transmission module of the server, and generate a resource list according to the resource information; the resources in the resource list are arranged from high to low according to the rate-cost ratio; The task scheduling module of the server is used to allocate tasks according to the task list and the resource list, and select the computer group with the highest cost-to-time ratio to complete the simulation experiment under the premise of meeting the user's expected execution time and execution cost.

2. The simulation platform according to claim 1, characterized in that: The data transmission module of the client is also used for: After the client completes the simulation experiment, the local simulation results are transmitted to the server.

3. The simulation platform according to claim 2, characterized in that: The client also includes a display module, and the server is further used for: After the simulation results uploaded by each client are aggregated, the aggregated simulation results are sent back to the client display module for display.

4. A resource allocation method for a simulation platform based on distributed resource sharing, applied to the simulation platform based on distributed resource sharing as claimed in any one of claims 1 to 3, characterized in that: The method comprises: Obtaining a resource list of the simulation platform through the server; the resource list arranges the computing resources of each client from high to low according to the rate-cost ratio; Obtain a list of tasks from the server, as well as the expected execution time and expected execution cost of the tasks; Take tasks from the task list in order, and for each task, take resources from the resource list in order, and if the current task is assigned to the current resource based on the existing tasks of the current resource, and the time and cost required for the current resource to perform the current task do not exceed expectations, then assign the current task to the current resource; Allocating the tasks in the task list in sequence until all the tasks are allocated to obtain an optimal computer group; The server allocates the tasks in the task list to the optimal computer group to perform simulation processing.

5. The method according to claim 4, characterized in that Taking tasks from the task list in order, taking resources from the resource list in order for each task, and if the current task is assigned to the current resource based on the existing tasks of the current resource, and the time and cost required for the current resource to perform the current task do not exceed expectations, then assigning the current task to the current resource includes: Take tasks from the task list in order, and for each task, take resources from the resource list in order, and if the current task is assigned to the current resource based on the existing tasks of the current resource, and the time and cost required for the current resource to perform the current task do not exceed expectations, then assign the current task to the current resource; If no resources are allocated to the current task after the resource list loop is completed, it is determined that the cost of the proposed resource allocation plan does not meet expectations and a failure is returned; if the time of the proposed resource allocation plan does not meet expectations, all resources in the resource list whose processing rate is less than or equal to the proposed resource are deleted, and the loop is restarted from the updated resource list.

6. The method according to claim 5, characterized in that If the current task is assigned to the current resource based on the current resource's existing tasks, and the time and cost required for the current resource to perform the current task do not exceed expectations, then after the current task is assigned to the current resource, it also includes: Add the current task to the existing task list of the current task.

7. The method according to claim 6, characterized in that If the current task is assigned to the current resource based on the current resource's existing tasks, and the time and cost required for the current resource to perform the current task do not exceed expectations, then the current task is assigned to the current resource, including: If the current task is assigned to the current resource based on the existing tasks of the current resource; The time required to execute the current task through the current resource is calculated as the sum of the time required to execute the current task itself on the current resource, the delay time required to complete the task execution, and the cumulative execution time of the existing tasks on the current resource; The cost required to execute the current task through the current resource is calculated as: the sum of the cost required to execute the current task itself on the current resource and the accumulated execution cost of the existing tasks on the current resource; If the time and cost required for the current resource to perform the current task do not exceed expectations, the current task will be assigned to the current resource.

8. The method according to claim 7, characterized in that The server allocates the tasks in the task list to the optimal computer group to perform simulation processing, and also includes: Transmitting the simulation results of each client in the optimal computer group to the server for aggregation; The summarized simulation results are then transmitted back to the display module of the client through the server for display.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 4 to 8 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 4 to 8 are implemented.