Resource allocation method and management equipment
By obtaining the task data amount and time window through the management device, determining the associated second time window for bandwidth resource allocation, solving the problem of insufficient or excessive resources caused by inaccurate user provision, and improving the resource utilization rate and user experience of computing power network.
Patent Information
- Application Number
- CN202410172986.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-05
- Publication Date
- 2025-08-05
AI Technical Summary
In the existing computing power network, the bandwidth resource size and time range provided by users are inaccurate, resulting in insufficient or excessive resource allocation, affecting resource utilization.
The management device acquires the data amount and time window of the task, determines the second time window associated with the time window, and allocates bandwidth resources based on this to ensure the accurate allocation of resources.
It improves the accuracy and utilization rate of resource allocation of computing power networks, meets user needs, and improves user experience.
Smart Images

Figure CN120434201A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computing power networks, and in particular, to a resource allocation method and a management device. Background Art
[0002] A computing power network is an infrastructure that allocates and flexibly schedules computing power resources such as bandwidth resources, computing resources, and storage resources on demand among the cloud, network, and edge according to service requirements. Currently, the computing power network can provide reserved computing power resources for enterprise users by means of reserved tasks to improve the efficiency of on-demand allocation of the computing power network.
[0003] In the traditional technology, a user can send a resource reservation application to the management device of the computing power network. The resource reservation application indicates the size of the bandwidth resource to be reserved and the time range of the bandwidth resource to be reserved. The management device of the computing power network reserves bandwidth resources for the enterprise user based on the size and time range of the bandwidth resource indicated by the resource reservation application.
[0004] However, the size and time range of the bandwidth resource provided by the user are not necessarily accurate. If the management device of the computing power network directly allocates bandwidth resources to the user only based on the size and time range of the bandwidth resource provided by the user, it may result in insufficient or excessive resources allocated to the user. Summary of the Invention
[0005] The present application provides a resource allocation method and a management device for accurately allocating bandwidth resources and time windows for tasks, improving the accuracy of resource allocation of the computing power network, and further improving the resource utilization rate of the computing power network.
[0006] In a first aspect, the present application provides a resource allocation method. This resource allocation method can be executed by a management device or by components of the management device (such as components like a processor, a chip, or a chip system). Taking the management device as an example, the management device obtains the requirement information of a first task. The requirement information of the first task includes the first time window of the first task and the data volume of the first task. The first time window is the time range for the user to apply for reserving bandwidth resources to transmit the first task. Then, the management device attempts to determine a second time window associated with the first time window based on the data volume of the first task and the first time window, and there is at least one candidate path within the second time window whose bandwidth resources support transmitting the data volume of the first task. If the management device determines that there is a second time window associated with the first time window based on the data volume of the first task and the first time window, the management device determines the bandwidth information of one candidate path among the at least one candidate path as the bandwidth information of the allocated path and outputs the allocation information of the first task. The allocation information includes the bandwidth information of the allocated path of the first task and the second time window. The second time window in the allocation information is the time range for the management device to recommend that the first task reserve the bandwidth resources of the allocated path.
[0007] In the present application, the requirement information of the first task obtained by the management device includes the data volume of the first task and the first time window that the user expects to reserve bandwidth resources for the first task. When the management device determines that there is a second time window associated with the first time window based on the data volume of the first task and the first time window, the management device outputs the allocation information. Moreover, the allocation information includes the second time window and the bandwidth information of one candidate path (i.e., the bandwidth information of the allocated path) within the second time window that supports transmitting the data volume of the first task. Since the management device does not directly allocate bandwidth resources according to the first time window, but determines a more accurate second time window to allocate bandwidth resources by referring to the data volume of the first task and the first time window. Therefore, it is beneficial to improve the accuracy of resource allocation in the computing power network and further improve the resource utilization rate of the computing power network.
[0008] Among them, the second time window associated with the first time window can be understood as that the management device refers to the first time window during the process of determining the second time window. Optionally, the second time window and the first time window satisfy a first constraint, and this first constraint is used to indicate the constraint relationship between the second time window and the first time window in the time domain. Since the first time window is the time range for the user to expect to reserve bandwidth resources to transmit the first task, therefore, when sufficient bandwidth resources can be provided, the greater the degree of association or similarity between the second time window and the first time window, the greater the probability that the second time window can meet the user's scenario requirements.
[0009] In a possible implementation, the start time of the second time window is greater than or equal to the start time of the first time window, and the end time of the second time window is less than or equal to the end time of the first time window. It can be understood that the second time window is a subset of the first time window. For example, the first time window is from 20:00 to 23:00, and the second time window is from 21:00 to 22:00.
[0010] In this implementation, when sufficient bandwidth resources can be provided, if the second time window determined by the management device is a subset of the first time window, then this second time window can not only meet the user's scenario requirements, but also not occupy the bandwidth resources outside the second time window, so that the management device can allocate the management resources outside the second time window to other tasks for use, which is conducive to improving the resource utilization efficiency.
[0011] In another possible implementation, the start time of the second time window is less than or equal to the end time of the first time window. It can be understood that the second time window intersects with the first time window. For example, the first time window is from 20:00 to 23:00, and the second time window is from 22:00 to 24:00.
[0012] In this implementation, when the bandwidth resources are relatively tight, the management device determines a second time window with a relatively large degree of association or similarity with the first time window (that is, a second time window that intersects with the first time window), and allocates the bandwidth resources within the second time window to the first task, so as to be able to provide sufficient bandwidth resources for the first task as early as possible in the case of resource tension, and then increase the probability of meeting the scenario requirements of the user using resources.
[0013] In a possible implementation, the duration of the second time window is greater than or equal to the first duration, and the first duration is related to the data volume of the first task and the bandwidth information of the allocation path. The allocation path is one of the foregoing at least one candidate path. The first duration is inversely correlated with the bandwidth information of the allocation path. That is to say, the larger the available bandwidth value indicated by the bandwidth information of the path, the shorter the first duration, the shorter the second time window, and the shorter the time taken for the computing power network to transmit the first task.
[0014] In this implementation, restricting the duration of the second time window, that is, requiring the duration of the second time window to be greater than or equal to the first duration, is conducive to ensuring that the bandwidth resources of the candidate path support the transmission of the data of the first task within the second time window, and avoiding the failure of the first task transmission due to an overly short time window allocated to the first task.
[0015] In a possible implementation, the bandwidth information of the allocation path includes a first bandwidth value, where the first bandwidth value is the bandwidth value that enables the first task to be transmitted earliest within the first time window. It can be understood that the allocated bandwidth information output by the management device at least includes the bandwidth value (i.e., the first bandwidth value) that enables the first task to be transmitted earliest within the first time window. The first duration determined by the management device based on the first bandwidth value and the data volume of the first task is the minimum duration used to transmit the task data of the first task based on the bandwidth resources provided by the allocation path. Optionally, the product of the first bandwidth value and the first duration is equal to the data volume of the first task.
[0016] In this implementation, the management device determines the first duration according to the bandwidth value (i.e., the first bandwidth value) that enables the first task to be transmitted earliest within the first time window. Furthermore, the determined second time window is the time range that enables the first task to be transmitted earliest within the first time window. Therefore, the second time window determined by the management device for the first task can complete the transmission of the task data of the first task as early as possible, which is beneficial to improving the user experience of reserving bandwidth resources by the user. It is also beneficial for the management device to allocate the bandwidth resources outside the second time window to other tasks for use, thereby improving the resource utilization rate of the computing power network.
[0017] In a possible implementation, the first time window includes n consecutive time periods, and the bandwidth information of the allocation path includes n available bandwidth values corresponding to the n consecutive time periods respectively. The available bandwidth values in different time periods are not completely the same, and the first bandwidth value is one of the n available bandwidth values, where n is an integer greater than 0.
[0018] In a possible implementation, the second time window is located in the first i time periods of the n consecutive time periods, and the first bandwidth value is the minimum value of the i available bandwidth values corresponding to the first i time periods respectively. The first duration is less than or equal to the duration of the first i time periods, where i is an integer greater than 0 and less than or equal to n.
[0019] In this implementation, the management device starts allocating bandwidth resources from the start time of the first time window, that is, the start time of the second time window is equal to the start time of the first time window. If the available bandwidth resources of the first candidate path within the first time period of the n time periods are sufficient to transmit the task data of the first task, then the second time window is located within the first time period, and the duration of the second time window is less than or equal to the duration of the first time period. If the available bandwidth resources of the first candidate path within the first time period of the n time periods are not sufficient to transmit the task data of the first task, but the available bandwidth resources of the first candidate path within the first two time periods (i.e., the first time period and the second time period) of the n time periods are sufficient to transmit the task data of the first task, then the second time window is located within the first two time periods of the n time periods, and the duration of the second time window is less than or equal to the duration of the first two time periods of the n time periods. And so on.
[0020] In a possible implementation, the second time window is located in the j-th period among n consecutive periods, the first bandwidth value is the available bandwidth value of the j-th period, the first duration is less than or equal to the duration of the j-th period, and j is an integer greater than 0 and less than or equal to n.
[0021] In this implementation, the management device starts to allocate bandwidth resources at the start time of a certain period, that is, the start time of the second time window is equal to the start time of a certain period among the n periods within the first time window. If the available bandwidth resources of the first candidate path within the j-th period are sufficient to transmit the task data of the first task, and the minimum value of the available bandwidth values in the first to (j - 1) periods is not sufficient to transmit the task data of the first task, then the second time window is located in the j-th period, and the duration of the second time window is less than or equal to the duration of the j-th period. Or, if the end time of the second time window determined based on the available bandwidth value of the j-th period is earlier than the end time of the second time window determined based on the minimum value of the available bandwidth values in the first to (j - 1) periods, then the second time window is located in the j-th period. In this implementation, the start time of the second time window is greater than the start time of the first time window.
[0022] In a possible implementation, the method further includes: the management device obtains the bandwidth information of the first candidate path in at least one candidate path, and the bandwidth information of the first candidate path is used to indicate the bandwidth resources supported by the first candidate path for allocation to the first task within the first time window; if the management device determines that there is a second time window that satisfies the first constraint based on the bandwidth information of the first candidate path, the data volume of the first task, and the first time window, then the management device determines the bandwidth information of the second candidate path as the bandwidth information of the allocation path.
[0023] In a possible implementation, the method further includes: if the management device determines that there is no second time window that satisfies the first constraint based on the bandwidth information of the first candidate path, the data volume of the first task, and the first time window, then the management device obtains the bandwidth information of the second candidate path in at least one candidate path, and the second candidate path does not include the first section, and the first section is an unavailable section in the first candidate path where the bandwidth resources have been allocated to other tasks; if the management device determines that there is a second time window that satisfies the first constraint based on the bandwidth information of the second candidate path, the data volume of the first task, and the first time window, then the management device determines the bandwidth information of the second candidate path as the bandwidth information of the allocation path.
[0024] In this embodiment, if the management device fails to find a second time window that meets the first constraint based on the bandwidth information of the first candidate path, the management device will search for a second time window that meets the first constraint based on the bandwidth information of the second candidate path. Here, the second candidate path does not include the first section, and the first section is an unavailable section in the first candidate path where the bandwidth resources have been allocated to other tasks. That is to say, the second candidate path avoids the sections where conflicts may occur, which is conducive to increasing the probability of finding a second time window that meets the first constraint in the second candidate path.
[0025] Optionally, the allocation information further includes the routing information of the allocation path of the first task, and the routing information is used to indicate the path for transmitting the first task from the input node to the computing node.
[0026] In a possible implementation manner, the method further includes: the management device receives a first indication information, which is used to indicate that resources are allowed to be allocated to the first task according to the allocation information; the management device allocates the bandwidth resources of the allocation path within the second time window for the first task based on the allocation information of the first task.
[0027] In this embodiment, the allocation information determined by the management device for the first task needs to be confirmed by the user terminal before the management device can allocate the bandwidth resources of the allocation path within the second time window for the first task based on the allocation information of the first task. This is conducive to reducing the probability that the allocated bandwidth resources do not meet the scenario requirements of the user and improving the user experience.
[0028] In a possible implementation manner, the method further includes: if the management device determines that there is no second time window that meets the first constraint based on the bandwidth information of at least one candidate path, the data volume of the first task, and the first time window, the management device outputs an alarm message, and the alarm message is used to indicate that there is no bandwidth resource available for allocation to the first task for the time moment.
[0029] In this embodiment, when the management device fails to find the bandwidth resources that meet the user's requirements based on the requirement information of the first task, the management device immediately prompts the user through the alarm message, which is conducive to the user optimizing the task requirements.
[0030] In a possible implementation manner, the alarm message further includes the available bandwidth value of the third time window and the third candidate path. The product of the duration of the third time window and the available bandwidth value of the third candidate path is greater than or equal to the data volume of the first task. The third time window is the time range for the management device to recommend that the first task reserve the bandwidth resources of the third candidate path.
[0031] In this embodiment, when the management device fails to find a second time window that meets the first constraint in the computing power network based on the requirement information of the first task, it still determines a third time window and a third candidate path that better meet the task requirements of the first task based on the requirement information of the first task, for the user terminal to decide whether to use the third time window and the third candidate path. This realizes providing relatively appropriate reservable bandwidth resources for the user terminal in the case of tight bandwidth resources, which is beneficial to improving the user experience.
[0032] In a possible implementation, the method further includes: the management device receives second indication information, which is used to indicate that resources are allowed to be allocated to the first task according to the alarm information; the management device allocates the bandwidth resources of the third candidate path within the third time window to the first task based on the alarm information.
[0033] In this embodiment, the available bandwidth values of the third time window and the third candidate path determined by the management device for the first task need to be confirmed by the user terminal before the management device can allocate the bandwidth resources of the third candidate path within the third time window based on the alarm information. This is beneficial to reducing the probability that the allocated bandwidth resources do not meet the scenario requirements of the user and is beneficial to improving the user experience.
[0034] In a possible implementation, the requirement information of the first task further includes at least one of the following:
[0035] Information of the input computing node of the first task; or, information of the computing node of the first task; or, the computing path strategy of the first task, where the computing path strategy includes at least one of the minimum delay strategy, the minimum hop count strategy, the primary / backup routing separation strategy, or the specified path utilization strategy; or, the protection strategy of the first task, where the protection strategy is used to indicate whether to enable primary / backup path protection.
[0036] In a possible implementation, the method further includes:
[0037] The management device determines at least one candidate path based on the requirement information of the first task, and the bandwidth resources of each candidate path in at least one candidate path support transmitting the data volume of the first task within the first time window.
[0038] Second aspect: An embodiment of the present application provides a device, which may be the management device in the foregoing implementation manner, or a chip within the management device. The device may include a processing module and a transceiver module. When the device is a management device, the processing module may be a processor, and the transceiver module may be a transceiver; the management device may further include a storage module, and the storage module may be a memory; the storage module is used to store instructions, and the processing module executes the instructions stored in the storage module, so that the management device executes the method in the first aspect or any one of the implementation manners of the first aspect. When the device is a chip within the management device, the processing module may be a processor, and the transceiver module may be an input / output interface, a pin or a circuit, etc.; the processing module executes the instructions stored in the storage module, so that the management device executes the method in the first aspect or any one of the implementation manners of the first aspect. The storage module may be a storage module within the chip (such as a register, a cache, etc.), or a storage module outside the chip within the management device (such as a read-only memory, a random access memory, etc.).
[0039] Third aspect: The present application provides a device, which may be an integrated circuit chip. The integrated circuit chip includes a processor. The processor is coupled to a memory, and the memory is used to store programs or instructions. When the programs or instructions are executed by the processor, the device executes the method introduced in any one of the implementation manners in the foregoing aspects.
[0040] Fourth aspect: An embodiment of the present application provides a computer program product containing instructions. When it runs on a computer, the computer executes the method introduced in any one of the implementation manners in the foregoing aspects.
[0041] Fifth aspect: An embodiment of the present application provides a computer-readable storage medium, including instructions. When the instructions run on a computer, the computer is caused to execute the method introduced in any one of the implementation manners in the foregoing aspects.
[0042] Sixth aspect: An embodiment of the present application provides a system, which includes a user terminal and a management device that executes the method in the first aspect and any one of the implementation manners of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 FIG. is an example diagram of the system architecture related to the resource allocation method provided by the present application;
[0044] Figure 2 FIG. is a flowchart of the resource allocation method provided by the present application;
[0045] Figure 3A FIG. is an example diagram of the resource application interface related to the resource allocation method provided by the present application;
[0046] Figure 3B Another example diagram of the resource application interface involved in the resource allocation method provided for this application;
[0047] Figure 3C An example diagram of the resource allocation result interface involved in the resource allocation method provided for this application;
[0048] Figure 4 Another flowchart of the resource allocation method provided for this application;
[0049] Figure 5A An example diagram of the available bandwidth resources of the candidate path at different time periods in this application;
[0050] Figure 5B An example diagram of the first duration in this application;
[0051] Figure 5C Another example diagram of the first duration in this application;
[0052] Figure 5D Another example diagram of the first duration in this application;
[0053] Figure 6A An example diagram of the allocation information in this application;
[0054] Figure 6B An example diagram of the alarm information in this application;
[0055] Figure 6C Another example diagram of the alarm information in this application;
[0056] Figure 7 A schematic diagram of the device provided for this application;
[0057] Figure 8 Another schematic diagram of the device provided for this application. Detailed implementation manners
[0058] Next, the technical solutions in the embodiments of this application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are only a part of the embodiments of this application, rather than all of the embodiments.
[0059] The terms "first", "second", "third", "fourth", etc. (if any) in the description, claims and above-mentioned drawings of this application are used to distinguish similar objects and do not necessarily describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged under appropriate circumstances so that the embodiments described herein can be implemented in an order different from that illustrated or described herein. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device comprising a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0060] It should be understood that the term "and / or" herein is merely a relational expression describing associated objects, indicating that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone. Here, A and B may be single or multiple. Additionally, the character " / " herein generally represents an "or" relationship between the associated objects before and after. Moreover, the expression "at least one of the following" or its similar expressions herein are used to represent any combination of the items listed; for example, at least one of A, B, and (or) C may represent the following situations: A exists alone, B exists alone, C exists alone, A and B exist simultaneously, B and C exist simultaneously, A and C exist simultaneously, and A, B, and C exist simultaneously. Here, A, B, and C may be single or multiple.
[0061] First, a brief introduction to the system architecture and application scenarios of the resource allocation method provided by this application is as follows:
[0062] Figure 1 This is the system architecture related to the resource allocation method provided by this application. As Figure 1 shown, this system architecture includes user terminals, computing power networks, and management devices.
[0063] Among them, the user terminal is a device that has a demand for using computing power resources in the computing power network (such as computing power resources such as bandwidth resources, computing resources, or storage resources). The user terminal can be a client of a management device that accesses the computing power network by running an application program. Exemplarily, the user terminal can be a desktop computer, a laptop computer, a dedicated computer, a server, and other devices with functional requirements for data calculation or data transmission, which are not limited in this application. The "user" in the "user terminal" can be an enterprise user who subscribes or leases computing power resources, an individual user who subscribes or leases computing power resources, or an operator user, which are not limited in this application. The user terminal is capable of sending a resource request for applying for computing power resources for a certain task to the management device of the computing power network. After the management device allocates computing power resources for the task of the user terminal, the user terminal can access the computing power network through a gateway device, transmit the task data of the task to the computing power network for processing, and obtain the processing result of the task data from the computing power network.
[0064] Among them, the computing power network includes an incoming computing node, a network node, and a computing node.
[0065] The incoming computing node refers to the node in the computing power network that is connected to the user terminal. For example, the incoming computing node is the entry gateway where the computing power network is connected to the user terminal. The task data of the task initiated by the user terminal (i.e., the task of using the computing power network service to process business) enters the computing power network from the incoming computing node. Exemplarily, the incoming computing node can be a network device such as a router or a switch, which is not limited in this application.
[0066] A computing node refers to a node in a computing power network that provides computing resources such as computing resources and storage resources. For example, a computing node can provide diverse computing resources such as a central processing unit (CPU), a graphics processing unit (GPU), and a network processing unit (NPU) to complete computing tasks for various applications such as big data, artificial intelligence (AI), and scientific computing. Different computing resources have different performances when executing the same task, and the performance of the same type of computing resources also varies when running various different applications. This application does not limit the types of computing resources provided by the computing node. For another example, one or more memories (such as dynamic random access memory (DRAM), storage class memory (SCM), and static random access memory (SRAM)) are provided in the computing node, which can provide dynamic or static storage resources. It should be understood that the computing node can be an independent computer or a cluster including multiple computers. When a computing node is a cluster including multiple computers, the multiple computers can use the same hardware and / or the same operating system. In some cases, they can also use different operating systems on different hardware. In addition, multiple computing nodes can also form a computing power center to efficiently process data through the computing resources and / or storage resources on the multiple computing nodes.
[0067] A network node is a node that connects to an incoming computing node and a computing node (or a computing power center). The network node can transmit the task data received from the user terminal by the incoming computing node to the computing node (or the computing power center) according to the routing information issued by the management device. Optionally, after the computing node completes the processing of the task data, the network node can also transmit the processing result of the computing node to the user terminal.
[0068] In addition, the management device is a device that coordinates and schedules the resources of each node in the computing power network. This management device can collect and store information about each node in the computing power network and information about the links between each node (for example, performance information such as link delay, link packet loss rate, link bandwidth, total / remaining / utilization rate of link bandwidth, etc.). Among them, the information of each node includes the information of computing nodes, network nodes, and computing-in nodes. For example, the information of a computing node includes the location information of the computing node in the computing power network (for example, the internet protocol (IP) address of the computing node, etc.), the types of services supported by the computing node, the types of computing resources supported by the computing node, the total amount, remaining amount, and utilization rate of various computing resources in the computing node, the total amount, remaining amount, and utilization rate of storage resources in the computing node, etc. For example, the information of a network node includes the location information of the network node in the computing power network (for example, the IP address of the network node, etc.), the port information of the network node, the routing protocols supported by the network node, etc. For example, the information of a computing-in node includes the location information of the computing-in node in the computing power network (for example, the IP address of the computing-in node, etc.), the port information of the computing-in node, the routing protocols supported by the computing-in node, etc. The management device can also generate the network topology information of the computing power network based on the information of each node and the information of the links between each node, so as to schedule the resources in the computing power network based on this network topology information.
[0069] The scenarios of resource allocation in the computing power network are divided into the scenario of long-term renting of computing power resources and the scenario of short-term renting of computing power resources according to the length of time the user occupies the computing power resources. In the scenario of long-term renting of computing power resources, the user generally has a continuous need to use computing power resources. Therefore, the user generally applies to the management device for long-term renting of computing power resources such as bandwidth dedicated lines to meet the user's continuous need to use computing power resources. In the scenario of long-term renting of computing power resources, the user submits a computing power resource renting application to the management device of the computing power network through the user terminal. This computing power resource renting application includes the renting duration and the size of the bandwidth resource of the bandwidth dedicated line. For example, the user applies to rent a bandwidth of 2GHz and applies to rent for 2 months. In the scenario of short-term renting of computing power resources, the user's need to use computing power resources is sparse and occasional, and does not require computing power resources all the time. For example, small enterprise users only have a need to use computing power resources during specific periods of a project. For example, in the production cycle of audiovisual products of a film and television company, they only apply to use computing power resources during post-rendering, and the post-rendering time generally accounts for a small part of the entire production cycle of audiovisual products. Another example is that individual users may need to apply to use computing power resources when using extended reality (XR) services, but individual users only continuously use XR services for 1 to 2 hours and do not use computing power resources for a long time.
[0070] The resource allocation method provided by this application can be applied to scenarios of short-term rental of computing power resources, or other scenarios with elastic demand for computing power resources. In this scenario, the user's requirements are relatively vague. When applying for computing power resources, the user may only provide a rough amount of bandwidth resources and a time range to the management device of the computing power network. That is to say, the user also does not know how much bandwidth the computing power network can provide and how long it will take to complete the processing of the task. Therefore, in the traditional technology, the management device directly allocates resources to the user's task based on the size of the bandwidth resources and the time range provided by the user, which may result in insufficient or excessive resources allocated to the user.
[0071] In response to this, this application provides a resource allocation method and a management device, which are used to accurately allocate bandwidth resources and time windows for tasks, improve the accuracy of resource allocation in the computing power network, and further improve the resource utilization rate of the computing power network.
[0072] The following Figure 2 introduces the main process of the resource allocation method provided by this application. In Figure 2 the illustrated embodiment, the management device is taken as the execution subject to introduce this resource allocation method. It should be understood that the execution subject of this method can also be a component or functional module in the management device. For example, chips, processors, or processing units in the management device, etc. This embodiment does not make specific limitations on this. As Figure 2 shown, this resource allocation method includes the following steps:
[0073] Step 201, the management device obtains the requirement information of the first task. The requirement information of the first task includes the first time window and the data volume of the first task.
[0074] In a possible implementation manner, the management device obtains the requirement information of the first task from the user terminal. For example, when the user needs to apply for computing power resources in the computing power network, the user can log in to the resource application interface provided by the management device through the user terminal. Then, the user inputs the requirement information of the first task through the user terminal on this resource application interface, so that the management device can receive the requirement information of the first task from the user terminal.
[0075] Among them, the first task refers to a service that needs to use the computing power resources in the computing power network. Generally, the computing power resources in the computing power network at least include transmission bandwidth resources. For example, the bandwidth resources used in the process of transmitting the task data of the task from the input computing node to the computing node. Optionally, the computing power resources in the computing power network also include computing resources. For example, the resources provided by the computing node for computing and processing the task data. Optionally, the computing power resources in the computing power network also include storage resources. For example, the storage resources provided by the computing node with storage functions for storing user data.
[0076] It should be understood that different types of services of the first task may require different computing power resources in the computing power network. In this application, the first task requires at least the bandwidth resources in the computing power network. For example, the first task can be a video rendering task. This task needs to transmit the original video data to be processed from the input computing node to the computing node, and the computing node performs rendering processing on the original data, and then the computing node transmits the rendered video data to the user terminal. Another example is that the first task can be a storage backup task (for example, the storage backup of data such as the user's videos, pictures, and voices). This task needs to transmit the data to be stored and backed up from the input computing node to the computing node providing storage services, and the computing node stores and backs up the received data. It should be understood that in addition to the video rendering service and the storage backup service, the service type of the first task in this application can also be an XR service, a machine vision service, a supercomputing and big data processing service, etc., and this application does not limit it.
[0077] Specifically, the requirement information of the first task includes the first time window of the first task and the data volume of the first task.
[0078] Among them, the data volume of the first task refers to the data volume of the data to be processed by the first task, that is, the data volume of the task data of the first task. For example, if the first task is a video rendering task, the data volume of the first task is the number of bytes occupied by the original video data to be rendered. Another example is that if the first task is a storage backup task, the data volume of the first task is the number of bytes occupied by the data to be stored and backed up. It should be understood that the unit of the data volume of the first task can be kilobyte (KB), megabyte (MB), gigabyte (GB), terabyte (TB), petabyte (PB), exabyte (EB), etc., and this application does not limit it. It should be noted that compared with the size of the transmission bandwidth, it is easier for users to determine the size of the data volume of the task. For example, task data is generally stored in a storage medium (such as a hard disk) that can be managed by the user terminal, and the user terminal can provide an interface for the user to manage the storage medium, and this interface can display the size of the data volume of the task data.
[0079] Among them, the first time window of the first task is the time range when the user applies to reserve bandwidth resources for transmitting the first task, that is, the first time window of the first task is the time range when the user applies to reserve bandwidth resources for transmitting the task data of the first task. This first time window can be represented by the start time and the end time of the first time window, or by the start time and the duration of the first time window. This application does not limit. It should be understood that the management device can determine the duration of the first time window based on the start time and the end time of the first time window. In addition, the management device can also determine the end time of the first time window based on the start time and the duration of the first time window.
[0080] It should be noted that the first time window is the time range reserved by the user, that is, the start time of the first time window is after the time when the user submits a resource application through the user terminal. For example, if the user applies to reserve resources from 20:00 to 24:00 on January 1 at 17:00, the time when the user terminal submits the resource application is 17:00 on January 1, the first time window is from 20:00 to 24:00 on January 1, and the duration of the first time window is 4 hours.
[0081] It should be noted that the first time window is the time range estimated by the user based on the requirements of its own application scenario for using the resources in the computing power network. The user may not know whether the computing power network can provide the bandwidth resources for processing the first task within the first time range. It's just that the user hopes to use the resources in the computing power network within the first time range to process the first task based on the requirements of its own application scenario. For example, if the first task is an AI model training task, the user may hope to carry out the model training process at night so that the user can directly obtain the results of the model training the next day.
[0082] It should be noted that the data volume of the first task and the first time window of the first task can be obtained through the same interface provided by the management device. Exemplarily, the user can log in to the resource application interface provided by the management device through the user terminal. Then, the user inputs the data volume of the first task and the first time window of the first task through the user terminal on this resource application interface, so that the management device can receive the data volume of the first task and the first time window of the first task from the user terminal. Exemplarily, as Figure 3A shown, taking the first task as a video rendering task as an example. The user logs in to the resource application interface provided by the management device through the user terminal. Then, the user inputs the data volume of the video rendering task as 1TB and the first time window of the video rendering task as from 20:00 to 24:00 on January 1 on this resource application interface. Then the management device can know that the user needs to apply for resources in the computing power network to process the task data with a data volume of 1TB, and the user hopes to complete the processing of this video rendering task from 20:00 to 24:00 on January 1.
[0083] In addition, in some scenarios, the data volume of the first task and the first time window of the first task can also be obtained separately through different interfaces provided by the management device. Exemplarily, the user can log in to the resource application interface provided by the management device through the user terminal. Then, the user inputs the data volume of the first task through the user terminal on this resource application interface. Then, the management device displays an interface with recommended time windows to the user through the user terminal. The recommended time window indicates that computing resources such as bandwidth resources are relatively idle within this time window. The user selects one time window from the several time windows displayed on this interface as the first time window of the first task. Exemplarily, as Figure 3B shown, taking the first task as a video rendering task as an example. The user logs in to the resource application interface 1 provided by the management device through the user terminal. Then, in the morning of January 1st, the user inputs the data volume of the video rendering task as 1TB on this resource application interface. Then, the management device enters the resource application interface 2 (i.e., the interface of the recommended time window), and shows that the resources from 20:00 to 24:00 on January 1st are relatively idle, and the resources from 21:00 to 24:00 on January 2nd are relatively idle. If the user selects the time period from 20:00 to 24:00 on January 1st, then the first time window of the video rendering task is from 20:00 to 24:00 on January 1st.
[0084] Step 202, if it is determined based on the data volume of the first task and the first time window that there is a second time window associated with the first time window, the management device outputs the allocation information of the first task.
[0085] After the management device receives the data volume of the first task and the first time window, the management device will determine whether there is a second time window associated with the first time window based on the resources available in the computing power network. The second time window refers to the time range in which the bandwidth resources of at least one candidate path in the computing power network support the transmission of the data volume of the first task. That is to say, the second time window determined by the management device not only needs to be associated with the first time window, but there must also be at least one candidate path that can support the transmission of the data volume of the first task within this second time window. Among them, the candidate path refers to the path that transmits the task data of the first task from the ingress computing node to the computing node. The nodes connecting a candidate path include an ingress computing node, a computing node, and at least one network node. The candidate path can be a logical link at the electrical layer or a link at the optical layer, and this application does not limit.
[0086] It should be understood that the second time window associated with the first time window can be understood as that the management device refers to the first time window during the process of determining the second time window. Since the first time window is the time range when the user expects to reserve bandwidth resources to transmit the first task, therefore, when sufficient bandwidth resources can be provided, the greater the degree of association or similarity between the second time window and the first time window, the greater the probability that the second time window can meet the user's scenario requirements.
[0087] Optionally, the second time window and the first time window satisfy a first constraint, which is used to indicate the constraint relationship between the second time window and the first time window in the time domain.
[0088] In one implementation, the start time of the second time window is greater than or equal to the start time of the first time window, and the end time of the second time window is less than or equal to the end time of the first time window. It can be understood that the second time window is a subset of the first time window. For example, the first time window is from 20:00 to 23:00, and the second time window is from 21:00 to 22:00. In this implementation, when sufficient bandwidth resources can be provided, if the second time window determined by the management device is a subset of the first time window, then the second time window can not only meet the user's scenario requirements but also not occupy the bandwidth resources outside the second time window, so that the management device can allocate the management resources outside the second time window to other tasks for use, which is beneficial to improving the resource utilization efficiency. For example, originally the user wanted to reserve the bandwidth resources from 20:00 to 23:00 (i.e., the first time window). However, if the management device determines that the bandwidth resources sufficient to process the first task can be provided from 21:00 to 22:00 (i.e., the second time window), then the management device can allocate the bandwidth resources before 21:00 and after 22:00 to other tasks for use, which is beneficial to improving the resource utilization efficiency.
[0089] In one example, the start time of the second time window is equal to the start time of the first time window, and the end time of the second time window is less than the end time of the first time window. For example, the first time window is from 20:00 to 23:00, and the second time window is from 20:00 to 21:00. In this example, when sufficient bandwidth resources can be provided, the management device reserves the bandwidth resources that can be provided for the first task as early as possible for the first task, so that the second time window can not only meet the user's scenario requirements but also complete the processing of the first task as early as possible, thereby enhancing the business experience of the user's reserved bandwidth resources.
[0090] In another implementation, the start time of the second time window is less than or equal to the end time of the first time window. It can be understood that the second time window and the first time window have an intersection. For example, the first time window is from 20:00 to 23:00, and the second time window is from 22:00 to 24:00. In this implementation, when the bandwidth resources are relatively tight, the management device determines a second time window with a relatively large degree of association or similarity to the first time window (i.e., a second time window that intersects with the first time window), and allocates the bandwidth resources within the second time window to the first task, so that sufficient bandwidth resources can be provided for the first task as early as possible in the case of resource tension, thereby increasing the probability of meeting the scenario requirements of the user's use of resources.
[0091] It should be understood that in actual applications, the management device can determine the implementation manner of the first constraint based on pre-configuration, which is not limited in this application. In the following embodiments, the second time window is mainly taken as a subset of the first time window for introduction.
[0092] In addition, there is at least one candidate path within the second time window that can support the transmission of the data volume of the first task. It can be understood that the size of the bandwidth resource provided by the candidate path within the second time window can complete the transmission of the data volume of the first task.
[0093] Optionally, the duration of the second time window is greater than or equal to the first duration, and the first duration is related to the data volume of the first task and the bandwidth information of the allocation path, and the allocation path is one of the at least one candidate path mentioned above. For example, if the management device can find a candidate path in the computing power network, and the bandwidth resource of the candidate path within the second time window supports the transmission of the data volume of the first task, the management device determines the candidate path as the allocation path and determines the bandwidth information of the candidate path as the bandwidth information of the allocation path.
[0094] Optionally, the bandwidth information of the allocation path includes a first bandwidth value, and the first bandwidth value is the bandwidth value that enables the first task to be transmitted earliest within the first time window. It can be understood that the allocated bandwidth information output by the management device at least includes the bandwidth value (i.e., the first bandwidth value) that enables the first task to be transmitted earliest within the first time window. The first duration determined by the management device based on the first bandwidth value and the data volume of the first task is the minimum duration used for transmitting the task data of the first task based on the bandwidth resource provided by the allocation path. Optionally, the product of the first bandwidth value and the first duration is equal to the data volume of the first task.
[0095] After the management device determines the allocation path and the bandwidth information of the allocation path, the management device outputs the allocation information of the first task. The allocation information includes the bandwidth information of the allocation path of the first task and the second time window. The second time window in the allocation information is the time range for which the management device recommends that the first task reserves the bandwidth resource of the allocation path. Optionally, the allocation information further includes the routing information of the allocation path of the first computing task, and the routing information is used to indicate the path for transmitting the first computing task from the input computing node to the computing node.
[0096] Exemplarily, as Figure 3C shown, taking the first task as a video rendering task as an example, the allocation path determined by the management device is to enter the computing power network from the input computing node 1, pass through network node 1, network node 3, and network node 4 in sequence, and then reach the computing power node 1. The bandwidth size used by the allocation path is 1 GHz, and the second time window of the first task is 20:00-21:00 on January 1st.
[0097] In this embodiment, the requirement information of the first task obtained by the management device includes the data volume of the first task and the first time window in which the user expects to reserve bandwidth resources for the first task. Only when the management device determines that there is a second time window associated with the first time window based on the data volume of the first task and the first time window, the management device outputs allocation information, and the allocation information includes the second time window and the bandwidth information of a candidate path that supports transmitting the data volume of the first task within the second time window (i.e., the bandwidth information of the allocated path). Since the management device does not directly allocate bandwidth resources according to the first time window, but determines a more accurate second time window to allocate bandwidth resources by referring to the data volume of the first task and the first time window. Therefore, it is beneficial to improve the accuracy of resource allocation in the computing power network, and further improve the resource utilization rate of the computing power network.
[0098] As Figure 4 shown, it is another flowchart of the resource allocation method provided by this application. In Figure 4 the embodiment shown, still taking the management device as the execution entity as an example to introduce this resource allocation method. As Figure 4 shown, this resource allocation method includes the following steps:
[0099] Step 401, the management device receives the requirement information of the first task from the user terminal.
[0100] Among them, the requirement information of the first task includes the first time window of the first task and the data volume of the first task. Regarding the first time window of the first task and the data volume of the first task, please refer to the relevant introduction in step 201 above, which will not be elaborated here.
[0101] Optionally, the requirement information of the first task further includes the information of the computing node of the first task. The information of the computing node is used to indicate the entry gateway where the task data of the first task enters the computing power network. This computing node can be understood as the source node when the task data of the first task is transmitted in the computing power network. Exemplarily, the information of the computing node can be address information such as the IP address or geographical area of the computing node. For example, if the user terminal 1 is located in city A, the user can specify a computing node located in city A as the computing node of the first task. In addition, when the requirement information of the first task does not include the information of the computing node of the first task, the management device can specify a computing node for the user terminal. For example, the management device specifies a computing node located within the geographical area where the user terminal is located as the computing node of the first task based on the geographical area where the user terminal is located.
[0102] Optionally, the requirement information of the first task further includes information about the computing node of the first task. The information about the computing node is used to indicate the node that provides computing resources or storage resources, etc., such as computing power resources, for the first task. This computing node can be understood as the destination node or the final node when the task data of the first task is transmitted in the computing power network. Exemplarily, the information about the computing node can be address information such as the IP address or geographical area of the computing node. The geographical area where the computing node is located can be different from the geographical area where the user terminal is located. For example, the user terminal 1 is located in City A, and the user can specify a computing node located in City B as the computing node of the first task.
[0103] It should be understood that the selection of the computing node is generally related to the service type of the first task. For example, if the first task is a service that requires complex calculations such as video rendering, the computing node of the first task at least includes computing resources that support video rendering. Another example is that if the first task is a service that requires storing a large amount of data such as storage backup, the computing node of the first task at least includes storage resources that can store a large amount of data. This application does not limit the service type of the first task, nor does it limit the type of resources supported by the computing node. In addition, when the requirement information of the first task does not include the information about the computing node of the first task, the management device can specify a computing node for the user terminal based on the service type and / or data volume of the first task.
[0104] Optionally, the requirement information of the first task further includes the routing strategy of the first task. The routing strategy refers to the strategy for determining the candidate paths of the first task, that is, the strategy for determining the transmission of the task data of the first task between the ingress computing node (i.e., the source node) and the computing node (i.e., the destination node or the final node).
[0105] Exemplarily, the routing strategy includes at least one of the minimum latency strategy, the minimum hop count strategy, the primary and backup route separation strategy, or the specified path utilization strategy. Among them, the minimum latency strategy means that when the management device determines the candidate paths of the first task, it tries to select a path with a lower transmission latency as the candidate path. The minimum hop count strategy means that when the management device determines the candidate paths of the first task, it selects the path with the minimum routing hop count as the candidate path. The primary and backup route separation strategy means that in the case where the task data of the first task needs to be configured with a protection path, there is no overlapping section between the working path and the protection path of the first task, that is, the primary path (i.e., the working path) and the backup path (i.e., the protection path) of the first task are set separately. The path utilization strategy means that the candidate path determined by the management device for the first task needs to avoid high-utilization links or needs to avoid low-utilization links.
[0106] Optionally, the requirement information of the first task further includes the protection strategy of the first task. The protection strategy is used to indicate whether to enable primary and backup path protection.
[0107] It should be understood that when the requirement information of the first task does not include a routing policy and a protection policy, the routing policy and the protection policy may also be pre-configured, or determined by the management device based on the network load, which is not limited in this application.
[0108] Step 402, the management device determines at least one candidate path based on the requirement information of the first task.
[0109] The management device stores information about each node in the computing power network and information about the links between each node. After the management device receives the requirement information of the first task, the management device will determine at least one candidate path for transmitting the task data of the first task based on the information of each node, the information of the links between each node, and the requirement information of the first task. Among them, each candidate path in the at least one candidate path is a path that can transmit the task data of the first task from the ingress node to the computing node. Optionally, the bandwidth resources of each candidate path in the at least one candidate path within the first time window support transmitting the data volume of the first task.
[0110] In a possible implementation manner, the management device determines at least one candidate path based on the information of the ingress node, the information of the computing node, the data volume of the first task, and the first time window. Among them, the information of the ingress node and / or the information of the computing node can be provided by the user or determined by the management device.
[0111] Optionally, if the requirement information of the first task further includes a routing policy and a protection policy, the management device will also consider the routing policy and the protection policy when determining at least one candidate path. For example, the management device determines at least one candidate path based on the information of the ingress node, the information of the computing node, the routing policy, the protection policy, the data volume of the first task, and the first time window.
[0112] It should be understood that while the management device determines a candidate path, the management device can determine the bandwidth information of the candidate path. The bandwidth information of the candidate path is used to indicate the magnitude of the available bandwidth values at different times of the candidate path. Among them, the available bandwidth value refers to the magnitude of the bandwidth resources that can be provided to the first task. Further, the management device can determine the bandwidth information of the candidate path within the first time window.
[0113] In a possible implementation manner, the magnitudes of the available bandwidth values at different times in a candidate path are not completely the same. For example, the magnitudes of the available bandwidth values in different time periods within the first time window of the first candidate path are different. The available bandwidth value in the same time period is equal to the minimum value of the available bandwidth values of all the road segments constituting the candidate path. Among them, the first candidate path is one of the at least one candidate path determined by the management device for the first task.
[0114] Exemplarily, such asFigure 5A As shown, the first candidate path includes 4 consecutive time periods, namely time period a, time period b, time period c, and time period d, within the first time window. Among them, the available bandwidth value of time period a is w1, the available bandwidth value of time period b is w2, the available bandwidth value of time period c is w3, and the available bandwidth value of time period d is w4. From Figure 5A the example shown, it can be seen that the available bandwidth value of a candidate path can fluctuate over time.
[0115] Step 403: The management device determines a second time window that meets the first constraint based on the bandwidth information of at least one candidate path, the data volume of the first task, and the first time window.
[0116] For the explanation of the first constraint, please refer to the relevant introduction in step 201 above, which will not be elaborated here.
[0117] Specifically, the management device selects a candidate path from at least one candidate path to find a second time window that meets the first constraint. If the management device does not find a second time window that meets the first constraint in this candidate path within the first time window, the management device selects another candidate path from at least one candidate path to continue determining the second time window that meets the first constraint until all the candidate paths determined by the management device are traversed.
[0118] Exemplarily, the management device obtains the bandwidth information of the first candidate path in at least one candidate path. The bandwidth information of the first candidate path is used to indicate the bandwidth resources supported by the first candidate path for allocating to the first task within the first time window. If it is determined that there is a second time window that meets the first constraint based on the bandwidth information of the first candidate path, the data volume of the first task, and the first time window, the management device determines the bandwidth information of the first candidate path as the bandwidth information of the allocation path. If it is determined that there is no second time window that meets the first constraint based on the bandwidth information of the first candidate path, the data volume of the first task, and the first time window, the management device obtains the bandwidth information of the second candidate path in at least one candidate path. The second candidate path does not include the first section, and the first section is an unavailable section in the first candidate path where the bandwidth resources have been allocated to other tasks. The first section can be a path connecting two network nodes or multiple sections connecting multiple network nodes. This application does not limit. Then, the management device determines whether there is a second time window that meets the first constraint based on the bandwidth information of the second candidate path, the data volume of the first task, and the first time window. And so on, which will not be elaborated here. For the convenience of understanding, the first candidate path will be used as an example for introduction later.
[0119] Optionally, the first time window includes n consecutive time periods, and the n consecutive time periods respectively correspond to n available bandwidth values in the first candidate path. Here, n is an integer greater than 0. The available bandwidth values in different time periods are not completely the same. The second time window is located in one of the n consecutive time periods.
[0120] In a possible implementation, the second time window is located in the first i time periods among the n consecutive time periods, the first bandwidth value is the minimum value among the i available bandwidth values respectively corresponding to the first i time periods, the first duration is less than or equal to the duration of the first i time periods, and i is an integer greater than 0 and less than or equal to n.
[0121] In this implementation, the management device starts to allocate bandwidth resources at the start time of the first time window, that is, the start time of the second time window is equal to the start time of the first time window. If the available bandwidth resources of the first candidate path in the first time period among the n time periods are sufficient to transmit the task data of the first task, then the second time window is located in the first time period, and the duration of the second time window is less than or equal to the duration of the first time period. If the available bandwidth resources of the first candidate path in the first time period among the n time periods are not sufficient to transmit the task data of the first task, but the available bandwidth resources of the first candidate path in the first two time periods (i.e., the first time period and the second time period) among the n time periods are sufficient to transmit the task data of the first task, then the second time window is located in the first two time periods among the n time periods, and the duration of the second time window is less than or equal to the duration of the first two time periods among the n time periods. And so on.
[0122] Exemplarily, as Figure 5B shown, if the available bandwidth resources of the first candidate path in the first time period among the n time periods are sufficient to transmit the task data of the first task, that is, the product of the duration T1 of the first time period and the available bandwidth value w1 of the first time period is greater than the data volume Q of the first task, then the second time window is located in the first time period. The management device determines that the first duration T is equal to the quotient of the data volume Q of the first task and the available bandwidth value w1 of the first time period, that is, the first duration T = Q / w1 = t1. The duration of the second time window is greater than or equal to the first duration. In this example, the first bandwidth value is w1.
[0123] Exemplarily, as Figure 5C shown, if the available bandwidth resources of the first candidate path in the first time period among the n time periods are not sufficient to transmit the task data of the first task, then the management device attempts to allocate bandwidth resources in the first two time periods among the n time periods. The management device allocates bandwidth resources based on the minimum value among the available bandwidth values of the first two time periods, that is, Figure 5CThe available bandwidth value w2 in the second period. If the available bandwidth resources of the first candidate path in the first two periods among the n periods are sufficient to transmit the task data of the first task, that is, the product of the duration (T1 + T2) of the first two periods and the available bandwidth value w2 in the second period is greater than the data volume Q of the first task, then the second time window is located in the first two periods among the n periods. The management device determines that the first duration T is equal to the quotient of the data volume Q of the first task and the available bandwidth value w2 in the second period, that is, the first duration T = Q / w2 = T1 + t2. The duration of the second time window is greater than or equal to the first duration. In this example, the first bandwidth value is w2.
[0124] It can be seen that in this embodiment, the data volume of the first task, the bandwidth information of the first candidate path, and the first duration satisfy the following constraints:
[0125] Q = w min ∑(t i ); T = ∑(t i );
[0126] Where, T is the first duration, Q is the data volume of the first task, t i is the duration of the bandwidth resources allocated to the first task in the i-th period within the first time window, and w min is the minimum value of the available bandwidth values in the i-th periods within the first time window.
[0127] In another possible embodiment, the second time window is located in the j-th period among the n consecutive periods, the first bandwidth value is the available bandwidth value of the j-th period, the first duration is less than or equal to the duration of the j-th period, and j is an integer greater than 0 and less than or equal to n.
[0128] In this embodiment, the management device starts to allocate bandwidth resources at the start time of a certain period, that is, the start time of the second time window is equal to the start time of a certain period among the n periods within the first time window. If the available bandwidth resources of the first candidate path in the j-th period are sufficient to transmit the task data of the first task, and, according to the minimum value of the available bandwidth values in the first to (j - 1) periods, it is not sufficient to transmit the task data of the first task, then the second time window is located in the j-th period, and the duration of the second time window is less than or equal to the duration of the j-th period. Or, if the end time of the second time window determined based on the available bandwidth value of the j-th period is earlier than the end time of the second time window determined based on the minimum value of the available bandwidth values in the first to (j - 1) periods, then the second time window is located in the j-th period. In this embodiment, the start time of the second time window is greater than the start time of the first time window.
[0129] Exemplarily, such as Figure 5DAs shown, if the available bandwidth resources of the first candidate path in the third period among n periods are sufficient to transmit the task data of the first task, and the minimum value of the available bandwidth values in the previous two periods (i.e., w2) is not sufficient to transmit the task data of the first task, then the second time window is located in the third period. The management device determines that the first duration T is equal to the quotient of the data volume Q of the first task and the available bandwidth value w3 in the third period, that is, the first duration T = Q / w3 = t3. The duration of the second time window is greater than or equal to the first duration. In this example, the first bandwidth value is w3.
[0130] It can be seen that in this embodiment, the data volume of the first task, the bandwidth information of the first candidate path, and the first duration satisfy the following constraints:
[0131] t j ×w j ≥Q;
[0132] where, T is the first duration, Q is the data volume of the first task, t j is the duration of the bandwidth resources allocated to the first task in the jth period within the first time window, and the w j is the available bandwidth value in the jth period within the first time window, and j is an integer greater than or equal to 1 and less than or equal to n. Among them, the jth period is the earliest period among the n periods within the first time window that satisfies the foregoing constraints.
[0133] In this step, if the management device determines that there is a second time window that satisfies the first constraint based on the bandwidth information of at least one candidate path, the data volume of the first task, and the first time window, the management device outputs the allocation information of the first task, that is, the management device executes step 404a; if it is determined that there is no second time window that satisfies the first constraint based on the bandwidth information of at least one candidate path, the data volume of the first task, and the first time window, the management device outputs an alarm message, that is, the management device executes step 404b.
[0134] Step 404a, the management device sends the allocation information of the first task to the user terminal; correspondingly, the user terminal receives the allocation information of the first task.
[0135] In addition, the user terminal displays the allocation information of the first task to the user through an output device such as a display. Among them, the allocation information of the first task includes the bandwidth information of the allocation path of the first task and the second time window of the first task. Optionally, the bandwidth information of the allocation path includes the first bandwidth value. For the introduction of the content such as the second time window and the first bandwidth value included in the allocation information, please refer to the previous step 202, which will not be elaborated here.
[0136] Optionally, the bandwidth information of the allocation path includes n available bandwidth values corresponding to n consecutive time periods within the first time window, and the relationship between the first bandwidth value and the n available bandwidth values. Exemplarily, the bandwidth information of the allocation path presented to the user can be as Figure 5B , Figure 5C or Figure 5D shown. By sending the available bandwidth values of each time period within the first time window and the first bandwidth value to the user terminal, it is possible to visually display to the user the change in the bandwidth resources available for allocation along the allocation path over time, so that the user can confirm the allocation information or adjust the time or bandwidth requirements of the task for the to-be-reserved resources based on the bandwidth information of the allocation path, thereby facilitating the improvement of the user experience of the user's reservation of computing power resources.
[0137] Optionally, the allocation information may further include the first time window, and the positional relationship of the second time window relative to the first time window. Exemplarily, the positional relationship of the second time window relative to the first time window can be as Figure 5B , Figure 5C or Figure 5D shown, which will not be elaborated here.
[0138] Optionally, the allocation information further includes information such as the input computing node, service type, computing path policy, and protection policy of the first task.
[0139] Optionally, the allocation information further includes the routing graph of the allocation path. If the management device configures a protection path for the first task, the allocation information may further include the routing graphs of the working path (i.e., the allocation path) and the protection path.
[0140] Exemplarily, as Figure 6A shown, it is the allocation information determined by the management device when the first task is an industrial quality inspection task. The data volume of this industrial quality inspection task is 10T, the first time window is from 13:00 to 17:00 on June 28, 2023, and the input computing node is network element 1. In addition, this industrial quality inspection task has also applied for a primary and standby protection policy, as well as computing path policies such as minimum delay, minimum number of hops, and forced separation of primary and standby routes. In addition, this industrial quality inspection task also requires a delay constraint within 5ms and a hop count constraint within 20 hops. The allocation path (i.e., the primary path) finally determined by the management device is from network element 1, network element 2 to network element 3, and the protection path (i.e., the standby path) is from network element 1, network element 4 to network element 3. The bandwidth of this allocation path is 10G, and the second time window is from 13:20 to 14:50 on June 28, 2023, that is, the management device reserves 10G resources in the allocation path from 13:20 to 14:50 for this industrial quality inspection task. The estimated delay of this allocation path is 3ms, and the number of hops is 2 hops.
[0141] After the management device executes step 404a, the management device may also execute step 405a and step 406a. For example, after the user terminal receives the allocation information of the first task, the user terminal will display it to the user. If the user allows to allocate resources for the first task according to the allocation path and the second time window provided by the allocation information, the user will feedback indication information to the management device through the user terminal device to trigger the management device to reserve bandwidth resources for the first task based on the allocation information.
[0142] Step 405a, the user terminal sends the first indication information; correspondingly, the management device receives the first indication information.
[0143] Among them, the first indication information is used to indicate that it is allowed to allocate resources for the first task according to the allocation information.
[0144] Step 406a, the management device allocates bandwidth resources for the first task on the allocation path within the second time window based on the allocation information of the first task.
[0145] In this step, after the management device receives the first indication information, the management device reserves bandwidth resources for the first task based on the allocation information, so that the task data of the first task can be transmitted from the input calculation node to the calculation node using the bandwidth resources of the allocation path within the second time window.
[0146] It can be understood that the allocation information determined by the management device for the first task needs to be confirmed by the user terminal before the management device can allocate bandwidth resources for the first task on the allocation path within the second time window. This is beneficial to reducing the probability that the allocated bandwidth resources do not meet the scenario requirements of the user and is beneficial to improving the user experience.
[0147] Step 404b, the management device sends an alarm message to the user terminal.
[0148] In this step, if the management device determines that there is no second time window that meets the first constraint based on the bandwidth information of at least one candidate path, the data volume of the first task, and the first time window, the management device outputs an alarm message, and the alarm message is used to indicate that there is no bandwidth resource that can be allocated to the first task within the first time window. Exemplarily, as Figure 6B shown, it is the alarm message determined by the management device when the first task is a medical cloud task. The data volume of this medical cloud task is 10T, the first time window is from 17:00 to 18:00 on June 28, 2023, and the input calculation node is network element 5. In addition, this medical cloud task has also applied for a primary and backup protection strategy, as well as calculation path strategies such as minimum delay, minimum number of hops, and forced separation of primary and backup routes. In addition, this medical cloud task also requires a delay constraint within 5ms and a hop count constraint within 20 hops. The management device finally fails to determine a suitable allocation path and sends it to the user terminal Figure 6BThe alarm information shown. After the user terminal receives the alarm information, the user terminal displays the alarm information to the user, which is beneficial for the user to optimize the task requirements immediately.
[0149] Optionally, the alarm information includes an optimization suggestion, suggesting that the operator expand or newly build an optical channel (OCH) channel between some network nodes in the computing power network.
[0150] Optionally, the alarm information further includes the available bandwidth value of the third time window and the third candidate path. The product of the duration of the third time window and the available bandwidth value of the third candidate path is greater than or equal to the data volume of the first task. The third time window is the time range for the management device to suggest reserving the bandwidth resource of the third candidate path for the first task. It can be understood that when the management device fails to find a second time window that meets the first constraint in the computing power network based on the demand information of the first task, the management device still determines a third time window and a third candidate path that are relatively in line with the task requirements of the first task based on the demand information of the first task, for the user terminal to decide whether to use the third time window and the third candidate path. It realizes providing relatively appropriate reservable bandwidth resources for the user terminal in the case of tight bandwidth resources, which is beneficial to improving the user experience.
[0151] Optionally, the third time window may intersect with the first time window or may have an empty intersection with the first time window, which is not limited in this application.
[0152] Exemplarily, as Figure 6C shown, although the management device fails to find an allocation path and a second time window within the first time window (i.e., 17:00-18:00 on June 28, 2023), the management device provides a third time window (i.e., 17:30-18:30 on June 28, 2023) and the bandwidth information of the third allocation path (i.e., 5G).
[0153] After the management device executes step 404b, the management device may also execute step 405b and step 406b. For example, after the user terminal receives the alarm information of the first task, the user terminal will display it to the user. If the user allows to allocate resources for the first task according to the third allocation path and the third time window provided by the alarm information, the user feeds back an indication message to the management device through the user terminal device to trigger the management device to reserve the bandwidth resource for the first task based on the alarm information.
[0154] Step 405b, the user terminal sends a second indication message; correspondingly, the management device receives the second indication message.
[0155] Step 406b, the management device allocates the bandwidth resource of the third candidate path within the third time window for the first task based on the alarm information.
[0156] In this step, after receiving the second indication information, the management device reserves bandwidth resources for the first task based on the alarm information, so that the task data of the first task uses the bandwidth resources of the third candidate path within the third time window.
[0157] In this embodiment, the requirement information of the first task obtained by the management device includes the data volume of the first task and the first time window in which the user expects to reserve bandwidth resources for the first task. When the management device determines that there is a second time window associated with the first time window based on the data volume of the first task and the first time window, the management device outputs allocation information, and the allocation information includes the second time window and the bandwidth information of a candidate path that supports transmitting the data volume of the first task within the second time window (i.e., the bandwidth information of the allocation path). Since the management device does not directly allocate bandwidth resources according to the first time window, but determines a more accurate second time window to allocate bandwidth resources by referring to the data volume of the first task and the first time window. Therefore, it is beneficial to improve the accuracy of resource allocation in the computing power network, and further improve the resource utilization rate of the computing power network.
[0158] Corresponding to the solution given in the foregoing method embodiment, the embodiment of the present application also provides a corresponding device, and the device includes functions for executing the management device in the foregoing embodiment.
[0159] As Figure 7 shown, it is a schematic structural diagram of a device 70 provided in this embodiment. It should be understood that the management device in the foregoing Figure 2 or Figure 4 corresponding method embodiment can be based on the structure of the device 70 shown in this embodiment. As [[ID= / / 17]] Figure 7 shown, the device 70 may include a processor 701. Optionally, the device 70 may further include a memory 703 and a communication interface 702. Among them, the processor 701 is coupled to the memory 703, and the processor 701 is coupled to the communication interface 702. Figure 7 shown, the device 70 may include a processor 701. Optionally, the device 70 may further include a memory 703 and a communication interface 702. Among them, the processor 701 is coupled to the memory 703, and the processor 701 is coupled to the communication interface 702.
[0160] Among them, the foregoing communication interface 702 is connected to other devices through a communication link. For example, the communication interface 702 may include an interface between the device 70 and a user terminal. For another example, the communication interface 702 includes an interface between the device 70 and nodes in the computing power network (such as, an access computing node, a network node, a computing node, etc.).
[0161] Among them, the aforementioned processor 701 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The aforementioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The processor 701 may refer to a single processor or may include multiple processors, and specific details are not limited herein.
[0162] In addition, the aforementioned memory 703 is mainly used to store software programs and data. The memory 703 may exist independently and be connected to the processor 701. Optionally, the memory 703 may be integrated with the processor 701, for example, integrated within one or more chips. Among them, the memory 703 can store the program code for implementing the technical solution of the embodiments of the present application and be controlled by the processor 701 for execution. The various computer program codes executed can also be regarded as the driver programs of the processor 701. The memory 703 may include volatile memory, such as random-access memory (RAM); the memory may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid-state drive (SSD); the memory 703 may also include a combination of the above types of memories. The memory 703 may refer to a single memory or may include multiple memories. Exemplarily, the memory 703 is used to store various data. For example, information about each node in the computing power network, and information about the links between each node, etc. Specifically, please refer to the relevant introduction in the previous embodiments, and details are not elaborated herein.
[0163] In one design, the device 70 is used to execute the aforementioned Figure 2 or Figure 4A method for managing a device in a corresponding embodiment. Among them, the communication interface 702 is used to obtain the requirement information of the first task. The requirement information of the first task includes the first time window of the first task and the data volume of the first task. The first time window is the time range for the user to apply for reserving bandwidth resources to transmit the first task. The processor 701 is used to determine a second time window associated with the first time window based on the data volume of the first task and the first time window. There is at least one candidate path within the second time window whose bandwidth resources support the transmission of the data volume of the first task. In addition, when the processor 701 determines that there is a second time window associated with the first time window, it outputs the allocation information of the first task. The allocation information includes the bandwidth information of the allocation path of the first task and the second time window. The allocation path is one of at least one candidate path, and the second time window is the time range for the management device to recommend reserving the bandwidth resources of the allocation path for the first task.
[0164] In a possible implementation manner, the second time window and the first time window satisfy a first constraint, and the first constraint includes any one of the following:
[0165] The start time of the second time window is greater than or equal to the start time of the first time window, and the end time of the second time window is less than or equal to the end time of the first time window; or, the start time of the second time window is less than or equal to the end time of the first time window.
[0166] In a possible implementation manner, the duration of the second time window is greater than or equal to a first duration, and the first duration is related to the data volume of the first task and the bandwidth information of the allocation path.
[0167] In a possible implementation manner, the bandwidth information of the allocation path includes a first bandwidth value, and the first bandwidth value is the bandwidth value that enables the first task to be transmitted earliest within the first time window. Optionally, the product of the first bandwidth value and the first duration is equal to the data volume of the first task.
[0168] In a possible implementation manner, the first time window includes n consecutive time periods, and the bandwidth information of the allocation path includes n available bandwidth values corresponding to the n consecutive time periods respectively. The available bandwidth values in different time periods are not completely the same, and the first bandwidth value is one of the n available bandwidth values, where n is an integer greater than 0.
[0169] In a possible implementation manner, the second time window is located in the first i time periods among the n consecutive time periods, the first bandwidth value is the minimum value of the i available bandwidth values corresponding to the first i time periods respectively, and the first duration is less than or equal to the duration of the first i time periods, where i is an integer greater than 0 and less than or equal to n.
[0170] In a possible implementation, the second time window is located in the j-th period among n consecutive periods, the first bandwidth value is the available bandwidth value of the j-th period, the first duration is less than or equal to the duration of the j-th period, and j is an integer greater than 0 and less than or equal to n.
[0171] In a possible implementation, the processor 701 obtains the bandwidth information of the first candidate path in at least one candidate path, and the bandwidth information of the first candidate path is used to indicate the bandwidth resources supported by the first candidate path for allocating to the first task within the first time window; if the processor 701 determines that there is a second time window that satisfies the first constraint based on the bandwidth information of the first candidate path, the data volume of the first task, and the first time window, the processor 701 determines the bandwidth information of the second candidate path as the bandwidth information of the allocation path.
[0172] In a possible implementation, if the processor 701 determines that there is no second time window that satisfies the first constraint based on the bandwidth information of the first candidate path, the data volume of the first task, and the first time window, the processor 701 obtains the bandwidth information of the second candidate path in at least one candidate path, and the second candidate path does not include the first section, and the first section is an unavailable section in the first candidate path where the bandwidth resources have been allocated to other tasks. In addition, if the processor 701 determines that there is a second time window that satisfies the first constraint based on the bandwidth information of the second candidate path, the data volume of the first task, and the first time window, the processor 701 determines the bandwidth information of the second candidate path as the bandwidth information of the allocation path.
[0173] In a possible implementation, if the processor 701 determines that there is no second time window that satisfies the first constraint based on the bandwidth information of at least one candidate path, the data volume of the first task, and the first time window, the communication interface 702 outputs an alarm message, and the alarm message is used to indicate that there is no bandwidth resource available for allocating to the first task for the time moment.
[0174] It should be noted that the specific implementation manners and beneficial effects of this embodiment can be referred to the method of the management device in the above embodiment, and will not be elaborated here.
[0175] As Figure 8 shown, the present application further provides a device 80. The device 80 may be a management device or platform of a computing power network, or a component (such as an integrated circuit, a chip, etc.) of a management device or platform of a computing power network, which is not limited in the present application.
[0176] The device 80 may include a processing module 801 (or referred to as a processing unit). Optionally, it may further include an interface module 802 (or referred to as a transceiver unit or transceiver module) and a storage module 803 (or referred to as a storage unit). The interface module 802 is used to communicate with other devices. The interface module 802 may be, for example, a transceiver module or an input / output module.
[0177] In a possible design, one or more of the Figure 8 modules may be implemented by one or more processors, or by one or more processors and a memory; or by one or more processors and a transceiver; or by one or more processors, a memory, and a transceiver. The embodiments of the present application do not make any limitations in this regard. The processor, memory, and transceiver may be provided separately or integrated into one body.
[0178] The device 80 has the function of implementing the management device described in the embodiments of the present application. For example, the device 80 includes the modules or units or means corresponding to the steps involved in the management device described in the embodiments of the present application. The function or unit or means may be implemented by software, or by hardware, or by hardware executing corresponding software, or by a combination of software and hardware. For details, reference may be further made to the Figure 2 or Figure 4 corresponding descriptions in the corresponding method embodiments, which will not be elaborated here.
[0179] In addition, the present application provides a computer program product, which includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions according to the embodiments of the present application are generated in whole or in part. For example, to implement as described above Figure 2 or Figure 4Methods related to the management device therein. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that the computer can store or a data storage device such as a server or data center that includes one or more integrated available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., digital versatile disc (DVD)), or a semiconductor medium (e.g., solid-state disk (SSD)), etc.
[0180] In addition, the present application also provides a computer-readable storage medium storing a computer program, which is executed by a processor to implement the method related to the management device as described above Figure 2 in the above.
[0181] It should be understood that in various embodiments of the present application, the magnitudes of the sequence numbers of the above processes do not mean the order of execution. The order of execution of each process should be determined by its function and internal logic and should not constitute any limitation to the implementation process of the embodiments of the present application.
[0182] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.
Claims
1. A resource allocation method, applied to a management device, characterized in that: include: Obtaining demand information for a first task, where the demand information for the first task includes a first time window for the first task and a data volume for the first task, where the first time window is a time range within which a user applies to reserve bandwidth resources for transmitting the first task; If it is determined based on the data volume of the first task and the first time window that there is a second time window associated with the first time window, and there is bandwidth resources of at least one candidate path in the second time window that supports the transmission of the data volume of the first task, then the allocation information of the first task is output, and the allocation information includes the bandwidth information of the allocation path of the first task and the second time window. The allocation path is one of the at least one candidate path, and the second time window is the time range for the management device to recommend that the first task reserve the bandwidth resources of the allocation path.
2. The method according to claim 1, characterized in that The second time window and the first time window satisfy a first constraint, where the first constraint includes any one of the following: The starting time of the second time window is greater than or equal to the starting time of the first time window, and the ending time of the second time window is less than or equal to the ending time of the first time window; or The start time of the second time window is less than or equal to the end time of the first time window.
3. The method according to claim 2, characterized in that The duration of the second time window is greater than or equal to the first duration, and the first duration is related to the data volume of the first task and bandwidth information of the allocation path.
4. The method according to claim 3, characterized in that The bandwidth information of the allocation path includes a first bandwidth value, where the first bandwidth value is a bandwidth value that enables the first task to complete transmission earliest within the first time window.
5. The method according to claim 4, characterized in that The product of the first bandwidth value and the first duration is equal to the data volume of the first task.
6. The method according to claim 4 or 5, characterized in that The first time window includes n consecutive time periods, and the bandwidth information of the allocation path includes n available bandwidth values corresponding to the n consecutive time periods respectively. The available bandwidth values of different time periods are not exactly the same. The first bandwidth value is one of the n available bandwidth values, and n is an integer greater than 0.
7. The method according to claim 6, characterized in that The second time window is located in the first i time periods of the n consecutive time periods, the first bandwidth value is the minimum value of the i available bandwidth values corresponding to the first i time periods, the first duration is less than or equal to the duration of the first i time periods, and i is an integer greater than 0 and less than or equal to n.
8. The method according to claim 6, characterized in that The second time window is located in the jth time period of the n consecutive time periods, the first bandwidth value is the available bandwidth value of the jth time period, the first duration is less than or equal to the duration of the jth time period, and j is an integer greater than 0 and less than or equal to n.
9. The method according to any one of claims 2 to 8, characterized in that The method further comprises: Obtaining bandwidth information of a first candidate path among the at least one candidate path, where the bandwidth information of the first candidate path is used to indicate that the first candidate path supports bandwidth resources allocated to the first task within the first time window; If it is determined that the second time window that meets the first constraint exists based on the bandwidth information of the first candidate path, the data volume of the first task, and the first time window, the bandwidth information of the second candidate path is determined to be the bandwidth information of the allocated path.
10. The method according to claim 9, characterized in that The method further comprises: If it is determined based on the bandwidth information of the first candidate path, the data volume of the first task, and the first time window that the second time window that satisfies the first constraint does not exist, obtaining bandwidth information of a second candidate path among the at least one candidate path, where the second candidate path does not include a first section, and the first section is an unavailable section in the first candidate path where bandwidth resources have been allocated to other tasks; If it is determined that the second time window that meets the first constraint exists based on the bandwidth information of the second candidate path, the data volume of the first task, and the first time window, the bandwidth information of the second candidate path is determined to be the bandwidth information of the allocated path.
11. The method according to any one of claims 2 to 10, characterized in that The method further comprises: If it is determined based on the bandwidth information of the at least one candidate path, the data volume of the first task and the first time window that the second time window that meets the first constraint does not exist, an alarm message is output, where the alarm message is used to indicate that there are currently no bandwidth resources that can be allocated to the first task.
12. The method according to claim 11, characterized in that The alarm information also includes a third time window and an available bandwidth value of a third candidate path, the product of the duration of the third time window and the available bandwidth value of the third candidate path is greater than or equal to the data volume of the first task, and the third time window is the time range in which the management device recommends that the first task reserve the bandwidth resources of the third candidate path.
13. The method according to any one of claims 1 to 12, characterized in that The requirement information of the first task also includes at least one of the following: Information about the computing nodes of the first task; or Information about the computing nodes of the first task; or The path calculation strategy of the first task, the path calculation strategy including at least one of a minimum delay strategy, a minimum hop count strategy, a primary / backup routing separation strategy, or a specified path utilization strategy; or, The protection strategy of the first task is used to indicate whether to enable primary and backup path protection.
14. The method according to claim 13, characterized in that The method further comprises: The at least one candidate path is determined based on the demand information of the first task, and bandwidth resources of each of the at least one candidate path within the first time window support the transmission of the data volume of the first task.
15. The method according to any one of claims 1 to 14, characterized in that The allocation information also includes routing information of an allocation path of the first task, where the routing information is used to indicate a path for transmitting the first task from an input node to a computing node.
16. The method according to any one of claims 1 to 15, characterized in that The method further comprises: receiving first indication information, where the first indication information is used to indicate that resources can be allocated to the first task according to the allocation information; Bandwidth resources of the allocation path within the second time window are allocated to the first task based on the allocation information of the first task.
17. The method according to claim 12, wherein: The method further comprises: receiving second indication information, where the second indication information is used to indicate that resources can be allocated to the first task according to the alarm information; Bandwidth resources of the third candidate path within the third time window are allocated to the first task based on the alarm information.
18. A management device, characterized in that: The device comprises means for performing the method according to any one of claims 1 to 17.
19. A management device, characterized in that: comprising a processor configured to perform the method as claimed in any one of claims 1 to 17.
20. A computer-readable storage medium, characterized in that The device stores instructions which, when executed on a computer, cause the computer to execute the method according to any one of claims 1 to 17.