CN117032962A - Distribution method and device of computing power resources, storage medium and electronic equipment - Google Patents

Distribution method and device of computing power resources, storage medium and electronic equipment Download PDF

Info

Publication number
CN117032962A
CN117032962A CN202310987929.7A CN202310987929A CN117032962A CN 117032962 A CN117032962 A CN 117032962A CN 202310987929 A CN202310987929 A CN 202310987929A CN 117032962 A CN117032962 A CN 117032962A
Authority
CN
China
Prior art keywords
computing power
target
task
current
computing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310987929.7A
Other languages
Chinese (zh)
Inventor
卢凌飞
刘瀛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Technology Innovation Center
China Telecom Corp Ltd
Original Assignee
China Telecom Technology Innovation Center
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Technology Innovation Center, China Telecom Corp Ltd filed Critical China Telecom Technology Innovation Center
Priority to CN202310987929.7A priority Critical patent/CN117032962A/en
Publication of CN117032962A publication Critical patent/CN117032962A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • H04L47/762Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The disclosure relates to a method and a device for distributing computing power resources, a storage medium and electronic equipment, and relates to the technical field of computers, wherein the method comprises the following steps: receiving an execution solution of a computing power task sent by a computing power demand party, and decomposing the computing power task execution request to obtain a subtask to be executed included in the computing power task execution request; generating a unique task identifier corresponding to the subtask to be executed according to the target computing power resource type and the target computing power demand capability required by the subtask to be executed; calculating a first identification distance between the unique task identification and a first computing power resource identification of a current computing power node provided by a computing power provider; and according to the first identification distance, a target task execution node is allocated for the subtasks to be executed from the current computing node, and the subtasks to be executed are executed in the target task execution node, so that a subtask execution result is obtained. The present disclosure improves resource allocation efficiency.

Description

