Bidirectional auction method for task scheduling of computing power network

By designing a two-way auction method in computing power network task scheduling, the problems of multi-dimensional resource allocation and data transmission requirements are solved, and task transaction volume is maximized and resource utilization efficiency is improved.

CN120455543APending Publication Date: 2025-08-08YUNNAN UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510556023.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-29
Publication Date
2025-08-08

AI Technical Summary

Technical Problem

The existing two-way auction mechanism fails to effectively consider multi-dimensional resource allocation and data transmission requirements in computing power network task scheduling, resulting in inefficient resource utilization.

Method used

Design a two-way auction method for computing power network task scheduling. By obtaining information from each participant, initializing task and network flow decision variables, solving integer planning problems, and dividing the task diagram into three sub-graphs for optimization, determining the final task allocation and network flow decision variables.

Benefits of technology

It has achieved the maximization of task transaction volume in a multi-cloud environment, rational allocation of computing power and network resources, and improved resource utilization efficiency and economicality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120455543A_ABST
    Figure CN120455543A_ABST
Patent Text Reader

Abstract

The invention discloses a bidirectional auction method for task scheduling of a computing power network, and the method comprises the steps: providing a task scheduling integer programming problem according to a task scheduling scene of the computing power network, and solving a task distribution decision variable and a network flow decision variable according to the signal of each participant in the computing power network; firstly, decision variables are corrected according to the quotation of a buyer unit and the quotation of a computing power resource provider unit, then the network cost of allocating the decision variables to each non-zero task is calculated, then a task graph of each task is obtained, each task graph is divided into three sub-graphs, the decision variables are optimized according to each sub-graph, and the optimal decision variables are obtained. And obtaining a final task allocation decision variable and a network flow decision variable so as to complete task scheduling. According to the method, the computing power network task scheduling is realized through bidirectional auction, so that a computing power resource provider can process more tasks, and the resource utilization efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of computing power networks, and more specifically, relates to a two-way auction method for computing power network task scheduling. Background Art

[0002] Computing power is a portmanteau of the words "compute" and "utility." "Computing power" literally means computing capacity, referring to the computing performance of a device or system. With the intensive deployment of cloud computing and supercomputing centers to provide public services, the infrastructure nature of computing power has been continuously strengthened. Simultaneously, with the advancement of network technologies such as SDN / NFV and deterministic networks, the intelligent measurement and adjustment capabilities of networks have become increasingly powerful. The integration of computing power and networks at the infrastructure level has been proposed, giving rise to the concept of the "computing power network." The computing power network is a new type of information infrastructure that allocates and flexibly schedules computing, storage, and network resources on demand across the cloud, edge, and end. It is fully compatible with traditional cloud computing and edge computing.

[0003] Compared to traditional grid computing, cloud computing, and edge computing, the concept of a computing network facilitates the unification of hardware performance across different service providers. It mitigates the impact of computing type, accuracy, and architecture, provides a more scientific way to quantify computing performance and tasks, and provides a highly scalable and reliable computing infrastructure for internet applications. However, this also presents many challenges. The first challenge is multi-cloud unification. Computing resource providers, including traditional supercomputing centers, cloud service providers, and AI service providers, have significant hardware variations, making it difficult to uniformly measure heterogeneous hardware across these providers. The second challenge is site-network separation. The computing network addresses the larger problem of computing power allocation and task scheduling. Buyers have diverse data tasks and involve multiple computing resource providers and network resource providers, all of whom are independent. Task scheduling and computation must consider both the computing power requirements and data transmission requirements. This challenge requires scientifically modeling and describing the computing network. Furthermore, the third challenge of the computing network is pricing. The price of computing power depends on how it is quantified. Furthermore, due to the independence of computing power and network resource providers, the revenue needs of all parties must be considered. Previous approaches, often based on cloud computing or edge computing, only considered the revenue and utility of buyers and service providers, while ignoring the revenue needs of network resource providers. However, in a computing power network, network resource providers, as independent resource providers, are crucial for system operation, and their revenue must also be considered.

[0004] Computing networks involve large-scale scheduling, and allocating computing resources through a market-based approach is a highly effective strategy. Mechanism design, as an excellent resource allocation method, has long been used in cloud computing and edge computing. Its application scenarios encompass static, real-time, fixed, time-varying, virtual machine allocation, and multi-resource allocation. It also finds widespread application in areas such as mobile crowdsensing. The primary goal of mechanism design is to determine the winning buyer and the payment price based on resource allocation objectives. Resource allocation objectives can range from maximizing social welfare and revenue to maximizing the number of winning buyers and minimizing energy consumption. Constraints often include resource constraints, deployment constraints, and network constraints. Because resource allocation involves economic behavior and buyers have self-interested motivations, mechanism design must ensure economic characteristics such as trustworthiness and individual rationality. The double auction mechanism is a mechanism design model that can accommodate multiple sellers and buyers, making it ideal for task scheduling in computing networks. For example, attempts have been made to use a double auction mechanism to allocate communication channel resources, and a corresponding double auction algorithm has been designed for mobile devices using base station computing resources in an industrial IoT environment. These attempts have greatly expanded the application of the double auction mechanism, but some limitations still exist, such as not considering multi-dimensional resource allocation and ignoring the needs of data transmission across the network. Therefore, applying the existing double auction mechanism to the task scheduling scenario of the computing power network is not feasible, and the relevant auction mechanism needs to be redesigned for this application scenario. Summary of the Invention

[0005] The purpose of the present invention is to overcome the shortcomings of the existing technology and provide a two-way auction method for computing power network task scheduling. The two-way auction is used to realize computing power network task scheduling, so that computing power resource providers can handle more tasks and improve resource utilization efficiency.

[0006] To achieve the above-mentioned object, the double auction method for computing network task scheduling of the present invention includes the following steps:

[0007] S1: Obtain information about each participant in the computing network, including:

[0008] Data task information: the total computing power required for the k-th data task per unit time in, represents a set of K data tasks, They represent the integer computing power requirement, floating-point computing power requirement, and address operation computing power requirement of the k-th data task per unit time; the data transmission bandwidth requirement bw of the k-th data task k ;

[0009] Computing resource provider information: different types of computing resources that can be allocated by computing resource provider j in represents the set of P computing resource providers, They are the integer computing power, floating-point computing power, and address operation computing power provided by computing power resource provider j per unit time, and the superscript T represents transposition; the asking price a of computing power resource provider j to buyer i i,j =(a i,j,1 ,a i,j,2 ,...,a i,j,K ) Τ , a i,j,k represents the unit price that computing resource provider j asks buyer i for the k-th task, represents a set of N buyers;

[0010] Buyer information: buyer i’s real bidding information θ i =(s i ,b i,j ), where s i =(s i,1 ,s i,2 ,...,s i,K ) Τ represents the data task request submitted by buyer i, s i,k represents the maximum number of requests from buyer i for the kth type of data task, b i,j =(b i,j,1 ,b i,j,2 ,...,b i,j,K ) Τ represents the unit price paid by buyer i to perform data tasks on computing resource provider j, b i,j,k represents the unit price offered by buyer i for executing the k-th data task on computing resource provider j;

[0011] Hash network topology information: Hash network topology represents the set of communication nodes, ε represents the set of all feasible links in the computing power network, and the bandwidth limit BW of link e is recorded. e , the unit cost of bandwidth on link e is δ e , e∈ε; the proportion of co-construction of each network provider in link e represents a set of M different network providers;

[0012] S2: Initialize task allocation decision variable x i,j,k =0, network flow decision variable The unit task settlement price that buyer i pays to the computing network operator when the demand for the k-th data task of buyer i is met by computing resource provider j The unit task clearing price of computing network operator j when buyer i's demand for the k-th data task is met by computing resource provider j The network cost of transmitting the k-th data task of buyer i on the network when it is assigned to computing resource provider j The final fee P paid to the network provider m m =0;

[0013] S3: Solve the following task allocation integer programming problem and obtain the task allocation decision variable x i,j,k and network flow decision variables

[0014]

[0015]

[0016] S4: Traverse each task assignment decision variable x i,j,k , determine whether a i,j,k >b i,j,k If yes, then let the task allocation decision variable x i,j,k =0, all corresponding network flow decision variables Otherwise, no action will be taken;

[0017] S5: Traverse each current task allocation decision variable x i,j,k , if x i,j,k =0, no operation is performed, otherwise the network cost of the corresponding task is calculated using the following formula

[0018]

[0019] in, d=(δ 1 ,δ 2 ,…,δ |ε| ), | | means to find the number of individuals in the set;

[0020] S6: Optimize decision variables based on tasks. The specific method is as follows:

[0021] S6.1: Initialize the final task allocation decision variables

[0022] S6.2: Set task number k = 1;

[0023] S6.3: For the k-th task, obtain the task assignment decision variable x i,j,k =1 for all buyers to construct a buyer node set All corresponding computing resource providers build a seller node set Then the buyer and computing resource providers The task allocation decision variable x between i,j,k As a side-by-side collection Thus we get the task graph of the k-th task

[0024] S6.4: The task graph of the k-th task Divided into three independent subgraphs The division method is:

[0025] From the task graph Filter out computing power resource providers that are connected to more than two buyers, and form a subgraph of these computing power resource providers and connected buyers Then, from the remaining task graph, select buyers who are connected to two or more computing resource providers, and form a subgraph with these buyers and the connected computing resource providers. The remaining one-to-one buyers and computing resource providers form a subgraph

[0026] S6.5: Optimize the decision variables based on the first task subgraph. The specific method is as follows:

[0027] S6.5.1: For the seller node set Each computing resource provider j in the task subgraph Get the tree with computing resource provider j as the root node The corresponding edge set is

[0028] S6.5.2: For the seller node set For each computing resource provider j, when the task allocation decision variable The quotation is calculated using the following formula

[0029]

[0030] All quotes will be received Construct a quotation set of computing resource provider j

[0031] S6.5.3: Iterate over a Quote Collection Each quote if Then delete the tree The corresponding edges and buyers in the task allocation decision variables are All corresponding network flow decision variables Then remove the quote Otherwise, no action will be taken;

[0032] S6.5.4: Set the computing resource provider number α to 1;

[0033] S6.5.5: Aggregate from seller nodes Take out the αth computing power resource provider and record the original serial number of the computing power resource provider as j α ;

[0034] S6.5.6: Determine whether computing resource provider j α Quote collection If yes, go to step S6.5.13, otherwise go to step S6.5.7;

[0035] S6.5.7: From computing resource providers α Quote collection Filter out the minimum quote and record it as where i β Indicates the buyer's serial number corresponding to the lowest bid;

[0036] S6.5.8: Determine whether the quotation is the minimum value Indicates the preset asking price threshold for the k-th task. If yes, proceed to step S6.5.9; otherwise, proceed to step S6.5.11.

[0037] S6.5.9: Traverse the current edge set Each task is assigned a decision variable Determine whether the unit is asking price If not, do nothing, otherwise Prune the task allocation decision variables The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables Go to step S6.5.10;

[0038] S6.5.10: Traverse the current edge set Each task is assigned a decision variable if No action is taken, otherwise the following formula is used to update the unit task liquidation price of buyer i:

[0039]

[0040] Use the following formula to update the unit task liquidation price of computing resource provider j

[0041]

[0042] Then proceed to step S6.5.13;

[0043] S6.5.11: From the tree Cut out buyer i β And the corresponding edge, let the final task allocation decision variable All corresponding network flow decision variables

[0044] Traverse the current edge set Each task is assigned a decision variable Determine whether the unit is asking price If not, do nothing, otherwise Prune the task allocation decision variables The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables Go to step S6.5.12;

[0045] S6.5.12: Traverse the current edge set Each task is assigned a decision variable if No action is taken, otherwise the following formula is used to update the unit task liquidation price of buyer i:

[0046]

[0047] Use the following formula to update the unit task liquidation price of computing resource provider j

[0048]

[0049] Then proceed to step S6.5.13;

[0050] S6.5.13: Determine whether If yes, proceed to step S6.5.14, otherwise the optimization ends;

[0051] S6.5.14: Set α = α + 1, and return to step S6.6.5;

[0052] S6.6: Optimize the decision variables based on the second task subgraph. The specific method is as follows:

[0053] S6.6.1: For buyer node sets Each buyer i in the task subgraph Get the tree with buyer i as the root node The corresponding edge set is

[0054] S6.6.2: For buyer node sets For each buyer i, when the task allocation decision variable The asking price is calculated using the following formula

[0055]

[0056] All asking prices will be Construct the quotation set of buyer i

[0057] S6.6.3: Iterate over a Quote Collection Each asking price if Then delete the tree The corresponding edges and buyers in the task allocation decision variables are All corresponding network flow decision variables Then from the quote collection Delete the asking price Otherwise, no action will be taken;

[0058] S6.6.4: Let buyer number γ = 1;

[0059] S6.6.5: Aggregate from buyer nodes Take out the γth buyer and record the original serial number of the buyer as i γ ;

[0060] S6.6.6: Determine whether buyer i γ Quote collection If yes, go to step S6.6.13, otherwise go to step S6.6.7;

[0061] S6.6.7: From buyer γ Quote collection Filter out the maximum asking price and record it as where j β Indicates the serial number of the computing power resource provider corresponding to the maximum asking price;

[0062] S6.6.8: Determine whether the asking price is the maximum Indicates the preset bid threshold for the k-th task. If yes, proceed to step S6.6.9; otherwise, proceed to step S6.6.11.

[0063] S6.6.9: Traverse the current edge set Each task is assigned a decision variable Determine whether the unit is asking price If not, do nothing, otherwise Prune the task allocation decision variables The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables Go to step S6.6.10;

[0064] S6.6.10: Traverse the current edge set Each task is assigned a decision variable if No action is taken, otherwise the following formula is used to update buyer i γ Unit task liquidation price

[0065]

[0066] Use the following formula to update the unit task liquidation price of computing resource provider j

[0067]

[0068] Go to step S6.6.13;

[0069] S6.6.11: From tree Remove computing power resource providers β And the corresponding edge, let the final task allocation decision variable All corresponding network flow decision variables

[0070] Traverse the current edge set Each task is assigned a decision variable Determine whether the unit is asking price If not, do nothing, otherwise Prune the task allocation decision variables The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables Go to step S6.6.12;

[0071] S6.6.12: Traverse the current edge set Each task is assigned a decision variable if No action is taken, otherwise the following formula is used to update the unit task liquidation price of buyer i:

[0072]

[0073] Use the following formula to update the unit task liquidation price of computing resource provider j

[0074]

[0075] Then proceed to step S6.6.13;

[0076] S6.6.13: Determine whether If yes, proceed to step S6.6.14, otherwise the optimization ends;

[0077] S6.6.14: Set γ = γ + 1 and return to step S6.6.5;

[0078] S6.7: Optimize the decision variables based on the third task subgraph. The specific method is as follows:

[0079] S6.7.1: Traverse the current edge set Each task is assigned a decision variable x i,j,k , use the following formula to calculate the quotation

[0080]

[0081] All quotes will be received Construct a quote collection

[0082] S6.7.2: Pair subgraphs Buyers in the bid Sort from small to large to get the buyer set i ω represents the original serial number of the ω-th buyer,

[0083] Pair graph The computing power resource provider in the buyer's unit price is a i,j,k Sort from large to small to get a set of computing power resource providers j ω Indicates the original serial number of the ωth computing resource provider;

[0084] S6.7.3: At the buyer's assembly and computing resource providers Search for a minimum boundary ρ such that in Indicates that the buyer ρ There are edge-connected computing resource providers, i jρ Indicates the relationship with computing resource provider j ρ There are buyers connected by edges;

[0085] S6.7.4: Traverse the current edge set Each task is assigned a decision variable x i,j,k , determine whether the unit asking price is met or quote If none of them are satisfied, no action is taken, otherwise Remove the task allocation decision variable x i,j,k The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables

[0086] S6.7.5: Traverse the current edge set Each task is assigned a decision variable x i,j,k , if x i,j,k =0, no action is taken, otherwise the following formula is used to update the unit task liquidation price of buyer i

[0087]

[0088] Use the following formula to update the unit task liquidation price of computing resource provider j

[0089]

[0090] The two-way auction method for task scheduling in a computing power network of the present invention proposes a task scheduling integer programming problem according to the computing power network task scheduling scenario, and obtains task allocation decision variables and network flow decision variables based on the signals of each participant in the computing power network. First, the decision variables are corrected according to the unit quotation of the buyer and the unit quotation of the computing power resource provider, and then the network cost of each non-zero task allocation decision variable is calculated. Then, the task graph of each task is obtained, and each task graph is divided into 3 subgraphs. The decision variables are optimized according to each subgraph respectively to obtain the final task allocation decision variables and network flow decision variables, thereby completing task scheduling.

[0091] The present invention has the following beneficial effects:

[0092] 1) This invention targets computing network task scheduling scenarios involving multiple buyers, multiple computing resource providers, and multiple network providers. With the goal of maximizing the transaction volume of user computing tasks, it transforms the computing network task scheduling problem into an integer programming model with computing resource constraints and network resource constraints. By solving the optimal solution to the planning problem, a feasible task allocation plan and network flow plan are obtained.

[0093] 2) The present invention divides the allocation scheme into three non-overlapping matching categories based on the bids of buyers and computing resource providers. The transaction price between the two parties is determined while considering the data transmission costs of network resource providers, making the resulting task scheduling scheme more reasonable and economical. BRIEF DESCRIPTION OF THE DRAWINGS

[0094] Figure 1 This is an example diagram of the process of computing network task scheduling based on mechanism design;

[0095] Figure 2 It is a directed weighted graph of the network topology;

[0096] Figure 3 This is a flowchart of a specific implementation of the double auction method for computing network task scheduling of the present invention;

[0097] Figure 4 It is a flowchart of the task-based optimization decision variables in the present invention;

[0098] Figure 5 This is an example diagram of task subgraph division in this embodiment;

[0099] Figure 6 It is a flowchart of optimizing decision variables based on the first task subgraph in the present invention;

[0100] Figure 7 This is an example diagram of optimizing decision variables based on the first task subgraph in this embodiment;

[0101] Figure 8 It is a flowchart of optimizing decision variables based on the second task subgraph in the present invention;

[0102] Figure 9 This is an example diagram of optimizing decision variables based on the second task subgraph in this embodiment;

[0103] Figure 10 It is a flowchart of optimizing decision variables based on the third task subgraph in the present invention;

[0104] Figure 11 This is an example diagram of optimizing decision variables based on the third task subgraph in this embodiment;

[0105] Figure 12 This is a comparison chart of the final number of successful transaction tasks of the present invention and the comparative method in this embodiment;

[0106] Figure 13 This is a comparison chart of the computing power resource providers' benefits for the present invention and the comparative method in this embodiment;

[0107] Figure 14 This is a buyer utility comparison chart of the present invention and the comparative method in this embodiment;

[0108] Figure 15 This is a comparison chart of network provider income for the present invention and the comparative method in this embodiment;

[0109] Figure 16 This is an example diagram of the authenticity of buyers and sellers in this embodiment of the present invention. DETAILED DESCRIPTION

[0110] The following describes the specific embodiments of the present invention in conjunction with the accompanying drawings so that those skilled in the art can better understand the present invention. It should be noted that in the following description, when detailed descriptions of known functions and designs may dilute the main content of the present invention, such descriptions will be omitted here.

[0111] In order to better illustrate the technical solution of the present invention, the technical principle of the present invention is first briefly described.

[0112] Figure 1 This is a flow chart of task scheduling in a computing network based on mechanism design. Figure 1 As shown in the figure, the task scheduling process of the computing power network includes:

[0113] 1) The buyer first submits the task requirements and bid to the computing power network service provider;

[0114] 2) The computing power resource provider submits its available computing power resources and computing power bid to the computing power network service provider;

[0115] 3) The network resource provider submits the network topology and network transmission costs to the computing power network service provider;

[0116] 4) The computing network service provider decides on the matching plan between the buyer's task and the computing resource provider based on the information from the three parties, as well as the data task transmission network flow, and determines the corresponding payment price for each party;

[0117] 5) The buyer pays the computing network service provider, who pays the fees to the computing resource provider and network resource provider while maintaining a balanced budget.

[0118] 6) The computing network service provider schedules task transmission and execution based on the results of step 4).

[0119] In the task scheduling of computing power network, there are mainly four types of roles involved, namely users (buyers), computing power resource providers (sellers), network resource providers, and computing power network service providers (auctioneers).

[0120] The computing power network service provider needs to consider the computing power requirements of the buyer's tasks and the computing power performance indicators of the server. Research has found that the computing power requirements of a buyer's data task k can be defined as integer calculations, floating-point calculations, and address operations. In this invention, because we consider continuous tasks, the task computing power requirement is defined as the computing power required per unit time for the data task. The specific expression is as follows:

[0121]

[0122] in, BOPs k is the total computing power requirement of the k-th data task per unit time, is the integer computing power requirement per unit time, is the floating point computing power requirement per unit time, The address operation computing power required per unit time. It is worth noting that buyers may have many tasks of the same type, but a task can only be assigned to one computing power resource provider.

[0123] On the other hand, for the performance of computing resource providers, by analyzing their hardware architecture, we can obtain their computing power performance, expressed in (BOPS). BOPS can be considered as providing the corresponding type of computing power performance per unit time (the larger the better). Generally, there is a basic mapping relationship between the current basic processing performance of hardware equipment and computing power, such as GFLOPS and GBOPS. However, the computing power reflected by the same hardware when processing different types of data is different. For example, the CPU's performance for floating-point calculations is relatively weak compared to integer calculation performance. The present invention defines the integer computing power of a CPU per unit time as:

[0124] BOPS Int =Core*(BOPs Int / clockcycle)*Frequency (2)

[0125] BOPS Int It is the integer computing performance implemented by the CPU per unit time, Core is the number of CPU cores, BOPs Int / clockcycle processes integer BOPs for each clock cycle Int The number of, Frequency is the main frequency.

[0126] A computing power resource provider may have many hardware devices, including CPUs, GPUs, FPGAs, and specific AI hardware. Through computing power measurement, it can be integrated into integer computing power, floating-point computing power, and address operation computing power. Therefore, the computing power provided by a computing power resource provider per unit time is defined as:

[0127]

[0128] in, They are the integer computing power, floating-point computing power, and address operation computing power provided by the computing power resource provider per unit time, respectively. The superscript T represents transpose.

[0129] Assume that there are K different types of data tasks that need to be processed in the entire system, and the data task set Each type of data task execution involves different types of data operations, such as integer calculations, floating-point calculations, and address access operations. The data operation requirements used per unit time for the kth type of data task are defined as They represent the integer computing power, floating-point computing power, and address operation computing power required for the integer computing of the k-th data task. At the same time, in order to meet the timeliness requirements of task execution, the data transmission bandwidth requirements must also be met. The vector bw=(bw1,bw2,...,bw K ) T Indicates the bandwidth requirement of the task, where bw k Indicates the data transmission bandwidth requirement for the kth type of data task. For example, a real-time video AI training task requires both computing power and data transmission.

[0130] Record the set of N buyers in the computing power network Each data task request submitted by buyer i is represented by s i =(s i,1 ,s i,2 ,...,s i,K ) Τ Indicates that s i,k represents the maximum number of requests for the kth type of data tasks by buyer i. It is worth noting that buyers are not single-minded about this demand, that is, the number of tasks executed can be less than or equal to s i,k .

[0131] Remember the set of P different computing resource providers Each computing resource provider provides corresponding computing power to the outside world for data processing. Indicates the different types of computing resources that can be allocated by computing resource provider j. They are respectively the integer computing power, floating-point computing power and address operation computing power provided by the computing power resource provider per unit time.

[0132] Because different computing power providers have different computing power resources, the price they charge for different buyers' task execution requirements is different. For example, it is not suitable to run an integer computing task at a provider with abundant floating-point computing power resources. Therefore, computing power providers have different preferences for tasks that different buyers need to execute. Define the unit price that computing power provider j charges for buyer i's k-th data task as a i,j,k , using a i,j =(a i,j,1 ,a i,j,2 ,...,a i,j,K ) Τ To represent the price that computing resource provider j asks buyer i. Similarly, different buyers have different quotes for executing data tasks on different computing resource providers. For example, buyer i’s unit quote for executing the kth type of data task on computing resource provider j is b i,j,k , so b i,j =(b i,j,1 ,b i,j,2 ,...,b i,j,K ) Τ It represents the unit price offered by buyer i to perform data tasks on computing resource provider j. i =(b i,1 ,b i,2 ,...b i,P ) Τ represents the bid information of buyer i, a j =(a 1,j ,a 2,j ,...a N,j ) Τ Indicates the price information of computing power resource provider j, Indicates the bidding information of all buyers. Indicates the price information of all computing resource providers.

[0133] The buyer’s task data needs to be scheduled using network transmission, but the buyer’s data may be transmitted through the links of different network operators. Let’s record the set of M different network providers. Each network provider is responsible for link construction and communication nodes in the network topology. ε is used to represent the set of all feasible links in the computing power network, and Represents the set of all communication nodes in the computing network. Considering that the link may be built by multiple network providers, To express the proportion of co-construction of each network provider in link e, it can be seen that for any link e∈ε, Each link e∈ε has bandwidth BW e The limitation of BW is 1 ,BW2 ,...,BW |ε| ) T Indicates the bandwidth limit of all links in the network. In the network, the link unit bandwidth cost is expressed as d = (δ 1 ,...,δ |ε| ) T Indicates that, where δ e The unit cost of bandwidth on link e depends on the pricing of this link by the network operator. The unit cost of traffic is proportional to σ e For example, a link has a bandwidth of 1000Mbps and a unit cost of 1 yuan / Mbps. The link is jointly built by two network operators, with each operator contributing 50% of the cost. This means that the revenue generated by the link is ultimately shared equally by the two network providers.

[0134] Finally, the network topology for resource allocation and data transmission can be represented by a directed weighted graph. express. Figure 2 It is a directed weighted graph of the network topology. Figure 2 As shown, Is the collection of all nodes in the network. Including buyer nodes Computing resource provider nodes and communication nodes All feasible links in the network are represented by ε sets. If two nodes There exists an edge (u,v) in , then (u,v)∈ε.

[0135] The original intention of building the computing power network is to meet the scheduling requirements of buyers' tasks as much as possible. Therefore, the goal is defined as the maximum number of task transactions in the computing power network. For the convenience of representation, this invention defines two groups of decision variables: Indicates how much of buyer i’s k-th data task execution requirements are met by computing resource provider j. At the same time, in order to meet the buyer’s data transmission needs, we use When the k-th data task of buyer i is assigned to computing resource provider j (x i,j,k ≠0), corresponding to this set of allocations, the data transmission rate that should be satisfied on each link in the network. The integer programming formula for this problem is expressed as follows:

[0136]

[0137] Constraint (4a) ensures that the number of tasks satisfied by each buyer does not exceed his total number of tasks. Constraints (4b1)-(4b3) ensure that the data rate of the k-th task of buyer i in the network is not less than bw k, where (4b1) indicates that the corresponding data transmission rate must be met when buyer i performs the kth task at computing resource provider j, (4b2) indicates that the inflow and outflow rates of any communication node in the network are equal, and (4b3) indicates that the corresponding data reception rate can be met when computing resource provider j performs buyer i's kth task. Constraints (4c1)-(4c3) indicate that the computing resources allocated by each computing resource provider cannot exceed the total computing resources it owns. Constraint (4d) ensures that the bandwidth allocated to a task on each link cannot be greater than its total bandwidth. Constraints (4e) and (4f) represent the integrity requirements of the decision variables.

[0138] Formula (4) and its constraints show a basic model for task scheduling in a computing network. The result is an allocation plan and a traffic plan, which does not take into account the bids of the participants. To obtain the final winner and the clearing price determination model, the bid and cost constraints must also be met. The relevant expressions are as follows:

[0139]

[0140] in, It represents the unit task price that buyer i pays to the computing network operator when the demand for the k-th data task of buyer i is met by computing resource provider j. P represents the clearing price that the computing network operator gives to buyer i when the demand for the k-th data task is met by computing resource provider j. m represents the final payment to the network provider m, Represents the final allocation result. Constraint (5a) represents the unit task clearing price when buyer i assigns the k-th task to computing resource provider j. Cannot exceed its quotation b i,j,k Constraint (5b) ensures that when computing resource provider j is assigned to the k-th task of buyer i, the clearing price of computing network operator j is Not less than j's asking price a i,j,k (5c) ensures that the payment from the computing network operator to the network provider is not less than the network cost. (5d) means that the total payment from the computing network service provider to the network provider cannot exceed the sum of the difference between the buyer and the computing resource provider's corresponding task clearing price.

[0141] Based on the above analysis, this paper proposes a two-way auction method for computing network task scheduling, which is divided into two phases: allocation and pricing. The first phase, allocation, obtains feasible solutions for resource allocation and network traffic. The second phase, based on these solutions, uses the bids from both buyers and sellers to determine the final winner and the payment price. Figure 3 This is a flow chart of a specific implementation of the double auction method for computing network task scheduling of the present invention. Figure 3As shown, the double auction method for computing network task scheduling of the present invention includes the following steps:

[0142] S301: Obtain computing power network information:

[0143] Obtain information about each participant in the hashing network, including:

[0144] Data task information: the total computing power required for the k-th data task per unit time in, represents a set of K data tasks, They represent the integer computing power requirement, floating-point computing power requirement, and address operation computing power requirement of the k-th data task per unit time; the data transmission bandwidth requirement bw of the k-th data task k .

[0145] Computing resource provider information: different types of computing resources that can be allocated by computing resource provider j in represents the set of P computing resource providers, They are the integer computing power, floating-point computing power, and address operation computing power provided by computing power resource provider j per unit time, and the superscript T represents transposition; the asking price a of computing power resource provider j to buyer i is i,j =(a i,j,1 ,a i,j,2 ,...,a i,j,K ) Τ , a i,j,k represents the unit price that computing resource provider j asks buyer i for the k-th task, Represents a set of N buyers.

[0146] Buyer information: the actual bidding information θ of each buyer i i =(s i ,b i,j ), where s i =(s i,1 ,s i,2 ,...,s i,K ) Τ represents the data task request submitted by buyer i, s i,k represents the maximum number of requests from buyer i for the kth data task k, b i,j =(b i,j,1 ,b i,j,2 ,...,b i,j,K ) Τ represents the unit price paid by buyer i to perform data tasks on computing resource provider j, b i,j,k It represents the unit price offered by buyer i for executing the k-th type of data task on computing resource provider j.

[0147] Hash network topology information: Hash network topology represents the set of communication nodes, ε represents the set of all feasible links in the computing power network, and the bandwidth limit BW of link e is recorded. e , the unit cost of bandwidth on link e is δ e , e∈ε; the proportion of co-construction of each network provider in link e Represents a set of M different network providers.

[0148] S302: Initialize allocation data:

[0149] Initialize the task allocation decision variable x i,j,k =0, network flow decision variable The unit task settlement price that buyer i pays to the computing network operator when the demand for the k-th data task of buyer i is met by computing resource provider j The unit task clearing price of computing network operator j when buyer i's demand for the k-th data task is met by computing resource provider j The network cost of transmitting the k-th data task of buyer i on the network when it is assigned to computing resource provider j The final fee P paid to the network provider m m =0;

[0150] S303: Resource allocation to obtain decision variables:

[0151] In the resource allocation phase, only the resource constraints of computing power providers and network link bandwidth constraints need to be considered, without considering the quotation. Therefore, the present invention solves the following task scheduling integer programming problem:

[0152]

[0153]

[0154] The goal of the above integer programming problem is to maximize the number of task assignments. It can be solved using optimal algorithms such as DP, column generation, and other algorithms. In practical applications, the specific algorithm can be determined according to actual needs.

[0155] S304: Correction of decision variables:

[0156] In step S303, without considering the bids, the maximum allocation of tasks is obtained. Next, the decision variables need to be corrected to eliminate allocations that do not meet the conditions. The specific method is as follows:

[0157] Traverse each task assignment decision variable x i,j,k , determine whether a i,j,k >bi,j,k If yes, then let the task allocation decision variable x i,j,k =0, all corresponding network flow decision variables Otherwise, no action is taken.

[0158] S305: Calculate network cost:

[0159] Traverse each current task allocation decision variable x i,j,k , if x i,j,k =0, no operation is performed, otherwise the network cost of the corresponding task is calculated using the following formula

[0160]

[0161] in, d=(δ 1 ,δ 2 ,…,δ |ε| ), | | means to find the number of individuals in the set.

[0162] S306: Optimize decision variables based on tasks:

[0163] Next, the decision variables are optimized based on the tasks, that is, each type of task is divided and processed separately to obtain the final task allocation decision variables. Figure 4 This is a flowchart of the task-based optimization decision variables in the present invention. Figure 4 As shown, the specific steps of task-based optimization decision variables in the present invention include:

[0164] S401: Initialize the final task allocation decision variables:

[0165] Initialize the final task allocation decision variables

[0166] S402: Set task number k=1.

[0167] S403: Get the task map:

[0168] For the kth task, get the task allocation decision variable x i,j,k =1 for all buyers to construct a buyer node set All corresponding computing resource providers build a seller node set Then the buyer and computing resource providers The task allocation decision variable x between i,j,k As a side-by-side collection Thus we get the task graph of the k-th task

[0169] S404: Divide the subgraph:

[0170] The task graph of the k-th task Divided into three independent subgraphs The division method is:

[0171] From the task graph Filter out computing power resource providers that are connected to more than two buyers, and form a subgraph of these computing power resource providers and connected buyers Then, from the remaining task graph, select buyers who are connected to two or more computing resource providers, and form a subgraph with these buyers and the connected computing resource providers. The remaining one-to-one buyers and computing resource providers form a subgraph

[0172] Figure 5 This is an example diagram of task subgraph division in this embodiment. Figure 5 As shown, the red lines and the nodes they connect form a subgraph The yellow lines and the nodes they connect form a subgraph The blue lines and their associated nodes form a subgraph

[0173] Next, we divide and process different types of tasks independently to make our mechanism more universal. We also take into account the benefits of network providers and ensure that the difference between the clearing prices of buyers and sellers of completed tasks is no less than the network cost.

[0174] S405: Optimize decision variables based on the first task subgraph:

[0175] Figure 6 This is a flowchart of optimizing decision variables based on the first task subgraph in the present invention. Figure 6 As shown, the specific steps of optimizing decision variables based on the first task subgraph in the present invention include:

[0176] S601: Obtain the node tree of computing power resource providers:

[0177] For the seller node set Each computing resource provider j in the task subgraph Get the tree with computing resource provider j as the root node The corresponding edge set is

[0178] S602: Calculate quotation set:

[0179] For the seller node set For each computing resource provider j, when the task allocation decision variable The quotation is calculated using the following formula

[0180]

[0181] All quotes will be received Construct a quotation set of computing resource provider j

[0182] S603: Preliminary pruning:

[0183] Iterate over the quote collection Each quote if This means that the difference between the buyer's bid and the seller's asking price is not enough to cover the network transmission cost, so the tree is deleted. The corresponding edges and buyers in the task allocation decision variables are All corresponding network flow decision variables Then remove the quote Otherwise, no action is taken.

[0184] S604: Set the computing power resource provider serial number α=1.

[0185] S605: Retrieve computing power resource provider:

[0186] From the seller node collection Take out the αth computing power resource provider and record the original serial number of the computing power resource provider as j α .

[0187] S606: Determine whether computing resource provider j α Quote collection If yes, go to step S613, otherwise go to step S607.

[0188] S607: Filter the minimum quote value:

[0189] From computing resource provider j α Quote collection Filter out the minimum quote and record it as where i β Indicates the buyer's serial number corresponding to the minimum bid.

[0190] In the present invention, the method of performing preliminary pruning before screening for the minimum bid can eliminate the influence of extreme values to a certain extent.

[0191] S608: Determine whether the quotation is the minimum value Indicates the preset asking price threshold of the k-th category task. If yes, proceed to step S609; otherwise, proceed to step S611.

[0192] In this embodiment, the buyer's bid threshold The 95th median of the quotations of all computing resource providers to all buyers i for the k-th task, sorted from small to large.

[0193] S609: Pruning operation:

[0194] Traverse the current edge set Each task is assigned a decision variable Determine whether the unit is asking price If not, do nothing, otherwise Prune the task allocation decision variables The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables Go to step S610.

[0195] S610: Winning Buyer Allocation Based on Asking Price Threshold:

[0196] Traverse the current edge set Each task is assigned a decision variable if No action is taken, otherwise the following formula is used to update the unit task liquidation price of buyer i:

[0197]

[0198] Use the following formula to update the unit task liquidation price of computing resource provider j

[0199]

[0200] Go to step S613.

[0201] S611: Pruning operation:

[0202] From the tree Cut out buyer i β And the corresponding edge, let the final task allocation decision variable All corresponding network flow decision variables

[0203] Traverse the current edge set Each task is assigned a decision variable Determine whether the unit is asking price If not, do nothing, otherwise Prune the task allocation decision variables The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables Go to step S612.

[0204] S612: Allocation of winning buyers based on the lowest bid price:

[0205] Traverse the current edge set Each task is assigned a decision variable if No action is taken, otherwise the following formula is used to update the unit task liquidation price of buyer i:

[0206]

[0207] Use the following formula to update computing resource provider j α Unit task liquidation price

[0208]

[0209] Then go to step S613.

[0210] S613: Determine whether If yes, go to step S614, otherwise the optimization ends.

[0211] S614: Let α=α+1, and return to step S605.

[0212] Figure 7 This is an example diagram of optimizing decision variables based on the first task subgraph in this embodiment. Figure 7 As shown in the figure, the number of tasks assigned between the buyer (buyer) and the computing resource provider (seller) is the weight of the edge. If the weight is 1, it is not marked. If it is greater than 1, it is indicated next to the edge. The thickness of the edge in the figure can also reflect the size of the weight. Figure 7 The task subgraph shown Contains two trees and The asking price threshold for the k-th task is In the tree In the example, the quote from computing resource provider 1 minus the network cost is used to get the corresponding quote, and the quote set is obtained. because Directly change the weight x of the corresponding edge 1,1,k Set to 0 and From the Quote Collection Removed. In the processed collection Find the minimum quote because so and Remain unchanged, the winning allocation is obtained, the corresponding buyer is the winner, and the unit task clearing price of computing resource provider 1 is The unit task liquidation prices of the winning buyers are

[0213] In the tree In, collection The minimum value in because so also so Tree The remaining nodes associated with the edges whose weights are not 0 are the winners, and the winning distribution is The unit task liquidation price of computing resource provider 7 is The winning buyer's unit task liquidation price is

[0214] S406: Optimize decision variables based on the second task subgraph:

[0215] Figure 8 This is a flowchart of optimizing decision variables based on the second task subgraph in the present invention. Figure 8 As shown, the specific steps of optimizing the decision variables based on the second task subgraph in the present invention include:

[0216] S801: Get the buyer's node tree:

[0217] For buyer node collection Each buyer i in the task subgraph Get the tree with buyer i as the root node The corresponding edge set is

[0218] S802: Calculate the asking price set:

[0219] For buyer node collection For each buyer i, when the task allocation decision variable The asking price is calculated using the following formula

[0220]

[0221] All asking prices will be Construct the quotation set of buyer i

[0222] S803: Preliminary pruning:

[0223] Iterate over the quote collection Each asking price if This means that the difference between the buyer's bid and the seller's asking price is not enough to cover the network transmission cost, so the tree is deleted. The corresponding edges and buyers in the task allocation decision variables are All corresponding network flow decision variables Then from the quote collection Delete the asking price Otherwise, no action is taken.

[0224] S804: Let buyer serial number γ=1.

[0225] S805: Get the buyer:

[0226] From the buyer node collection Take out the γth buyer and record the original serial number of the buyer as i γ .

[0227] S806: Determine whether buyer i γ Quote collection If yes, go to step S813, otherwise go to step S807.

[0228] S807: Filter the maximum asking price:

[0229] From buyer i γ Quote collection Filter out the maximum asking price and record it as where j β Indicates the sequence number of the computing power resource provider corresponding to the maximum asking price.

[0230] S808: Determine whether the asking price is the maximum Indicates the preset quotation threshold for the k-th category task. If yes, proceed to step S809; otherwise, proceed to step S811.

[0231] The price threshold of the computing power resource provider in this embodiment It is the 95th median of the unit bids of buyer i for executing the k-th type of data task on computing resource provider j, sorted from large to small.

[0232] S809: Pruning operation:

[0233] Traverse the current edge set Each task is assigned a decision variable Determine whether the unit is asking price If not, do nothing, otherwise Prune the task allocation decision variables The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables Go to step S810.

[0234] S810: Winning Buyer Allocation Based on Asking Price Threshold:

[0235] Traverse the current edge set Each task is assigned a decision variable if No action is taken, otherwise the following formula is used to update buyer i γ Unit task liquidation price

[0236]

[0237] Use the following formula to update the unit task liquidation price of computing resource provider j

[0238]

[0239] Go to step S813.

[0240] S811: Pruning operation:

[0241] From the tree Remove computing power resource providers β And the corresponding edge, let the final task allocation decision variable All corresponding network flow decision variables

[0242] Traverse the current edge set Each task is assigned a decision variable Determine whether the unit is asking price If not, do nothing, otherwise Prune the task allocation decision variables The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables Go to step S812.

[0243] S812: Allocation of winning buyers based on maximum asking price:

[0244] Traverse the current edge set Each task is assigned a decision variable if No action is taken, otherwise the following formula is used to update the unit task liquidation price of buyer i:

[0245]

[0246] Use the following formula to update the unit task liquidation price of computing resource provider j

[0247]

[0248] Then go to step S813.

[0249] S813: Determine whether If yes, go to step S814, otherwise the optimization ends.

[0250] S814: Set γ=γ+1 and return to step S805.

[0251] Figure 9 This is an example diagram of optimizing decision variables based on the second task subgraph in this embodiment. Figure 9 The dashed line to the right of the middle arrow indicates a failed allocation (edge weight is 0), and the solid line is a winning allocation. Figure 9 The task subgraph shown Contains two trees and The asking price threshold for the k-th task is In the tree In the example, buyer 4’s bid plus the network cost is used to get the corresponding bid, and the bid set is obtained. because Direct Order and will Remove from quote collection In the collection Find the maximum quote among the remaining elements because so Finally, the edges with weights other than 0 in the remaining tree are the winning allocations. The winning allocation is The buyer unit task liquidation price corresponding to the winning allocation is The unit task liquidation price of the computing power resource provider corresponding to the winning allocation is

[0252] In the tree In the processed set The maximum value is because and no less than The buyer's offer, so the tree The remaining edges with weights other than 0 are all winning allocations, and the winning allocation is The buyer unit task liquidation price corresponding to the winning allocation is The unit task liquidation price of the computing power resource provider corresponding to the winning allocation is

[0253] S407: Optimize decision variables based on the third task subgraph:

[0254] Figure 10 This is a flowchart of optimizing decision variables based on the third task subgraph in the present invention. Figure 10 As shown, the specific steps of optimizing decision variables based on the third task subgraph in the present invention include:

[0255] S1001: Calculate quotation set:

[0256] Traverse the current edge set Each task is assigned a decision variable x i,j,k , use the following formula to calculate the quotation

[0257]

[0258] All quotes will be received Construct a quote collection

[0259] S1002: Buyers and computing resource providers sorting:

[0260] Pair graph Buyers in the bid Sort from small to large to get the buyer set i ω represents the original serial number of the ωth buyer, ω=1,2,…,W,

[0261] Pair graph The computing power resource provider in the buyer's unit price is a i,j,k Sort from large to small to get a set of computing power resource providers j ω Represents the original serial number of the ωth computing resource provider. This is because in the subgraph There is a one-to-one relationship between buyers and sellers, so the number of buyer nodes is the same as the number of seller nodes.

[0262] S1003: Search boundary:

[0263] At the buyer's collection and computing resource providers Search for a minimum boundary ρ such that in Indicates that the buyer ρ There are edge-connected computing resource providers, Indicates the relationship with computing resource provider j ρ There are buyers who are connected by the side.

[0264] S1004: Boundary-based pruning operation:

[0265] Traverse the current edge set Each task is assigned a decision variable x i,j,k , determine whether the unit asking price is met or quote If none of them are satisfied, no action is taken, otherwise Remove the task allocation decision variable x i,j,k The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables

[0266] S1005: Winning Buyer Allocation:

[0267] Traverse the current edge set Each task is assigned a decision variable x i,j,k , if x i,j,k =0, no action is taken, otherwise the following formula is used to update the unit task liquidation price of buyer i

[0268]

[0269] Use the following formula to update the unit task liquidation price of computing resource provider j

[0270]

[0271] Figure 11 This is an example diagram of optimizing decision variables based on the third task subgraph in this embodiment. Figure 11 The dashed line in the figure to the right of the middle arrow indicates a failed allocation (edge weight is 0), and the solid line is the winning allocation. The black dashed box represents the winner boundary, and the red nodes represent the boundary nodes buyer i. ρ and computing resource providers ρ .like Figure 11 As shown, the subgraph The buyer's bid minus the corresponding network cost is used to obtain the processed bid and put it into the bid collection. According to the quotation collection The size relationship of the elements in the , sort the buyers, and get at this time According to the buyer's unit asking price, the computing power resource providers are sorted and obtained. At this time a 3,2,k ≥a 2,8,k ≥a 5,3,k .

[0272] In Example 1, ρ = 2, so the boundary node is buyer node i ρ =5 and seller node j ρ =8, the boundary price of the asking price is The boundary price of the processed quote is The weights of the edges associated with the boundary node and the node on its left are reset to 0 and are represented by dotted lines in the figure, i.e. In the first example there is no winner.

[0273] In Example 2, ρ = 1, and the boundary node is buyer node i ρ =3 and seller node j ρ =2, the boundary price of the asking price is The boundary price of the processed quote is The edge weights associated with the boundary node and the node to its left are reset to 0. The winning distribution is x 5,3,k =3 and x 7,8,k =1, the unit task liquidation price of the computing power resource provider corresponding to the winning allocation is The buyer unit task liquidation price corresponding to the winning allocation is and

[0274] In order to better illustrate the technical effects of the present invention, specific examples are used to experimentally verify the present invention.

[0275] In this example, the computing network consists of eight relay nodes, J sellers, and I buyer deployed in an area measuring 1000 x 1000 square meters. The transmission distance between source and relay nodes is set at 200 to 300 meters, and each source node must connect to the destination node through a relay node. Within the transmission range, a transmission link exists between two nodes. The link is jointly built by three network providers, and the link cost is divided according to the construction ratio. The total bandwidth of each link is randomly distributed between [50, 100] Mbps, and the unit price of each link bandwidth follows a Gaussian distribution.

[0276] Each computing resource provider has computing resources and storage resources available for allocation, and the values of the three types of computing resources of each provider are randomly distributed in [70,100].

[0277] Each buyer has two types of task requirements, and the number of tasks in each type is randomly selected within the range [1, 3]. The first type of task requires 1.2 Mbps bandwidth and a computing resource requirement of (4, 5, 4); the second type of task requires 1.5 Mbps bandwidth and a computing resource requirement of (3, 6, 5). The goal of this invention (Computility_DA) is to maximize the number of transactions completed for each buyer's task. All results are averaged over five runs.

[0278] The comparison algorithm used in the experiment is the same as the present invention (Computility_DA), which consists of an allocation step that is independent of bidding and a winner determination and pricing step. The specific description is as follows:

[0279] Under the OPT algorithm, the buyer's clearing price is the bid, and the seller's clearing price is the asking price. If the difference between the buyer and seller's clearing prices is greater than the network cost, the task is successfully traded. The optimal algorithm doesn't employ a strategy to ensure that both buyers and sellers bid truthfully. Instead, it assumes that both parties bid truthfully, thus achieving an upper limit on the system's task transaction volume.

[0280] The COMSA algorithm is a general "service-oriented" double auction mechanism that addresses the joint problem of incentive design and service provision for edge computing. COMSA solves the joint problem of double auction mechanism design and network resource allocation by explicitly considering spectrum allocation and data routing, thereby providing end-to-end QoS guarantees for edge computing.

[0281] The TASC algorithm is a real-world auction scheme for cooperative communication. TASC only supports one-to-one relationships between buyers and sellers, so constraints need to be added to the bidding-independent allocation steps to ensure that, for the same task, a buyer can only be served by one computing resource provider, and a computing resource provider can only serve one buyer.

[0282] The experimental metrics include the number of successfully traded tasks, computing resource providers' revenue, buyers' utility, network provider's income, and system uptime. In this example, the differences in these metrics under different algorithms were compared by varying the number of buyers, computing resource providers, and network costs.

[0283] In the experiment of changing the number of buyers, the number of buyers varied from 5 to 50, increasing by 5 each time, the number of computing resource providers was fixed at 8, and the unit cost of the link followed a Gaussian distribution with a mean of 0.15 and a variance of 0.017; in the experiment of changing the number of computing resource providers, the number of computing resource providers varied from 1 to 10, increasing by 1 each time, the number of buyers was fixed at 50, and the unit cost of the link followed a Gaussian distribution with a mean of 0.15 and a variance of 0.017; in the experiment of changing the network cost, the mean varied from 0.1 to 0.37, increasing by 0.03 each time, the variance was fixed at 0.017, the number of buyers was fixed at 50, and the number of computing resource providers was fixed at 8.

[0284] Maximizing the number of successful transaction tasks is the technical goal of the present invention, so the final number of successful transaction tasks of the present invention and the comparative method are first compared. Figure 12 This is a comparison chart of the number of successful transaction tasks between the present invention and the comparative method in this embodiment. Figure 12 As shown, under the three sets of experiments, Computility_DA always has more winning pairs than the COMSA algorithm and the TASC algorithm. This is because the mechanism of the present invention not only takes into account the impact of network costs on auction results, but also reduces the impact of extreme bids / asking prices of buyers / sellers. The number of transactions under the COMSA algorithm is not high because the algorithm does not take into account the impact of network costs, so after determining the clearing price, it is also necessary to eliminate the allocations that do not meet the conditions based on the relationship between network costs and bids / asking prices. The results of the TASC algorithm show volatility and low transaction volume. This is because TASC is subject to one-to-one constraints between buyers and sellers, and its applicability is relatively poor in the application scenario of computing power networks with many-to-many relationships between buyers and sellers. The number of transaction tasks under the mechanism of the present invention is lower than that of OPT, which can be regarded as a system loss caused by maintaining authenticity. Figure 12 (a) and Figure 12 In (b), the number of successfully traded tasks under the OPT, Computility_DA, and COMSA mechanisms increases with the number of buyers and computing resource providers, because the increase in the number of tasks and resources will lead to an increase in allocation. Figure 12 In (c), it can be seen that the larger the link unit cost, the greater its impact on the number of completed tasks. This is because the larger the link cost, the fewer cases where the difference between the buyer's bid and the seller's asking price that satisfies the corresponding assignment is not less than the link cost.

[0285] Although the revenue of computing resource providers and the utility of buyers are not the main technical objectives of this invention, it is necessary to study the impact of different allocation algorithms on the revenue of sellers (buyers). Figure 13 This is a comparison chart of the computing power resource providers' benefits for the present invention and the comparative method in this embodiment. Figure 14 This is a comparison chart of buyer utility between the present invention and the comparative method in this embodiment. Figure 13 、 Figure 14 As shown in Figure 2, under the OPT algorithm, the clearing price for the winning seller (buyer) is equal to their asking price (offer), so the seller's (buyer's) profit is always 0. The Computility_DA mechanism yields the highest profit for sellers (buyers) because it has the highest volume of tasks and the clearing price for successfully assigned tasks is always greater than (less than) their asking price (offer).

[0286] In the present invention, the income of network providers is related to their contribution ratio in the network links, and the network providers' quotations do not need to be included in the game process. Figure 15 This is a comparison chart of network provider income for the present invention and the comparative method in this embodiment. Figure 15 As shown in FIG, under the Computility_DA mechanism of the present invention, in different networks, due to the different contribution ratios of network providers in the link, their income is also different. Figure 15 (a) and Figure 15 In (b), the more buyers / sellers there are, the higher the income of the network provider is. This is because when the number of buyers / sellers increases, the tasks running on the network also increase, so more bandwidth is allocated in the network and the income of the network provider increases. Figure 15 In (c), the network provider's income first increases and then decreases. This is because the network provider's income is affected by the number of tasks and link costs. At the beginning, the link cost increases, and the number of completed tasks decreases slightly, so the network provider's income increases. After that, the link cost continues to increase, causing the number of completed tasks in the system to decrease even more, so the network provider's income decreases.

[0287] In order to verify the authenticity of the Computility_DA of the present invention, in this embodiment, buyers 1 and 2 and sellers 1 and 2 are selected to check how their utilities change when their bids or asks are different. Figure 16 This is an example diagram of the authenticity of buyers and sellers in this embodiment of the present invention. Figure 16 The red dot is the real estimated price of the buyer / seller. Figure 16 In (a), if the seller bids truthfully, he or she can obtain the task assignment and the utility is positive. If the seller bids too high, he or she will lose the assigned task and the utility becomes 0. Figure 16 In (b), the seller’s actual bid cannot obtain the task assignment, and the utility is 0. In order to obtain the task, the seller’s bid is too low, and the utility is negative. Figure 16 In (c), the buyer's actual bid can satisfy the task requirement, and the utility is positive. At this time, in order to save costs, the buyer's bid is too low, and the task requirement cannot be satisfied, and the utility is 0. Figure 16 In (d), the buyer's true bid cannot satisfy the task requirement, and the utility is 0. In order to meet the task requirement, the buyer's bid is higher than the true bid, and the utility is negative. In summary, in the present invention Computility_DA, no buyer (or seller) can improve their utility by making an inauthentic bid (or ask price).

[0288] Although the above describes the illustrative specific embodiments of the present invention to facilitate understanding of the present invention by those skilled in the art, it should be clear that the present invention is not limited to the scope of the specific embodiments. For those skilled in the art, as long as various changes are within the spirit and scope of the present invention as defined and determined by the appended claims, these changes are obvious, and all inventions and creations using the concepts of the present invention are protected.

Claims

1. A double auction method for computing network task scheduling, characterized in that: The following steps are involved: S1: Obtain information about each participant in the computing network, including: Data task information: the total computing power required for the k-th data task per unit time in, represents a set of K data tasks, They represent the integer computing power requirement, floating-point computing power requirement, and address operation computing power requirement of the k-th data task per unit time; the data transmission bandwidth requirement bw of the k-th data task k ; Computing resource provider information: different types of computing resources that can be allocated by computing resource provider j in represents the set of P computing resource providers, They are the integer computing power, floating-point computing power, and address operation computing power provided by computing power resource provider j per unit time, and the superscript T represents transposition; the asking price a of computing power resource provider j to buyer i i,j =(a i,j,1 ,a i,j,2 ,...,a i,j,K ) Τ , a i,j,k represents the unit price that computing resource provider j asks buyer i for the k-th task, represents a set of N buyers; Buyer information: buyer i’s real bidding information θ i =(s i ,b i,j ), where s i =(s i,1 ,s i,2 ,...,s i,K ) Τ represents the data task request submitted by buyer i, s i,k represents the maximum number of requests from buyer i for the kth type of data task, b i,j =(b i,j,1 ,b i,j,2 ,...,b i,j,K ) Τ represents the unit price paid by buyer i to perform data tasks on computing resource provider j, b i,j,k represents the unit price offered by buyer i for executing the k-th data task on computing resource provider j; Hash network topology information: Hash network topology represents the set of communication nodes, ε represents the set of all feasible links in the computing power network, and the bandwidth limit BW of link e is recorded. e , the unit cost of bandwidth on link e δ e , e∈ε; the proportion of co-construction of each network provider in link e represents a set of M different network providers; S2: Initialize task allocation decision variable x i,j,k =0, network flow decision variable The unit task settlement price that buyer i pays to the computing network operator when the demand for the k-th data task of buyer i is met by computing resource provider j The unit task liquidation price of computing network operator j when buyer i's demand for the k-th data task is met by computing resource provider j The network cost of transmitting a unit task on the network when the k-th data task of buyer i is assigned to computing resource provider j The final fee P paid to the network provider m m =0; S3: Solve the following task allocation integer programming problem and obtain the task allocation decision variable x i,j,k and network flow decision variables S4: Traverse each task assignment decision variable x i,j,k , determine whether a i,j,k >b i,j,k If yes, then let the task allocation decision variable x i,j,k =0, all corresponding network flow decision variables Otherwise, no action will be taken; S5: Traverse each current task allocation decision variable x i,j,k , if x i,j,k =0, no operation is performed, otherwise the network cost of the corresponding task is calculated using the following formula in, d=(δ 1 ,δ 2 ,…,δ |ε| ),|| means to find the number of individuals in the set; S6: Optimize decision variables based on tasks. The specific method is as follows: S6.1: Initialize the final task allocation decision variables S6.2: Set task number k = 1; S6.3: For the k-th task, obtain the task assignment decision variable x i,j,k =1 for all buyers to construct a buyer node set All corresponding computing resource providers build a seller node set Then the buyer and computing resource providers The task allocation decision variable x between i,j,k As a side-by-side collection Thus we get the task graph of the k-th task S6.4: The task graph of the k-th task Divided into three independent subgraphs The division method is: From the task graph Filter out computing power resource providers that are connected to more than two buyers, and form a subgraph of these computing power resource providers and connected buyers Then, from the remaining task graph, we filter out buyers who are connected to two or more computing resource providers, and form a subgraph with these buyers and the connected computing resource providers. The remaining one-to-one buyers and computing resource providers form a subgraph S6.5: Optimize the decision variables based on the first task subgraph. The specific method is as follows: S6.5.1: For the seller node set Each computing resource provider j in the task subgraph Get the tree with computing resource provider j as the root node The corresponding edge set is S6.5.2: For the seller node set For each computing resource provider j, when the task allocation decision variable The quotation is calculated using the following formula All quotes will be received Construct a quotation set of computing resource provider j S6.5.3: Iterate over a Quote Collection Each quote if Delete the tree The corresponding edges and buyers in the task allocation decision variables are All corresponding network flow decision variables Then remove the quote Otherwise, no action will be taken; S6.5.4: Set the computing resource provider number α to 1; S6.5.5: Aggregate from seller nodes Take out the αth computing power resource provider and record the original serial number of the computing power resource provider as j α ; S6.5.6: Determine whether computing resource provider j α Quote collection If yes, go to step S6.5.13, otherwise go to step S6.5.7; S6.5.7: From computing resource providers α Quote collection Filter out the minimum quote and record it as where i β Indicates the buyer's serial number corresponding to the lowest bid; S6.5.8: Determine whether the quotation is the minimum value Indicates the preset asking price threshold for the k-th task. If yes, proceed to step S6.5.9; otherwise, proceed to step S6.5.

11. S6.5.9: Traverse the current edge set Each task is assigned a decision variable Determine whether the unit is asking price If not, do nothing, otherwise Prune the task allocation decision variables The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables Go to step S6.5.10; S6.5.10: Traverse the current edge set Each task is assigned a decision variable if No action is taken, otherwise the following formula is used to update the unit task liquidation price of buyer i: Use the following formula to update the unit task liquidation price of computing resource provider j Then proceed to step S6.5.13; S6.5.11: From the tree Cut out buyer i β And the corresponding edge, let the final task allocation decision variable All corresponding network flow decision variables Traverse the current edge set Each task is assigned a decision variable Determine whether the unit is asking price If not, do nothing, otherwise Prune the task allocation decision variables The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables Go to step S6.5.12; S6.5.12: Traverse the current edge set Each task is assigned a decision variable if No action is taken, otherwise the following formula is used to update the unit task liquidation price of buyer i: Use the following formula to update the unit task liquidation price of computing resource provider j Then proceed to step S6.5.13; S6.5.13: Determine whether If yes, proceed to step S6.5.14, otherwise the optimization ends; S6.5.14: Set α = α + 1, and return to step S6.6.5; S6.6: Optimize the decision variables based on the second task subgraph. The specific method is as follows: S6.6.1: For buyer node sets Each buyer i in the task subgraph Get the tree with buyer i as the root node The corresponding edge set is S6.6.2: For buyer node sets For each buyer i, when the task allocation decision variable The asking price is calculated using the following formula All asking prices will be Construct the quotation set of buyer i S6.6.3: Iterate over a Quote Collection Each asking price if Then delete the tree The corresponding edges and buyers in the task allocation decision variables are All corresponding network flow decision variables Then from the quote collection Delete the asking price Otherwise, no action will be taken; S6.6.4: Let buyer number γ = 1; S6.6.5: Aggregate from buyer nodes Take out the γth buyer and record the original serial number of the buyer as i γ ; S6.6.6: Determine whether buyer i γ Quote collection If yes, go to step S6.6.13, otherwise go to step S6.6.7; S6.6.7: From buyer γ Quote collection Filter out the maximum asking price and record it as where j β Indicates the serial number of the computing power resource provider corresponding to the maximum asking price; S6.6.8: Determine whether the asking price is the maximum Indicates the preset bid threshold for the k-th task. If yes, proceed to step S6.6.9; otherwise, proceed to step S6.6.

11. S6.6.9: Traverse the current edge set Each task is assigned a decision variable Determine whether the unit is asking price If not, do nothing, otherwise Prune the task allocation decision variables The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables Go to step S6.6.10; S6.6.10: Traverse the current edge set Each task is assigned a decision variable if No action is taken, otherwise the following formula is used to update buyer i γ Unit task liquidation price Use the following formula to update the unit task liquidation price of computing resource provider j Go to step S6.6.13; S6.6.11: From tree Remove computing power resource providers β And the corresponding edge, let the final task allocation decision variable All corresponding network flow decision variables Traverse the current edge set Each task is assigned a decision variable Determine whether the unit is asking price If not, do nothing, otherwise Prune the task allocation decision variables The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables Go to step S6.6.12; S6.6.12: Traverse the current edge set Each task is assigned a decision variable if No action is taken, otherwise the following formula is used to update the unit task liquidation price of buyer i: Use the following formula to update the unit task liquidation price of computing resource provider j Then proceed to step S6.6.13; S6.6.13: Determine whether If yes, proceed to step S6.6.14, otherwise the optimization ends; S6.6.14: Set γ = γ + 1 and return to step S6.6.5; S6.7: Optimize the decision variables based on the third task subgraph. The specific method is as follows: S6.7.1: Traverse the current edge set Each task is assigned a decision variable x i,j,k , use the following formula to calculate the quotation All quotes will be received Construct a quote collection S6.7.2: Pair subgraphs Buyers in the bid Sort from small to large to get the buyer set i ω represents the original serial number of the ωth buyer, ω=1,2,…,W, Pair graph The computing power resource provider in the buyer's unit price is a i,j,k Sort from large to small to get a set of computing power resource providers j ω Indicates the original serial number of the ωth computing resource provider; S6.7.3: At the buyer's assembly and computing resource providers Search for a minimum boundary ρ such that where j iρ Indicates that the buyer ρ There are edge-connected computing resource providers, Indicates the relationship with computing resource provider j ρ There are buyers connected by edges; S6.7.4: Traverse the current edge set Each task is assigned a decision variable x i,j,k , determine whether the unit asking price is met or quote If none of them are satisfied, no action is taken, otherwise Remove the task allocation decision variable x i,j,k The corresponding edge and buyer, let the final task allocation decision variable All corresponding network flow decision variables S6.7.5: Traverse the current edge set Each task is assigned a decision variable x i,j,k , if x i,j,k =0, no action is taken, otherwise the following formula is used to update the unit task liquidation price of buyer i Use the following formula to update the unit task liquidation price of computing resource provider j 2. The double auction method for computing network task scheduling according to claim 1 is characterized in that: The buyer's bid threshold in step S6.5.8 The 95th median of the quotations of all computing resource providers to all buyers i for the k-th task, sorted from small to large.

3. The double auction method for computing network task scheduling according to claim 1 is characterized in that: The price threshold of the computing resource provider in step S6.6.8 It is the 95th median of the unit bids of buyer i for executing the k-th type of data task on computing resource provider j, sorted from large to small.