Distribution method and device of computing power resources, storage medium and electronic equipment
Technical Field
The embodiment of the disclosure relates to the technical field of computers, in particular to a computing power resource allocation method, a computing power resource allocation device, a computer readable storage medium and electronic equipment.
Background
With the development of network technology, cloud computing is increasingly applied to daily life. Meanwhile, in a cloud computing scene, a computing power network, computing power resource allocation and the like which are involved in the unavoidable needs. The resources of each node of the computing power network mainly comprise computing power resources and storage resources; meanwhile, after the computational resource is abstracted, a mapping relation is formed between the computational resource and the resource identifier, so that the purpose of ensuring the uniqueness of the identifier is achieved; furthermore, in the actual application process, the computing power resource information can be forwarded by combining with the network resource through the network control surface, and the distribution and the scheduling of the computing power resource are realized through the scheduling center.
In the actual application process, as different computing tasks have different computing types, the computing capacity required by each computing task is also different; based on this, different computing resources need to be allocated to different computing tasks. However, in the current computing power resource allocation scheme, corresponding task execution nodes cannot be allocated to computing tasks through uniform task identifiers and resource identifiers, so that the computing power resource allocation efficiency is low.
It should be noted that the information of the present invention in the above background section is only for enhancing understanding of the background of the present disclosure, and thus may include information that does not form the prior art that is already known to those of ordinary skill in the art.
Disclosure of Invention
An object of the present disclosure is to provide a method for allocating computing resources, an apparatus for allocating computing resources, a computer-readable storage medium, and an electronic device, thereby overcoming, at least to some extent, the problem of low efficiency of allocating computing resources due to limitations and drawbacks of the related art.
According to one aspect of the present disclosure, there is provided a method for allocating computing power resources configured in a heterogeneous computing power system, the method for allocating computing power resources including:
receiving an execution solution of a computing power task sent by a computing power demand party, and decomposing the computing power task execution request to obtain a subtask to be executed included in the computing power task execution request;
generating a unique task identifier corresponding to the subtask to be executed according to the target computing power resource type and the target computing power demand capability required by the subtask to be executed;
calculating a first identification distance between the unique task identification and a first computing power resource identification of a current computing power node provided by a computing power provider;
And according to the first identification distance, a target task execution node is allocated for the subtasks to be executed from the current computing node, and the subtasks to be executed are executed in the target task execution node, so that a subtask execution result is obtained.
In an exemplary embodiment of the present disclosure, generating a unique task identifier corresponding to the subtask to be performed according to a target computing power resource type and a target computing power demand capability required for performing the subtask to be performed includes:
acquiring a first IPv6 address included in the computing power task execution request, and determining a target computing power resource type and a target computing power demand capability required by executing the subtask to be executed according to a computing power task data packet included in the computing power task execution request;
and generating a unique task identifier corresponding to the subtask to be executed according to the first IPv6 address, the target computing power resource type, the target computing power demand capability and the task code of the subtask to be executed.
In one exemplary embodiment of the present disclosure, calculating a first identification distance between the unique task identification and a first computing force resource identification of a current computing force node provided by a computing force provider comprises:
Calculating a first computing power resource identifier of a current computing power node provided by the computing power supplier;
according to the IPv6 address distance between the second IPv6 address in the first computing power resource identifier and the first IPv6 address in the unique task identifier;
and acquiring a target computing efficiency score of the current computing node from the first computing resource identifier, and acquiring a first identifier distance between the unique task identifier and the first computing resource identifier according to the target computing efficiency score and the IPv6 address distance.
In one exemplary embodiment of the present disclosure, calculating a first computing force resource identification of a current computing force node provided by the computing force provider includes:
receiving a second IPv6 address sent by a computing power supplier, a current computing power resource type of a current computing power node provided by the computing power supplier, current computing power supply capacity and a current chip code corresponding to the current computing power node;
and obtaining a target computing efficiency score of the current computing node according to the current chip code, and generating a first computing resource identifier of the current computing node according to the second IPv6 address, the current computing resource type, the current computing power supply capability, the current chip code and the target computing efficiency score.
In one exemplary embodiment of the present disclosure, according to an IPv6 address distance between the second IPv6 address in the first computing power resource identifier and the first IPv6 address in the unique task identifier, the method includes:
acquiring a current computing power resource type and a current computing power supply capability from the first computing power resource identifier, and acquiring a target computing power resource type and a target computing power demand capability from the unique task identifier;
when judging that the current computing power resource type is consistent with the target computing power resource type and the current computing power supply capacity is more than or equal to the target computing power demand capacity, judging whether a second IPv6 address in the first computing power resource identifier and a first IPv6 address in the unique task identifier are in the same range area or not;
and determining the IPv6 address distance between the second IPv6 address and the first IPv6 address according to whether the second IPv6 address and the first IPv6 address are in the same range area or not.
In an exemplary embodiment of the present disclosure, determining an IPv6 address distance between the second IPv6 address and the first IPv6 address according to whether the second IPv6 address and the first IPv6 address are in the same range area includes:
If the second IPv6 address and the first IPv6 address are in the same range area, determining that the IPv6 address distance between the second IPv6 address and the first IPv6 address is a preset distance;
if the second IPv6 address and the first IPv6 address are in different range areas, calculating the IPv6 address distance between the second IPv6 address and the first IPv6 address according to the total address length of the second IPv6 address and the shared prefix length between the second IPv6 address and the first IPv6 address.
In an exemplary embodiment of the present disclosure, obtaining a first identification distance between the unique task identification and a first computing power resource identification according to the target computing efficiency score and an IPv6 address distance includes:
normalizing the target calculation efficiency score, and calculating a first ratio between the IPv6 address distance and the normalized target calculation efficiency score;
and obtaining a first identification distance between the unique task identification and the first computing power resource identification according to the first ratio.
In an exemplary embodiment of the present disclosure, according to the first identification distance, allocating, from the current computing node, a target task execution node for the subtasks to be executed, includes:
And sorting the current computing power nodes based on the first identification distance, and selecting the current computing power node with the minimum first identification distance from the current computing power nodes based on the sorting result as the target task execution node of the subtasks to be executed.
In an exemplary embodiment of the present disclosure, the method for allocating computing power resources further includes:
acquiring a second IPv6 address of the target task execution node, a current computing power resource type, a current computing power supply capability and a current chip code corresponding to the target task execution node, and acquiring a task identifier of a subtask to be executed by the target task execution node and a current task ending time of the target task execution node after the subtask to be executed is executed;
acquiring the current task starting time of the target task execution node for starting to execute the subtask to be executed, and determining the current task execution time of the subtask to be executed according to the current task starting time and the current task ending time;
calculating a target computing efficiency score of the target task execution node according to the current task execution time and the expected task execution time, and generating a second computing power resource identifier of the target task execution node according to the second IPv6 address, the current computing power resource type, the current computing power supply capability, the current chip code, the task identifier, the current task ending time and the target computing efficiency score;
And updating the first computing power resource identifier of the current computing power node corresponding to the target task execution node according to the second computing power resource identifier.
In an exemplary embodiment of the present disclosure, the method for allocating computing power resources further includes:
according to the target computing power resource type and the target computing power demand capability of the subtasks to be executed, matching historical executed tasks which have the same computing power resource type and the same computing power demand capability with the target computing power resource type and the target computing power demand capability from a preset database;
acquiring the historical task starting time and the historical task ending time of the historical executed task, and calculating the historical task execution time according to the historical task starting time and the historical task ending time;
and calculating the expected task execution time according to the historical task execution time.
In an exemplary embodiment of the present disclosure, calculating a target calculation efficiency score of the target task execution node according to the current task execution duration and the desired task execution duration includes:
calculating a current calculation efficiency score of the target task execution node according to the current task duration and the expected task execution duration, and configuring a first weight value for the current calculation efficiency score;
Acquiring a historical calculation efficiency score of the target task execution node, and calculating a second weight value of the historical calculation efficiency score according to the first weight value;
and calculating the target calculation efficiency score of the target task execution node according to the first weight value, the current calculation efficiency score, the second weight value and the historical calculation efficiency score.
In an exemplary embodiment of the present disclosure, the method for allocating computing power resources further includes:
receiving an algorithm force tracing request sent by an algorithm force demand party, and initially verifying the algorithm force tracing request in response to the algorithm force tracing request;
when the computing power tracing request is determined to pass the preliminary verification, acquiring a storage list corresponding to a second resource identifier from a computing power supplier;
and finally verifying the computing power tracing request according to the storage list, and determining that the computing power tracing request passes the final verification when the task code is determined to exist in the storage list.
According to one aspect of the present disclosure, there is provided an apparatus for allocating computing resources configured in a heterogeneous computing system, the apparatus for allocating computing resources including:
the task execution request decomposition module is used for receiving the calculation force task execution request sent by the calculation force demand party, decomposing the calculation force task execution request and obtaining a subtask to be executed included in the calculation force task execution request;
The unique task identifier generation module is used for generating a unique task identifier corresponding to the subtask to be executed according to the target computing power resource type and the target computing power demand capability required by the subtask to be executed;
a first identifier distance calculation module, configured to calculate a first identifier distance between the unique task identifier and a first computing power resource identifier of a current computing power node provided by a computing power provider;
and the computing power resource allocation module is used for allocating a target task execution node for the subtasks to be executed from the current computing power node according to the first identification distance, and executing the subtasks to be executed in the target task execution node to obtain a subtask execution result.
According to one aspect of the present disclosure, there is provided a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the method of allocating computational resources of any one of the above.
According to one aspect of the present disclosure, there is provided an electronic device including:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the method of computing power resource allocation of any one of the above via execution of the executable instructions.
According to the method for distributing the computational power resources, on one hand, computational power task execution requests sent by computational power demand parties are received and decomposed to obtain sub-tasks to be executed, wherein the sub-tasks are included in the computational power task execution requests; then generating a unique task identifier corresponding to the subtask to be executed according to the target computing power resource type and the target computing power demand capability required by the subtask to be executed; calculating a first identification distance between the unique task identifications and a first computing power resource identification of the current computing power node provided by the computing power supplier; finally, according to the first identification distance, a target task execution node is allocated for the subtask to be executed from the current computing node, the subtask to be executed is executed in the target task execution node, and a subtask execution result is obtained, and as the target task execution node can be allocated for the subtask to be executed according to the first identification distance, the problem that the computing resource allocation efficiency is lower because the corresponding task execution node cannot be allocated for the computing task through uniform task identification and resource identification in the prior art is solved; on the other hand, the problem that in the prior art, corresponding task execution nodes cannot be distributed for the calculation task through uniform task identification and resource identification, so that the accuracy of the distributed target task execution nodes is low can be solved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure. It will be apparent to those of ordinary skill in the art that the drawings in the following description are merely examples of the disclosure and that other drawings may be derived from them without undue effort.
Fig. 1 schematically illustrates a flow chart of a method of allocation of computing resources according to an example embodiment of the present disclosure.
Fig. 2 schematically illustrates a block diagram of a computing resource allocation system according to an example embodiment of the present disclosure.
Fig. 3 schematically illustrates a structural example diagram of a heterogeneous computing force system according to an example embodiment of the present disclosure.
Fig. 4 schematically illustrates an exemplary diagram of the structure of a resource scheduling center according to an exemplary embodiment of the present disclosure.
Fig. 5 schematically illustrates a specific structural example diagram of a unique task identity according to an exemplary embodiment of the present disclosure.
Fig. 6 schematically illustrates a method flow diagram for calculating a first identification distance between the unique task identification and a first computational power resource identification of a current computational power node provided by a computational power provider, according to an example embodiment of the present disclosure.
Fig. 7 schematically illustrates a specific structural example diagram of a first computing resource identifier according to an exemplary embodiment of the present disclosure.
Fig. 8 schematically illustrates a flowchart of a method of generating a second computing resource identification according to an example embodiment of the present disclosure.
Fig. 9 schematically illustrates a specific structural example diagram of a second computing resource identifier according to an exemplary embodiment of the present disclosure.
Fig. 10 schematically illustrates a flowchart of a method for tracing a computing power resource through a second computing power resource identification according to an example embodiment of the present disclosure.
Fig. 11 schematically illustrates a block diagram of an apparatus for allocation of computing resources according to an example embodiment of the present disclosure.
Fig. 12 schematically illustrates an electronic device for implementing the above-described computing power resource allocation method according to an exemplary embodiment of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments may be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the present disclosure. One skilled in the relevant art will recognize, however, that the aspects of the disclosure may be practiced without one or more of the specific details, or with other methods, components, devices, steps, etc. In other instances, well-known technical solutions have not been shown or described in detail to avoid obscuring aspects of the present disclosure.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus a repetitive description thereof will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software or in one or more hardware modules or integrated circuits or in different networks and/or processor devices and/or microcontroller devices.
Different computing tasks have different computing types; thus, the computational power, security, etc. required for different computational tasks are all different; based on this, heterogeneous computing forces have developed; among them, the heterogeneous computation power may include a computation chip such as a CPU (Central Processing Unit ), GPU (Graphics Processing Unit, graphics processor), DPU (Data Processing Unit, central processing unit distributed processing unit), FPGA (Field Programmable Gate Array ) and the like, a dedicated hardware computation chip and the like; currently, heterogeneous computing power does not have a unified identification system, so that how to manage and arrange heterogeneous computing power, namely unified identification, circulation and tracing in a computing power network, is a technical key point.
Meanwhile, most of internet requests are carried on TCP (Transmission Control Protocol )/IP (Internet Protocol, internet protocol), and quintuple including information such as IP address is used as a network forwarding mechanism to realize forwarding and routing of resources. The IPv6 is the next generation IP protocol for replacing IPv4, is different from IPv4, has 128 bit length in IPv6 binary system, has the address structure consistent with the space structure and is irrelevant to routing; in the present scenario facing the computing power network age, how to combine the computing power identification and the service identification to further realize the dispatch forwarding and routing of the computing power resource is also a technical key point.
Based on this, in this exemplary embodiment, a method for allocating computing power resources is provided first, where the method may operate on a terminal device, a server cluster, or a cloud server where a heterogeneous computing power system is located; of course, those skilled in the art may also operate the methods of the present disclosure on other platforms as desired, which is not particularly limited in the present exemplary embodiment. Specifically, referring to fig. 1, the method for allocating computing power resources may include the following steps:
s110, receiving an execution solution of a power calculation task sent by a power calculation demand party, and decomposing the execution request of the power calculation task to obtain a subtask to be executed, wherein the subtask is included in the execution request of the power calculation task;
S120, generating a unique task identifier corresponding to the subtask to be executed according to the target computing power resource type and the target computing power demand capability required by the subtask to be executed;
s130, calculating a first identification distance between the unique task identifications and a first computing power resource identification of a current computing power node provided by a computing power supplier;
and S140, distributing a target task execution node for the subtasks to be executed from the current computing node according to the first identification distance, and executing the subtasks to be executed in the target task execution node to obtain a subtask execution result.
In the above method for allocating the computing power resources, on one hand, the computing power task execution request sent by the computing power demand party is received and decomposed to obtain the subtasks to be executed included in the computing power task execution request; then generating a unique task identifier corresponding to the subtask to be executed according to the target computing power resource type and the target computing power demand capability required by the subtask to be executed; calculating a first identification distance between the unique task identifications and a first computing power resource identification of the current computing power node provided by the computing power supplier; finally, according to the first identification distance, a target task execution node is allocated for the subtask to be executed from the current computing node, the subtask to be executed is executed in the target task execution node, and a subtask execution result is obtained, and as the target task execution node can be allocated for the subtask to be executed according to the first identification distance, the problem that the computing resource allocation efficiency is lower because the corresponding task execution node cannot be allocated for the computing task through uniform task identification and resource identification in the prior art is solved; on the other hand, the problem that in the prior art, corresponding task execution nodes cannot be distributed for the calculation task through uniform task identification and resource identification, so that the accuracy of the distributed target task execution nodes is low can be solved.
The method for allocating computing resources according to the exemplary embodiments of the present disclosure will be further explained and described below with reference to the accompanying drawings.
First, the technical principle of the exemplary embodiments of the present disclosure is explained and explained. Specifically, in order to solve the problem of uniqueness of heterogeneous computing power identifiers at different nodes in a computing power network, the method for distributing computing power resources provided by the exemplary embodiment of the present disclosure further achieves the purposes of facilitating scheduling and forwarding of different types of computing power resource abstractions and accurate tracing in the computing power network, first obtains a first resource identifier by combining an IPv6 address with heterogeneous computing power resource types, breaks a five-tuple forwarding mode in a traditional internet protocol, places a source IPv6 address into forwarding content, and facilitates routing of computing power resource information in the same jurisdiction or across areas; then, based on the first resource identification, the computing power resource allocation scheme obtained by the dispatching center, namely the computing power consumed by the corresponding task, is combined, the efficiency of the computing power service is further scored by the system, and a second resource identification is generated and fed back to the original computing power supply node for storage, so that the following purposes are achieved: on one hand, the problem of accurate tracing of computing power resources in a system is solved: specifically, if the problem exists after the use of the demand party, a tracing request can be provided for the dispatching center, the dispatching center provides the tracing request for the corresponding supply party node according to the original distribution scheme stored in the system, and the supply party verifies whether the tracing request passes or not according to the stored information, so that the tracing safety of the supply party, the dispatching center and the demand party is ensured; on the other hand, the calculation efficiency score given by the system after the use of the demand party can be added into the second resource identifier, the weight attenuation is carried out on each score before the next distribution, the current summarized efficiency score is obtained and fed back to the original node, the next time is combined with the first resource identifier and forwarded to the dispatching center, and the priority distribution is carried out on the higher efficiency score, so that the system provides more humanized service for the demand party, and the practicability is increased.
Next, an explanation and a description will be made of a computing power resource allocation system according to an exemplary embodiment of the present disclosure. Specifically, referring to FIG. 2, the computing resource allocation system may include a computing force provider 210, a heterogeneous computing force system 220, and a computing force requester 230. Wherein the power supplier and the power demander can be in communication connection with the heterogeneous power system through a wired network or a wireless network. In the practical application process, the computing force supplier is used for providing the current computing force node, the heterogeneous computing force system can be used for realizing the computing force resource allocation method recorded in the example embodiment of the disclosure, and the computing force demand party can be used for sending a computing force server request to the heterogeneous computing force system.
In an example embodiment, referring to fig. 3, a heterogeneous computing power system may include a first resource identification generation module 310, a network routing module 320, and a resource scheduling center 330; the first resource identifier generation module, the network routing module and the resource scheduling center are sequentially in communication connection; further, referring to fig. 4, the resource scheduling center may include a resource scheduling module 401, a task identifier generating module 402, and a second resource identifier generating module 403; the resource scheduling module is respectively in communication connection with the task identifier generating module and the second resource identifier generating module.
In an example embodiment, a resource scheduling center receives a task request from a power computing demand party, a task identifier generating module uploads a task to a resource scheduling module according to a task identifier obtained by a subtask, a power computing provider reports idle power computing information of each power computing node at the same time, a first resource identifier is generated at a node through a first resource identifier generating module, the first resource identifier is uploaded to the resource scheduling module through a network routing module, the resource scheduling module performs global power computing resource allocation according to the first resource identifier and a unique task identifier, a power computing service node is scored by combining the efficiency of the service of the demand party, a second resource identifier is obtained through a second resource identifier generating module, and the second resource identifier is fed back to the power computing provider for storage.
The method of allocating the computing resources shown in fig. 1 will be further explained and described below in connection with fig. 2-4. Specific:
in step S110, a calculation task execution request sent by a calculation force demand party is received, and the calculation task execution request is decomposed, so as to obtain a subtask to be executed included in the calculation task execution request.
Specifically, in the actual application process, if the force demand party needs to request the force resource, a force task execution request can be generated according to the first IPv6 address (of the force demand party), the first MAC (Media Access Control Address, the media access control address) and the force task data packet that needs to request the force resource, and the force task execution request is sent to the heterogeneous force system; when the heterogeneous computing system receives the computing task execution request, the computing task execution request is forwarded to a dispatching center, and then a task identification generating module in the dispatching center decomposes the computing task execution request to obtain a subtask to be executed, wherein the subtask is included in the computing task execution request; the subtasks to be executed are to be executed, namely, the subtasks to be executed, which are included in the calculation task data packet.
In step S120, a unique task identifier corresponding to the subtask to be executed is generated according to the target computing power resource type and the target computing power demand capability required for executing the subtask to be executed.
Specifically, according to the target computing power resource type and the target computing power demand capability required by executing the subtask to be executed, the generation of the unique task identifier corresponding to the subtask to be executed can be realized in the following manner: firstly, acquiring a first IPv6 address included in the computing task execution request, and determining a target computing power resource type and a target computing power demand capability required by executing the subtask to be executed according to a computing power task data packet included in the computing power task execution request; and secondly, generating a unique task identifier corresponding to the subtask to be executed according to the first IPv6 address, the target computing power resource type, the target computing power demand capability and the task code of the subtask to be executed. That is, in the actual application process, the task identifier generating module may disassemble the computing task into a plurality of subtasks to be executed, so as to obtain the target computing power resource type and the target computing power demand capability of each subtask to be executed; or, the execution request of the computing power task can be directly generated, and the corresponding target computing power resource type and the target computing power demand capability are selected for each subtask to be executed; then, generating a unique task identifier according to the first IPv6 address, the target computing power resource type, the target computing power demand capability and the task code of the subtask to be executed; a specific structure example diagram of the generated unique task identifier may be referred to as fig. 5.
Specifically, in the unique task identifier shown in fig. 5, the first IPv6 address may include 16 bytes, 128 bits; the target computing power resource type can be represented by a corresponding number, which occupies 1 byte and 8 bits; the target calculation force demand capacity can also be represented by a corresponding number, which also occupies 1 byte and 8 bits; task coding (i.e., subtask labels) also takes 1 byte, 8 bits.
In step S130, a first identification distance between the unique task identification and a first computational power resource identification of a current computational power node provided by a computational power provider is calculated.
Specifically, referring to fig. 6, calculating a first identification distance between the unique task identification and a first computing power resource identification of a current computing power node provided by a computing power provider may include the steps of:
step S610, calculating a first computing power resource identifier of a current computing power node provided by the computing power provider.
Specifically, calculating the first computing power resource identifier of the current computing power node provided by the computing power supplier can be achieved by the following modes: firstly, receiving a second IPv6 address sent by a computing power supplier, a current computing power resource type, a current computing power supply capability and a current chip code corresponding to a current computing power node provided by the computing power supplier; and secondly, obtaining a target computing efficiency score of the current computing node according to the current chip code, and generating a first computing resource identifier of the current computing node according to the second IPv6 address, the current computing resource type, the current computing power supply capability, the current chip code and the target computing efficiency score.
In an example embodiment, the specific generation of the first computing power resource identification may be implemented in a first resource identification generation module. Specifically, a first resource identification generation module is arranged at each current computing node to generate unique identification numbers of corresponding chips (a CPU computing chip, a GPU computing chip, a DPU computing chip, an FPGA computing chip and a special hardware computing chip), and then all computing resources of all hosts of all computing power supply nodes are acquired by taking each chip as a unit; furthermore, the first 128 bits identified by the second IPv6 address can identify the geographical location of each host, and the computing power resources on each host are different, so that currently, three general computing chips of CPU, GPU, DPU types and special computing chips such as AI computing chips are divided according to the hardware computing chips, and the computing resources required for different computing tasks are also different. Thus, the generated first computing force resource identification may be as shown in fig. 7.
Specifically, in the first computing resource identifier shown in fig. 7, the specific configuration thereof is as follows: the second IPv6 address + resource type + computing power + special byte + efficiency score; wherein the second IPv6 address is 16 bytes, and the binary lower 1 byte is 8 bits, so that 128 bits are shared; the current computing power resource type is given a 2-bit hexadecimal system, namely an 8-bit binary system, such as 00000000 corresponds to a CPU, 00000001 corresponds to a GPU, 00000010 corresponds to a DPU and the like, so that the resource types can be respectively numbered, and a total of 16×16=256 types can be represented; the current computing power supply capability can be assigned in a grading manner according to each computing power resource, for example, the CPU resource which is idle currently is counted, the assignment is smaller than 30TFPLOS assignment 1, assignment 2 between 30TFPLOS and 50TFPLOS is correspondingly assigned, and the like; the special byte can be added with the last 5 bits of the chip code for ensuring the uniqueness of the identification, and the corresponding 5-bit ASCII code is converted into 10-bit hexadecimal number, namely 40-bit binary in total of 5 bytes; the target computational efficiency score is given by the second identity generation module, a total of 1 byte 8 bit binary. Particularly, if the chip identification numbers are repeated when the calculation power supply node reports the calculation power supply node to the first resource identification generation module, namely the numbers of the rear 5 bits of the chips with the same calculation power capability appear at the same host computer are the same, the calculation power supply node is fed back to call the numbers of the front 5 bits of the corresponding chips as check codes, and the two identification numbers can be separated, so that errors in resource allocation and resource tracing are prevented.
Further, after the first computing power resource identifier is obtained, the first computing power resource identifier carrying the second IPv6 address can be uploaded to the network routing module; meanwhile, as most of the second IPv6 addresses are dynamically allocated, the network routing module encapsulates the second MAC address of the host, searches the nearest dispatching center according to the second IPv6 address, takes the second IPv6 address as a target IPv6 address, forwards the target IPv6 address to the resource dispatching module, and automatically recognizes passing based on an IPv6 forwarding protocol. In particular, the geographical structural feature of the second IPv6 address may be used to find the scheduling center of the same area from the provider distance, and the nearest scheduling center schedules the computing resources in the area.
Step S620, according to the IPv6 address distance between the second IPv6 address in the first computing power resource identifier and the first IPv6 address in the unique task identifier.
Specifically, according to the IPv6 address distance between the second IPv6 address in the first computing power resource identifier and the first IPv6 address in the unique task identifier, the following manner may be implemented: firstly, acquiring a current computing power resource type and a current computing power supply capability from the first computing power resource identifier, and acquiring a target computing power resource type and a target computing power demand capability from the unique task identifier; secondly, when judging that the current computing power resource type is consistent with the target computing power resource type and the current computing power supply capacity is more than or equal to the target computing power demand capacity, judging whether a second IPv6 address in the first computing power resource identifier and a first IPv6 address in the unique task identifier are in the same range area or not; and then, determining the IPv6 address distance between the second IPv6 address and the first IPv6 address according to whether the second IPv6 address and the first IPv6 address are in the same range area or not. According to whether the second IPv6 address and the first IPv6 address are in the same range area, determining the IPv6 address distance between the second IPv6 address and the first IPv6 address can be achieved in the following manner: if the second IPv6 address and the first IPv6 address are in the same range area, determining that the IPv6 address distance between the second IPv6 address and the first IPv6 address is a preset distance; if the second IPv6 address and the first IPv6 address are in different range areas, calculating the IPv6 address distance between the second IPv6 address and the first IPv6 address according to the total address length of the second IPv6 address and the shared prefix length between the second IPv6 address and the first IPv6 address.
In an example embodiment, in the practical application process, since the IPv6 address of a range area is unique, and the "provider distance" can be obtained through the length of the shared prefix of the two IPv6 addresses (the first IPv6 address and the second IPv6 address), that is, the IPv6 address distance between different hosts can be obtained through the IPv6 address information; the specific determining process of the IPv6 address distance may be shown in the following formula (1):
that is, the communication distance of the IPv6 addresses within the same range is regarded as the same and the smallest, the proportion of the IPv6 addresses which are not within the same range occupied by the shared prefix length can be seen as the distance between the two routing addresses, and the longer the shared prefix length is, the closer the two addresses are, the smaller the corresponding IPv6 address distance is; the shared prefix length described herein refers to a length having the same portion in the first IPv6 address and the second IPv6 address.
It should be further noted that, before calculating the IPv6 address distance, it is first required to determine whether the current computing power resource type is consistent with the target computing power resource type, determine whether the current computing power supply capability is greater than the target computing power demand capability when it is determined that the current computing power resource type is consistent with the target computing power resource type, and calculate the IPv6 address distance when it is determined that the current computing power supply capability is greater than or equal to the target computing power demand capability. By the method, the calculated amount can be reduced, and the purpose of improving the distribution efficiency of the computing power resources is achieved.
Step S630, obtaining a target computing efficiency score of the current computing node from the first computing resource identifier, and obtaining a first identifier distance between the unique task identifier and the first computing resource identifier according to the target computing efficiency score and the IPv6 address distance.
In this example embodiment, first, a target computing efficiency score of a current computing node is obtained from a first computing resource identifier; the target calculation efficiency score is calculated after the current calculation power node executes the subtasks to be executed; secondly, according to the target calculation efficiency score and the IPv6 address distance, a first identification distance between the unique task identification and a first computing power resource identification is obtained; specifically, the method can be realized by the following steps: firstly, normalizing the target calculation efficiency score, and calculating a first ratio between the IPv6 address distance and the normalized target calculation efficiency score; and secondly, obtaining a first identification distance between the unique task identification and the first computing power resource identification according to the first ratio.
In an example embodiment, the specific calculation of the first identification distance is implemented in a resource scheduling module. Specifically, the first computing power resource identifier of each current computing power node and the unique task identifier of the task node are summarized in the resource scheduling module of the resource scheduling center, and a first identifier distance between the two is defined, for example, the distance between the ith first resource identifier and the jth unique task identifier is d ij The method comprises the steps of carrying out a first treatment on the surface of the Wherein d ij The specific calculation formula of (2) can be referred to as follows:
that is, if the current computing power resource type of i=the target computing power resource type of j and the current computing power supply capability of i is equal to or greater than the target computing power demand capability of j, the i-th node is described as being capable of providing computing power service for the j-th subtask, and further the first identification distance can be obtained according to the IPv6 address distance and the target computing efficiency score; otherwise, define d ij = + infinity of the two points, i.e. does not support transmission in a subsequent allocation scheme; it should be noted that, because the system is scored according to the actual completion of the task of the demander, and the score of the target calculation efficiency score ranges from 0 to 100; therefore, in the calculation of the first identification distance, it is necessary to divide the target calculation efficiency score by 100 as normalization processing and then calculate the first identification distance.
In step S140, a target task execution node is allocated to the subtask to be executed from the current computing node according to the first identification distance, and the subtask to be executed is executed in the target task execution node, so as to obtain a subtask execution result.
Specifically, according to the first identification distance, the target task execution node is allocated to the subtask to be executed from the current computing node, which can be realized in the following manner: and sorting the current computing power nodes based on the first identification distance, and selecting the current computing power node with the minimum first identification distance from the current computing power nodes based on the sorting result as the target task execution node of the subtasks to be executed. That is, based on the first identification distance, a global optimal allocation scheme within the scope of the present scheduling center can be obtained, that is, the following optimization problem is solved:
That is, the calculation force of the corresponding calculation ith supply node is supported for all jth demand nodes, and the sum of the corresponding distances is minimum; after the allocation scheme is obtained, the subtasks to be executed can be executed in the target task execution node, the subtask execution result is obtained, and finally the subtask execution result is sent to the task demand party.
The example embodiments of the present disclosure also provide a method for generating the second computing power resource identifier. Specifically, referring to fig. 8, the specific generation process of the second computing power resource identifier may include the following steps:
step 810, acquiring a second IPv6 address of the target task execution node, a current computing power resource type, a current computing power supply capability, and a current chip code corresponding to the target task execution node, and acquiring a task identifier of a subtask to be executed by the target task execution node and a current task end time of the target task execution node after the subtask to be executed is executed;
step S820, obtaining a current task start time when the target task execution node starts to execute the subtask to be executed, and determining a current task execution duration of the subtask to be executed according to the current task start time and the current task end time;
Step S830, calculating a target computing efficiency score of the target task execution node according to the current task execution duration and the expected task execution duration, and generating a second computing power resource identifier of the target task execution node according to the second IPv6 address, the current computing power resource type, the current computing power supply capability, the current chip code, the task identifier, the current task end time, and the target computing efficiency score;
step S840, updating the first computing power resource identifier of the current computing power node corresponding to the target task execution node according to the second computing power resource identifier.
In an exemplary embodiment, the above-described desired task execution duration may be obtained by: firstly, matching historical executed tasks which have the same computing power resource type and the same computing power demand capacity with the target computing power resource type and the target computing power demand capacity from a preset database according to the target computing power resource type and the target computing power demand capacity of the subtasks to be executed; secondly, acquiring the historical task starting time and the historical task ending time of the historical executed task, and calculating the historical task execution time according to the historical task starting time and the historical task ending time; and then, calculating the expected task execution duration according to the historical task execution duration.
In an example embodiment, calculating the target calculation efficiency score of the target task execution node according to the current task execution duration and the expected task execution duration may be implemented as follows: firstly, calculating a current calculation efficiency score of the target task execution node according to the current task duration and the expected task execution duration, and configuring a first weight value for the current calculation efficiency score; secondly, obtaining a historical calculation efficiency score of the target task execution node, and calculating a second weight value of the historical calculation efficiency score according to the first weight value; then, calculating a target computational efficiency score of the target task execution node according to the first weight value, the current computational efficiency score, the second weight value and the historical computational efficiency score.
Hereinafter, the steps S810 to S840 will be explained and explained. Specifically, the specific generation process of the second computing power resource identifier is completed in the second resource identifier generation module. Specifically, the resource scheduling module allocates computing resources for each computing task node, and combines the corresponding allocated task information and computing resource information of each first computing identifier to define a second resource identifier for the computing task node, namely a second IPv6 address of the corresponding node, a current computing resource type, a current computing power supply capability (namely the allocated computing power) +special bytes (the last five bits of chip codes) +task identifier number (task codes) +time information (current task ending time) +efficiency score (target computing efficiency score); an exemplary diagram of a specific structure of the second computing resource identifier may be shown with reference to fig. 9.
Further, in the second computing power resource identifier shown in fig. 9, the first four items are given by the ith supply node in the allocation scheme, where the allocation computing power is divided into componentsThe formulation is given except that the corresponding parts are consistent with the contents of the first identification number; the task identification number is given by the j-th demand node; the time information records the time after the calculation of the calculation task is finished, and the time information can be recorded in a CP56time2a time scale format; the target calculation efficiency score is given by the system according to the actual completion condition of the task of the demand party, and after the j-th demand node uses the calculation power service of the i-th supply node, the system carries out scoring evaluation on the j-th demand node, the scoring range is 1-100, and the n-th score of the supply node is recorded as s n
Where t=the actual completion time of the subtask (current task execution duration), t=the estimated completion time of such a task (desired task execution duration); the T can be obtained by calculating the actual completion time of the same type of calculation tasks by using the past 50 supply nodes with the same calculation types and calculation capacities stored in the dispatching center and taking an average value. Further, the weight decays with respect to its number of scoring, i.e. the farther away the scoring duty cycle is, the lower the closer away the scoring duty cycle is, the higher the score s is n The n-th efficiency score is obtained by:
S n =(1-α)S n-1 +αS n
=(1-α) n-1 S 1 +α[(1-α) n-2 S 2 +(1-α) n-3 S 3 +...+(1-α)S n-1 +S 1 ];
wherein, alpha is the weight occupied by defining the present scoring, namely the first weight value, and alpha is more than 0.5; the second weight value is 1-alpha.
The example embodiment of the disclosure also discloses a method flowchart for tracing the computing power resource through the second computing power resource identifier. Specifically, referring to fig. 10, tracing the computing power resource through the second computing power resource identifier may be implemented in the following manner:
step S1010, receiving a power tracing request sent by a power demand side, and performing preliminary verification on the power tracing request in response to the power tracing request;
step S1020, when the preliminary verification of the computing power tracing request is determined to pass, a storage list corresponding to a second resource identifier is acquired from a computing power supplier;
step S1030, performing final verification on the computing power tracing request according to the storage list, and determining that the computing power tracing request passes the final verification when determining that the task code exists in the storage list.
Hereinafter, step S1010 to step S1030 will be explained and explained. Specifically, the IPv6 address of the second resource identification number or the encapsulated MAC address information thereof can be detected through the network routing module and routed to the corresponding node of the supplier for storage, if the power calculation service is problematic in the later period, the power calculation tracing request is proposed by the demand side, preliminary verification is carried out through the dispatching center, the storage list is checked to the original supplier for final verification, and if the verification is passed, the power calculation tracing can be completed, so that the safety of the supplier, the dispatching center and the demand side and the accurate tracing of the power calculation network are ensured; meanwhile, the second resource identifier carries efficiency score information, the efficiency score byte of the first resource identifier part is updated, and when a supply request is submitted to the dispatching center next time, the new allocation purpose is achieved.
So far, the computing power resource allocation method described in the example embodiments of the present disclosure has been fully implemented. As can be seen from the foregoing, the computing power resource allocation method disclosed in the exemplary embodiments of the present disclosure has at least the following advantages:
on one hand, the computing power resource allocation method recorded in the example embodiment of the present disclosure may add information such as an IPv6 address, a computing power resource type, a special byte, such as a chip number, to the first resource identifier based on the characteristic of the current heterogeneous computing power, so as to ensure the uniqueness of the identifier, and have strong mobility, such as address change, so as to achieve automatic update of the resource identifier; simultaneously creatively providing a scoring of the actual completion efficiency of the power calculation service of the demand party by the joining system, generating a second resource identifier by combining with the task allocation scheme, feeding back the second resource identifier to the supplier for storage, and updating efficiency score information of the first resource identifier, thereby providing reference when the allocation scheme is generated next time;
on the other hand, the computing power resource allocation method recorded in the example embodiment of the disclosure can add the IPv6 address into the resource identifier, on one hand, the routing identity authentication is provided by combining the IPv 6-based routing protocol when the resource is forwarded, the traditional internet five-tuple request mode is broken, and on the other hand, the uniqueness of the resource identifier is ensured by the characteristics of the IPv6 address; the feedback of the second resource identification information ensures that when the power network performs power tracing, the verification of the party requiring, the dispatching center and the party supplying is achieved, the accurate tracing is achieved, and the safety of the power network is ensured;
In still another aspect, the computing power resource allocation method described in the exemplary embodiment of the present disclosure may obtain the first resource identifier by combining the IPv6 address with the heterogeneous computing power resource type, and add a special byte, for example, five bits after the chip number, to ensure the uniqueness of the identifier; meanwhile, a five-tuple forwarding mode in the traditional internet protocol is broken, and a source IPv6 address is put into forwarding content, so that the routing of computing resource information in the same jurisdiction or cross-regional is facilitated; the second resource identification is further generated by combining with the calculation power resource allocation scheme obtained by the dispatching center and is fed back to the original calculation power supply node for storage, so that the problem of accurate tracing of calculation power resources in the system is solved, and the tracing safety of three parties of a supply party, the dispatching center and a demand party is ensured;
further, the computing power resource allocation method described in the exemplary embodiments of the present disclosure may add computing power service efficiency to the computing power resource identifier and further affect the computing power allocation method; for example, the efficiency score given by the system after the power calculation service is finished by the demand party can be added into the second resource identifier, the weight value is attenuated for each score before the next distribution, the current summarized efficiency score is obtained and fed back to the original node, the next time is combined with the first resource identifier and forwarded to the dispatching center, and the priority distribution is carried out for the higher efficiency score, so that the system provides more humanized service for the demand party, and the practicability is increased.
The following are device embodiments of the present disclosure that may be used to perform method embodiments of the present disclosure. For details not disclosed in the embodiments of the apparatus of the present disclosure, please refer to the embodiments of the method of the present disclosure.
The example embodiment of the disclosure also discloses a computing power resource distribution device configured in the heterogeneous computing power system. In particular, referring to fig. 11, the computing power resource allocation apparatus may include a task execution request decomposition module 1110, a unique task identification generation module 1120, a first identification distance calculation module 1130, and a computing power resource allocation module 1140. Wherein:
the task execution request decomposition module 1110 may be configured to receive an execution request of an computing power task sent by a computing power demand party, and decompose the computing power task execution request to obtain a subtask to be executed included in the computing power task execution request;
the unique task identifier generating module 1120 may be configured to generate a unique task identifier corresponding to the subtask to be executed according to a target computing power resource type and a target computing power demand capability required for executing the subtask to be executed;
a first identification distance calculation module 1130 operable to calculate a first identification distance between the unique task identification and a first computational power resource identification of a current computational power node provided by a computational power provider;
The computing power resource allocation module 1140 may be configured to allocate a target task execution node for the subtask to be executed from the current computing power node according to the first identification distance, and execute the subtask to be executed in the target task execution node to obtain a subtask execution result.
In an exemplary embodiment of the present disclosure, generating a unique task identifier corresponding to the subtask to be performed according to a target computing power resource type and a target computing power demand capability required for performing the subtask to be performed includes: acquiring a first IPv6 address included in the computing power task execution request, and determining a target computing power resource type and a target computing power demand capability required by executing the subtask to be executed according to a computing power task data packet included in the computing power task execution request; and generating a unique task identifier corresponding to the subtask to be executed according to the first IPv6 address, the target computing power resource type, the target computing power demand capability and the task code of the subtask to be executed.
In one exemplary embodiment of the present disclosure, calculating a first identification distance between the unique task identification and a first computing force resource identification of a current computing force node provided by a computing force provider comprises: calculating a first computing power resource identifier of a current computing power node provided by the computing power supplier, and according to a second IPv6 address in the first computing power resource identifier and an IPv6 address distance between first IPv6 addresses in the unique task identifier; and acquiring a target computing efficiency score of the current computing node from the first computing resource identifier, and acquiring a first identifier distance between the unique task identifier and the first computing resource identifier according to the target computing efficiency score and the IPv6 address distance.
In one exemplary embodiment of the present disclosure, calculating a first computing force resource identification of a current computing force node provided by the computing force provider includes: receiving a second IPv6 address sent by a computing power supplier, a current computing power resource type of a current computing power node provided by the computing power supplier, current computing power supply capacity and a current chip code corresponding to the current computing power node; and obtaining a target computing efficiency score of the current computing node according to the current chip code, and generating a first computing resource identifier of the current computing node according to the second IPv6 address, the current computing resource type, the current computing power supply capability, the current chip code and the target computing efficiency score.
In one exemplary embodiment of the present disclosure, according to an IPv6 address distance between the second IPv6 address in the first computing power resource identifier and the first IPv6 address in the unique task identifier, the method includes: acquiring a current computing power resource type and a current computing power supply capability from the first computing power resource identifier, and acquiring a target computing power resource type and a target computing power demand capability from the unique task identifier; when judging that the current computing power resource type is consistent with the target computing power resource type and the current computing power supply capacity is more than or equal to the target computing power demand capacity, judging whether a second IPv6 address in the first computing power resource identifier and a first IPv6 address in the unique task identifier are in the same range area or not; and determining the IPv6 address distance between the second IPv6 address and the first IPv6 address according to whether the second IPv6 address and the first IPv6 address are in the same range area or not.
In an exemplary embodiment of the present disclosure, determining an IPv6 address distance between the second IPv6 address and the first IPv6 address according to whether the second IPv6 address and the first IPv6 address are in the same range area includes: if the second IPv6 address and the first IPv6 address are in the same range area, determining that the IPv6 address distance between the second IPv6 address and the first IPv6 address is a preset distance; if the second IPv6 address and the first IPv6 address are in different range areas, calculating the IPv6 address distance between the second IPv6 address and the first IPv6 address according to the total address length of the second IPv6 address and the shared prefix length between the second IPv6 address and the first IPv6 address.
In an exemplary embodiment of the present disclosure, obtaining a first identification distance between the unique task identification and a first computing power resource identification according to the target computing efficiency score and an IPv6 address distance includes: normalizing the target calculation efficiency score, and calculating a first ratio between the IPv6 address distance and the normalized target calculation efficiency score; and obtaining a first identification distance between the unique task identification and the first computing power resource identification according to the first ratio.
In an exemplary embodiment of the present disclosure, according to the first identification distance, allocating, from the current computing node, a target task execution node for the subtasks to be executed, includes: and sorting the current computing power nodes based on the first identification distance, and selecting the current computing power node with the minimum first identification distance from the current computing power nodes based on the sorting result as the target task execution node of the subtasks to be executed.
In one exemplary embodiment of the present disclosure, the second computing power resource identification is generated by: acquiring a second IPv6 address of the target task execution node, a current computing power resource type, a current computing power supply capability and a current chip code corresponding to the target task execution node, and acquiring a task identifier of a subtask to be executed by the target task execution node and a current task ending time of the target task execution node after the subtask to be executed is executed; acquiring the current task starting time of the target task execution node for starting to execute the subtask to be executed, and determining the current task execution time of the subtask to be executed according to the current task starting time and the current task ending time; calculating a target computing efficiency score of the target task execution node according to the current task execution time and the expected task execution time, and generating a second computing power resource identifier of the target task execution node according to the second IPv6 address, the current computing power resource type, the current computing power supply capability, the current chip code, the task identifier, the current task ending time and the target computing efficiency score; and updating the first computing power resource identifier of the current computing power node corresponding to the target task execution node according to the second computing power resource identifier.
In an exemplary embodiment of the present disclosure, the desired task execution duration is obtained by: according to the target computing power resource type and the target computing power demand capability of the subtasks to be executed, matching historical executed tasks which have the same computing power resource type and the same computing power demand capability with the target computing power resource type and the target computing power demand capability from a preset database; acquiring the historical task starting time and the historical task ending time of the historical executed task, and calculating the historical task execution time according to the historical task starting time and the historical task ending time; and calculating the expected task execution time according to the historical task execution time.
In an exemplary embodiment of the present disclosure, calculating a target calculation efficiency score of the target task execution node according to the current task execution duration and the desired task execution duration includes: calculating a current calculation efficiency score of the target task execution node according to the current task duration and the expected task execution duration, and configuring a first weight value for the current calculation efficiency score; acquiring a historical calculation efficiency score of the target task execution node, and calculating a second weight value of the historical calculation efficiency score according to the first weight value; and calculating the target calculation efficiency score of the target task execution node according to the first weight value, the current calculation efficiency score, the second weight value and the historical calculation efficiency score.
In an exemplary embodiment of the present disclosure, the tracing of the computing power resource is achieved by: receiving an algorithm force tracing request sent by an algorithm force demand party, and initially verifying the algorithm force tracing request in response to the algorithm force tracing request; when the computing power tracing request is determined to pass the preliminary verification, acquiring a storage list corresponding to a second resource identifier from a computing power supplier; and finally verifying the computing power tracing request according to the storage list, and determining that the computing power tracing request passes the final verification when the task code is determined to exist in the storage list.
The specific details of each module in the foregoing computing power resource allocation apparatus are described in detail in the corresponding computing power resource allocation method, so that details are not repeated herein.
It should be noted that although in the above detailed description several modules or units of a device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit in accordance with embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into a plurality of modules or units to be embodied.
Furthermore, although the steps of the methods in the present disclosure are depicted in a particular order in the drawings, this does not require or imply that the steps must be performed in that particular order or that all illustrated steps be performed in order to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step to perform, and/or one step decomposed into multiple steps to perform, etc.
In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.
Those skilled in the art will appreciate that the various aspects of the present disclosure may be implemented as a system, method, or program product. Accordingly, various aspects of the disclosure may be embodied in the following forms, namely: an entirely hardware embodiment, an entirely software embodiment (including firmware, micro-code, etc.) or an embodiment combining hardware and software aspects may be referred to herein as a "circuit," module "or" system.
An electronic device 1200 according to such an embodiment of the present disclosure is described below with reference to fig. 12. The electronic device 1200 shown in fig. 12 is merely an example, and should not be construed as limiting the functionality and scope of use of the disclosed embodiments.
As shown in fig. 12, the electronic device 1200 is in the form of a general purpose computing device. Components of electronic device 1200 may include, but are not limited to: the at least one processing unit 1210, the at least one memory unit 1220, a bus 1230 connecting the different system components (including the memory unit 1220 and the processing unit 1210), and a display unit 1240.
Wherein the storage unit stores program code that is executable by the processing unit 1210 such that the processing unit 1210 performs steps according to various exemplary embodiments of the present disclosure described in the above-described "exemplary methods" section of the present specification. For example, the processing unit 1210 may perform step S110 shown in fig. 1: receiving an execution solution of a computing power task sent by a computing power demand party, and decomposing the computing power task execution request to obtain a subtask to be executed included in the computing power task execution request; step S120: generating a unique task identifier corresponding to the subtask to be executed according to the target computing power resource type and the target computing power demand capability required by the subtask to be executed; step S130: calculating a first identification distance between the unique task identification and a first computing power resource identification of a current computing power node provided by a computing power provider; step S140: and according to the first identification distance, a target task execution node is allocated for the subtasks to be executed from the current computing node, and the subtasks to be executed are executed in the target task execution node, so that a subtask execution result is obtained.
The storage unit 1220 may include a readable medium in the form of a volatile storage unit, such as a Random Access Memory (RAM) 12201 and/or a cache memory 12202, and may further include a Read Only Memory (ROM) 12203.
Storage unit 1220 may also include a program/utility 12204 having a set (at least one) of program modules 12205, such program modules 12205 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment.
Bus 1230 may be a local bus representing one or more of several types of bus structures including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or using any of a variety of bus architectures.
The electronic device 1200 may also communicate with one or more external devices 1300 (e.g., keyboard, pointing device, bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 1200, and/or any device (e.g., router, modem, etc.) that enables the electronic device 1200 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 1250. Also, the electronic device 1200 may communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the internet through the network adapter 1260. As shown, the network adapter 1260 communicates with other modules of the electronic device 1200 over bus 1230. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with electronic device 1200, including, but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or may be implemented in software in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, including several instructions to cause a computing device (may be a personal computer, a server, a terminal device, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, a computer-readable storage medium having stored thereon a program product capable of implementing the method described above in the present specification is also provided. In some possible implementations, various aspects of the disclosure may also be implemented in the form of a program product comprising program code for causing a terminal device to carry out the steps according to the various exemplary embodiments of the disclosure as described in the "exemplary methods" section of this specification, when the program product is run on the terminal device.
A program product for implementing the above-described method according to an embodiment of the present disclosure may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium would include the following: an electrical connection having one or more wires, a portable disk, a hard disk, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The computer readable signal medium may include a data signal propagated in baseband or as part of a carrier wave with readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., connected via the Internet using an Internet service provider).
Furthermore, the above-described figures are only schematic illustrations of processes included in the method according to the exemplary embodiments of the present disclosure, and are not intended to be limiting. It will be readily appreciated that the processes shown in the above figures do not indicate or limit the temporal order of these processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, for example, among a plurality of modules.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. This application is intended to cover any adaptations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.

Claims (15)

1. A method for allocating computing resources, wherein the method is configured in a heterogeneous computing system, and the method for allocating computing resources comprises:
receiving an execution solution of a computing power task sent by a computing power demand party, and decomposing the computing power task execution request to obtain a subtask to be executed included in the computing power task execution request;
Generating a unique task identifier corresponding to the subtask to be executed according to the target computing power resource type and the target computing power demand capability required by the subtask to be executed;
calculating a first identification distance between the unique task identification and a first computing power resource identification of a current computing power node provided by a computing power provider;
and according to the first identification distance, a target task execution node is allocated for the subtasks to be executed from the current computing node, and the subtasks to be executed are executed in the target task execution node, so that a subtask execution result is obtained.
2. The method of claim 1, wherein generating a unique task identifier corresponding to the subtask to be performed according to a target computing power resource type and a target computing power demand capability required for performing the subtask to be performed, comprises:
acquiring a first IPv6 address included in the computing power task execution request, and determining a target computing power resource type and a target computing power demand capability required by executing the subtask to be executed according to a computing power task data packet included in the computing power task execution request;
And generating a unique task identifier corresponding to the subtask to be executed according to the first IPv6 address, the target computing power resource type, the target computing power demand capability and the task code of the subtask to be executed.
3. The method of claim 1, wherein calculating a first identification distance between the unique task identification and a first power resource identification of a current power node provided by a power provider comprises:
calculating a first computing power resource identifier of a current computing power node provided by the computing power supplier;
according to the IPv6 address distance between the second IPv6 address in the first computing power resource identifier and the first IPv6 address in the unique task identifier;
and acquiring a target computing efficiency score of the current computing node from the first computing resource identifier, and acquiring a first identifier distance between the unique task identifier and the first computing resource identifier according to the target computing efficiency score and the IPv6 address distance.
4. A method of computing power resource allocation according to claim 3, wherein calculating a first computing power resource identification of a current computing power node provided by the computing power provider comprises:
Receiving a second IPv6 address sent by a computing power supplier, a current computing power resource type of a current computing power node provided by the computing power supplier, current computing power supply capacity and a current chip code corresponding to the current computing power node;
and obtaining a target computing efficiency score of the current computing node according to the current chip code, and generating a first computing resource identifier of the current computing node according to the second IPv6 address, the current computing resource type, the current computing power supply capability, the current chip code and the target computing efficiency score.
5. A method of computing power resource allocation according to claim 3, wherein according to the IPv6 address distance between the second IPv6 address in the first computing power resource identifier and the first IPv6 address in the unique task identifier, comprising:
acquiring a current computing power resource type and a current computing power supply capability from the first computing power resource identifier, and acquiring a target computing power resource type and a target computing power demand capability from the unique task identifier;
when judging that the current computing power resource type is consistent with the target computing power resource type and the current computing power supply capacity is more than or equal to the target computing power demand capacity, judging whether a second IPv6 address in the first computing power resource identifier and a first IPv6 address in the unique task identifier are in the same range area or not;
And determining the IPv6 address distance between the second IPv6 address and the first IPv6 address according to whether the second IPv6 address and the first IPv6 address are in the same range area or not.
6. The method of claim 5, wherein determining an IPv6 address distance between the second IPv6 address and the first IPv6 address based on whether the second IPv6 address and the first IPv6 address are in a same range area, comprises:
if the second IPv6 address and the first IPv6 address are in the same range area, determining that the IPv6 address distance between the second IPv6 address and the first IPv6 address is a preset distance;
if the second IPv6 address and the first IPv6 address are in different range areas, calculating the IPv6 address distance between the second IPv6 address and the first IPv6 address according to the total address length of the second IPv6 address and the shared prefix length between the second IPv6 address and the first IPv6 address.
7. The method of claim 3, wherein obtaining a first identification distance between the unique task identification and a first computing power resource identification based on the target computing efficiency score and an IPv6 address distance comprises:
Normalizing the target calculation efficiency score, and calculating a first ratio between the IPv6 address distance and the normalized target calculation efficiency score;
and obtaining a first identification distance between the unique task identification and the first computing power resource identification according to the first ratio.
8. The method for allocating computing power resources according to claim 1, wherein allocating a target task execution node for the subtasks to be executed from the current computing power node according to the first identification distance comprises:
and sorting the current computing power nodes based on the first identification distance, and selecting the current computing power node with the minimum first identification distance from the current computing power nodes based on the sorting result as the target task execution node of the subtasks to be executed.
9. The method of claim 1, further comprising:
acquiring a second IPv6 address of the target task execution node, a current computing power resource type, a current computing power supply capability and a current chip code corresponding to the target task execution node, and acquiring a task identifier of a subtask to be executed by the target task execution node and a current task ending time of the target task execution node after the subtask to be executed is executed;
Acquiring the current task starting time of the target task execution node for starting to execute the subtask to be executed, and determining the current task execution time of the subtask to be executed according to the current task starting time and the current task ending time;
calculating a target computing efficiency score of the target task execution node according to the current task execution time and the expected task execution time, and generating a second computing power resource identifier of the target task execution node according to the second IPv6 address, the current computing power resource type, the current computing power supply capability, the current chip code, the task identifier, the current task ending time and the target computing efficiency score;
and updating the first computing power resource identifier of the current computing power node corresponding to the target task execution node according to the second computing power resource identifier.
10. The method of computing power resource allocation according to claim 9, further comprising:
according to the target computing power resource type and the target computing power demand capability of the subtasks to be executed, matching historical executed tasks which have the same computing power resource type and the same computing power demand capability with the target computing power resource type and the target computing power demand capability from a preset database;
Acquiring the historical task starting time and the historical task ending time of the historical executed task, and calculating the historical task execution time according to the historical task starting time and the historical task ending time;
and calculating the expected task execution time according to the historical task execution time.
11. The method of claim 10, wherein calculating a target computational efficiency score for the target task execution node based on the current task execution duration and a desired task execution duration comprises:
calculating a current calculation efficiency score of the target task execution node according to the current task duration and the expected task execution duration, and configuring a first weight value for the current calculation efficiency score;
acquiring a historical calculation efficiency score of the target task execution node, and calculating a second weight value of the historical calculation efficiency score according to the first weight value;
and calculating the target calculation efficiency score of the target task execution node according to the first weight value, the current calculation efficiency score, the second weight value and the historical calculation efficiency score.
12. The method of claim 1, further comprising:
Receiving an algorithm force tracing request sent by an algorithm force demand party, and initially verifying the algorithm force tracing request in response to the algorithm force tracing request;
when the computing power tracing request is determined to pass the preliminary verification, acquiring a storage list corresponding to a second resource identifier from a computing power supplier;
and finally verifying the computing power tracing request according to the storage list, and determining that the computing power tracing request passes the final verification when the task code is determined to exist in the storage list.
13. An apparatus for allocating computing resources, the apparatus being configured in a heterogeneous computing system, the apparatus comprising:
the task execution request decomposition module is used for receiving the calculation force task execution request sent by the calculation force demand party, decomposing the calculation force task execution request and obtaining a subtask to be executed included in the calculation force task execution request;
the unique task identifier generation module is used for generating a unique task identifier corresponding to the subtask to be executed according to the target computing power resource type and the target computing power demand capability required by the subtask to be executed;
a first identifier distance calculation module, configured to calculate a first identifier distance between the unique task identifier and a first computing power resource identifier of a current computing power node provided by a computing power provider;
And the computing power resource allocation module is used for allocating a target task execution node for the subtasks to be executed from the current computing power node according to the first identification distance, and executing the subtasks to be executed in the target task execution node to obtain a subtask execution result.
14. A computer readable storage medium having stored thereon a computer program, which when executed by a processor implements the method of computing power resource allocation of any of claims 1-12.
15. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the method of computing force resource allocation of any one of claims 1-12 via execution of the executable instructions.
CN202310987929.7A 2023-08-07 2023-08-07 Distribution method and device of computing power resources, storage medium and electronic equipment Pending CN117032962A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310987929.7A CN117032962A (en) 2023-08-07 2023-08-07 Distribution method and device of computing power resources, storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310987929.7A CN117032962A (en) 2023-08-07 2023-08-07 Distribution method and device of computing power resources, storage medium and electronic equipment

Publications (1)

Publication Number Publication Date
CN117032962A true CN117032962A (en) 2023-11-10

Family

ID=88601627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310987929.7A Pending CN117032962A (en) 2023-08-07 2023-08-07 Distribution method and device of computing power resources, storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN117032962A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117331706A (en) * 2023-12-01 2024-01-02 国网江苏省电力有限公司南通供电分公司 Calculation force optimization method and system in electric power data maintenance

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117331706A (en) * 2023-12-01 2024-01-02 国网江苏省电力有限公司南通供电分公司 Calculation force optimization method and system in electric power data maintenance
CN117331706B (en) * 2023-12-01 2024-02-13 国网江苏省电力有限公司南通供电分公司 Calculation force optimization method and system in electric power data maintenance

Similar Documents

Publication Publication Date Title
US20210365199A1 (en) Technologies for coordinating disaggregated accelerator device resources
US10411729B2 (en) Technologies for allocating ephemeral data storage among managed nodes
US20140067452A1 (en) Intelligent work management based on satellite navigation system data and network node data
CN111935752B (en) Gateway access method, device, computer equipment and storage medium
CN107818498B (en) Order allocation calculation method and system, server and storage medium
US10817327B2 (en) Network-accessible volume creation and leasing
CN117032962A (en) Distribution method and device of computing power resources, storage medium and electronic equipment
US20220318071A1 (en) Load balancing method and related device
CN108600344A (en) A kind of network access request dispatching method, device and storage medium
CN115242752B (en) Address allocation method, device, equipment and medium of battery management system
CN115052041B (en) Channel identifier allocation method, device, equipment and storage medium
CN109298937A (en) Document analysis method and the network equipment
CN113361913A (en) Communication service arranging method, device, computer equipment and storage medium
WO2021012795A1 (en) Network node scheduling method and apparatus, electronic device and storage medium
WO2020233364A1 (en) Resource processing platform confirmation method and apparatus, and electronic device and medium
CN113438184B (en) Network card queue management method and device and electronic equipment
CN111163186A (en) ID generation method, device, equipment and storage medium
CN113452778A (en) Session keeping method, device, equipment, system and storage medium
CN116032614A (en) Container network micro-isolation method, device, equipment and medium
CN110958326B (en) Load balancing method, device, system, equipment and medium
CN113986995A (en) Request distribution method and device, storage medium and electronic equipment
US10887381B1 (en) Management of allocated computing resources in networked environment
CN116954927B (en) Distributed heterogeneous data acquisition method, storage medium and electronic equipment
CN113612837B (en) Data processing method, device, medium and computing equipment
CN116886525A (en) Method and device for allocating computing network resources, computing network resource allocation equipment and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination