Communication method, communication apparatus and communication system
By pre-caching images of computing tasks in edge-cloud collaborative computing scenarios, the problem of long image download times leading to large deployment latency and low efficiency is solved, enabling rapid task deployment and efficient utilization of storage resources.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-11-04
- Publication Date
- 2026-06-04
AI Technical Summary
In edge-cloud collaborative computing scenarios, the long image download time for computing tasks leads to high deployment latency and low efficiency.
By pre-acquiring the image identifier of the task through the cache control function, the storage node is triggered to pre-cache the image so that the cached image can be used directly during task scheduling, thereby reducing image download time.
Significantly reduces task startup latency, improves task deployment efficiency, and avoids problems such as insufficient storage space or excessive load.
Smart Images

Figure CN2025132521_04062026_PF_FP_ABST
Abstract
Description
Communication methods, communication devices and communication systems
[0001] This application claims priority to Chinese Patent Application No. 202411749384.7, filed on November 29, 2024, entitled "Communication Method, Communication Apparatus and Communication System", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communications, and more particularly to a communication method, communication device, and communication system. Background Technology
[0003] In edge-cloud collaborative computing scenarios, computing tasks can run independently or in a distributed manner on various nodes or clusters. These nodes or clusters may be located in different geographical regions, different data centers, or even belong to different operators or cloud providers. Because the computing power and transmission resources of each node or cluster are dynamically changing, and terminals may move, computing tasks may be scheduled between different nodes or regions—for example, offloaded, reallocated, or migrated. For instance, a terminal may offload computing tasks to edge nodes or cloud nodes as needed. Furthermore, dynamic adjustments to the offloading strategy may lead to the reallocation of computing tasks between the terminal, edge, and cloud. Finally, dynamic changes in load within a region, such as terminal switching of serving cells, may cause computing tasks to migrate across regions.
[0004] Currently, most computing tasks rely on images for deployment. Specifically, after a computing task is scheduled (e.g., unloaded, reassigned, or migrated) to a target node, the target node first downloads the image corresponding to the computing task from the image storage function, and then starts the computing task based on the downloaded image. However, images are usually large in size, and the time required to download images is long, resulting in high deployment latency and low efficiency for computing tasks. Summary of the Invention
[0005] This application provides a communication method, apparatus, and system that can reduce task startup latency and improve task deployment efficiency.
[0006] In a first aspect, a communication method is provided, which can be executed by a first buffer control function, which can be executed by a unit / module / component (such as a chip, chip system, logic circuit or software) configured in (or applicable to) a communication device (such as a base station, router or edge device).
[0007] The method includes: a first cache control function acquiring a mirror identifier of a first task, wherein the first task is a task to be scheduled, and the mirror identifier is used to identify the mirror of the first task; the first cache control function sending first information based on the mirror identifier of the first task, the first information being used to trigger a first storage node to pre-cache the mirror of the first task.
[0008] According to the above scheme, the first cache control function can determine the image of the scheduled task that can be pre-cached by the first storage node, and notify the first storage node to pre-cach. This allows the task to be quickly deployed based on the image that has been successfully pre-cached by the first storage node when it is scheduled. Compared with pulling the image of the first task after scheduling the first task, this can significantly reduce the task startup latency and improve the efficiency of task deployment.
[0009] In one optional implementation, the first cache control function obtains the image identifier of the first task, including: the first cache control function obtains the image identifier of the first task from the workflow to be scheduled, the workflow to be scheduled includes the image identifier of the task to be scheduled, and the task to be scheduled includes the first task.
[0010] According to the above implementation, the first cache control function can obtain the image identifier of the task to be scheduled from the workflow to be scheduled, so that the first cache control function can allocate a storage node for the image of the task to be scheduled, so that the image of the task to be scheduled can be pre-cached to the storage node.
[0011] Optionally, the workflow also includes task dependencies, which include dependencies of at least one task, including a first task. The method further includes: a first cache control function determining, based on the task dependencies, the image storage resource requirements of the at least one task, and the storage status of a first region, that the image of the first task be pre-cached by a first storage node. The first region includes at least one compute node scheduled by a first scheduling function, and the at least one compute node includes a first storage node.
[0012] According to the above scheme, the first cache control function can determine whether to pre-cache an image of a task to be scheduled, and which storage nodes(s) should pre-cache the image of the task to be scheduled, based on task dependencies, the image storage resource requirements of the task to be scheduled, and the load status in the first region. This can reduce the problem of insufficient storage space or excessive storage load affecting system efficiency due to pre-caching images of tasks to be scheduled in the workflow, and enable rapid task deployment while ensuring system efficiency.
[0013] For example, task dependency is the relationship between the execution order of tasks, such as a task that depends on the completion of a preceding task before it can begin execution.
[0014] Optionally, the first cache control function determines that the image of the first task should be pre-cached by the first storage node based on the task dependency relationship, the image storage resource requirements of at least one task, and the storage status of the first region. This includes: the first cache control function determines to pre-cachate the image of the first task based on the task dependency relationship, the image storage resource requirements of at least one task, and the storage status of the first region.
[0015] According to the above scheme, the first cache control function can determine to pre-cache the image of the first task, taking into account the dependencies between tasks, the image storage requirements of tasks, and the storage status of the region. This can reduce the probability of insufficient storage space or excessive storage load in the first region.
[0016] Optionally, the first cache control function determines to pre-cache the image of the first task based on task dependencies, the image storage resource requirements of at least one task, and the storage status of the first region. This includes: the first cache control function determining image dependencies based on task dependencies; and the first cache control function determining to pre-cache the image of the first task based on image dependencies, the image storage resource requirements of at least one task, and the storage status of the first region.
[0017] According to the above scheme, since one task corresponds to one image in the task dependency relationship, and a task is deployed based on the image corresponding to that task, while different tasks may correspond to the same image, the first cache control function can specifically determine the dependency relationship between images based on the task dependency relationship. Based on the image dependency relationship, image storage resource requirements, and the storage status of the first region, images are filtered to determine which image for the first task should be pre-cached. This reduces the probability of insufficient storage space or excessive storage load in the first region.
[0018] Optionally, the method further includes: a first cache control function acquiring the image storage resource requirements of at least one task.
[0019] The first cache control function can obtain the image storage resource requirements corresponding to the image identifier from the image storage function based on the image identifier of the task to be scheduled. This allows the first cache control function to refer to the image storage resource requirements of the image, filter the images of the task to be scheduled, and determine to pre-cache at least one image.
[0020] In another alternative implementation, the first task is a task to be migrated from an area outside the first region to the first region. The first region includes at least one computing node scheduled by a first scheduling function, and the at least one computing node includes a first storage node.
[0021] According to this implementation, the first cache control function allocates storage nodes to tasks (referred to as migration tasks) that are to be migrated from areas outside the first region to the first region, so as to pre-cache the image of the migration task. This enables the migration task to be quickly deployed based on the pre-cache image after it is migrated to the first region, thereby improving the deployment efficiency of the migration task.
[0022] Optionally, the first cache control function obtains the image identifier of the first task, including: the first cache control function receives a first message, which is used to trigger pre-caching of the image, and the first message includes the image identifier of the first task.
[0023] According to the above scheme, the first cache control function can obtain the image identifier of the task to be migrated through the first message, so that the first cache control function can allocate storage nodes for the image of the task to be migrated, and realize that the image of the task to be migrated can be pre-cached to the storage node.
[0024] For example, the first message may come from the first load detection function, which is the load detection function in the first region. The first load detection function can obtain the tasks to be migrated and filter at least one task from the tasks to be migrated. The at least one task is a task that allows the corresponding image to be pre-cached to the first region. The at least one task includes the first task.
[0025] For example, the first message may originate from a functional module outside the first region, such as a second cache control function or a second load detection function in the second region. The first cache control function can receive the first message from a functional module outside the first region, and the first message includes a mirror identifier that is the mirror identifier of the task to be migrated, including the mirror identifier of the first task.
[0026] Optionally, the method further includes: a first cache control function determining, based on the load status of the first region, whether to allow the image of the first task to be pre-cached in the first region.
[0027] According to the above scheme, the first cache control function can consider the load status of the first region to filter the images of the tasks to be migrated, and determine whether the image of the first task in the tasks to be migrated can be pre-cached in the first region. This can reduce the probability of insufficient storage space or excessive storage load in the first region due to pre-caching the images of the tasks to be migrated.
[0028] Optionally, the method further includes: a first cache control function determining, based on the image storage resource requirements of the first task and the storage status of the first region, that the image of the first task be pre-cached by a first storage node. The first region includes at least one compute node scheduled by a first scheduling function, and the at least one compute node includes the first storage node.
[0029] For example, the storage status of the first region includes the remaining storage space of at least one storage node in the first region.
[0030] According to the above scheme, the first cache control function allocates a suitable storage node, namely the first storage node, to the image of the first task based on the image storage resource requirements of the first task and the storage status of the first region. The first storage node pre-caches the image of the first task to achieve rapid deployment of the first task.
[0031] Optionally, the method further includes: a first cache control function receiving second information from a first storage node, the second information indicating that the image of the first task has been successfully pre-cached. Based on the second information, the first cache control function sends third information, the third information indicating that the image of the first task has been successfully pre-cached by the first storage node.
[0032] According to the above scheme, after the first cache control function learns through the second information that the first storage node has successfully pre-cached the image of the first task, it can send the third information so that the first scheduling function can learn that the first storage node has successfully pre-cached the image of the first task. The first scheduling function can prioritize scheduling the first task to the first storage node that has successfully pre-cached the image of the first task, thereby enabling the rapid deployment of the first task.
[0033] For example, the first cache control node can store the third information in a database by sending it, and the first scheduling function can retrieve the identifier of the successfully pre-cached image from the database. Alternatively, the first cache control function can send the third information to the first scheduling function, and the first scheduling function, upon receiving the third information, determines that the image of the first task has been successfully pre-cached to the first storage node.
[0034] Secondly, a communication method is provided, which can be executed by a first load detection function, which can be executed by a unit / module / component (such as a chip, chip system, logic circuit or software) configured in a communication device (such as a base station, router or edge device).
[0035] The method includes: a first load detection function receiving a second message, the second message being used to trigger a pre-cached image, the second message including an image identifier of a first task, the first task being a task to be migrated from a region outside a first region to the first region, the first region including at least one compute node scheduled by a first scheduling function, the image identifier of the first task being used to identify the image of the first task. The first load detection function, based on the second message and the load status of the first region, sends a first message, the first message being used to trigger the pre-cached image, the first message including the image identifier of the first task.
[0036] According to the above scheme, the first load detection function can obtain the image identifier of the task to be migrated through the second message, and based on the load status, trigger the pre-caching of the image of the task to be migrated through the first message, so as to realize the pre-caching of the image of the task to be migrated.
[0037] In conjunction with the second aspect, in some embodiments of the second aspect, the first load detection function sends a first message based on the second message and the load status of the first region, including: if it is determined based on the load status of the first region that it is permissible to pre-cache the image of the first task in the first region, then the first load detection function sends the first message.
[0038] According to the above scheme, the first load detection function can consider the load status of the first region to filter the images of the tasks to be migrated, and determine whether the image of the first task in the tasks to be migrated can be pre-cached in the first region. This can reduce the probability of insufficient storage space or excessive storage load in the first region due to pre-caching the images of the tasks to be migrated.
[0039] In conjunction with the second aspect, in some embodiments of the second aspect, the method further includes: a first load detection function receiving fourth information, the fourth information indicating a successfully pre-cached image, the fourth information including an image identifier of the first task; and the first load detection function sending fifth information based on the fourth information, the fifth information indicating a successfully pre-cached image, the fifth information including an image identifier of the first task.
[0040] According to the above scheme, the first load detection function can send the fifth information based on the received fourth information. The fifth information enables the scheduling function (such as the second scheduling function) in the area where the first task is located to know that the first area has successfully pre-cached the image of the first task, so that the second scheduling function can migrate the first task to the first area and realize the rapid deployment of the first task.
[0041] Optionally, the method further includes: a first load detection function sending a third message, the third message being used to trigger a pre-cached image, the third message including an image identifier of a second task, the second task being a task to be migrated from the first region to a region outside the first region, the image identifier of the second task being used to identify the image of the second task.
[0042] According to the above scheme, the first load detection function can trigger other regions to pre-cache the image of the task to be migrated (i.e., the second task) in the first region through a third message, so as to achieve rapid deployment of the second task. This reduces the load on the first region and improves system performance.
[0043] Optionally, the method further includes: a first load detection function determining, based on the load status of the first region, to migrate the second task in the workflow to be scheduled out of the first region.
[0044] According to the above scheme, the first load detection function can consider the load status of the first region and determine whether to migrate the second task out of the first region. This enables collaborative mirror caching between high and low load regions, improving system performance.
[0045] Optionally, the method further includes: a first load detection function receiving sixth information, the sixth information being used to indicate a successfully pre-deferred image, the sixth information including the image identifier of the second task.
[0046] According to the above scheme, the first load detection function can determine through the sixth information that the image of the task to be migrated has been successfully pre-cached in other regions. The first load detection function notifies the first scheduling function so that the first scheduling function can prioritize migrating the second task out of the first region, which can reduce the load of the first region and enable the rapid deployment of the first task.
[0047] Thirdly, a communication method is provided, which can be executed by a second load detection function, which can be executed by a unit / module / component (such as a chip, chip system, logic circuit or software) configured in (or applicable to) a communication device (such as a base station, router or edge device).
[0048] The method includes: a second load detection function determining to migrate a first task in a workflow to be scheduled from a second region to a first region. The second load detection function sends a second message to trigger a pre-cached mirror, the second message including a mirror identifier of the first task, the mirror identifier of the first task being used to identify the mirror of the first task, wherein the first region includes at least one compute node scheduled by a first scheduling function, the second region includes at least one compute node scheduled by a second scheduling function, the first scheduling function being different from the second scheduling function.
[0049] According to the above scheme, the second load detection function can trigger the first region to pre-cache the image of the task to be migrated in the second region through the second message, so as to realize the rapid deployment of the first task, reduce the load on the second region, and improve system performance.
[0050] Optionally, the second load detection function determines to migrate the first task in the workflow to be scheduled from the second region to the first region, including: the second load detection function determines to migrate the first task from the second region to the first region based on at least one of the task dependency, the mirror storage resource requirements of the first task, the load status of the second region or the load status of the first region.
[0051] According to the above scheme, the second load detection function can consider at least one of the following: task dependencies, the image storage resource requirements of the first task, the load status of the second region, or the load status of the first region, to determine the tasks to be migrated in the second region. This can increase the probability that the images of the tasks to be migrated are successfully pre-cached.
[0052] In conjunction with the third aspect, in some embodiments of the third aspect, the method further includes: a second load detection function receiving fifth information, the fifth information indicating a successfully pre-cached image, the fifth information including an image identifier of the first task.
[0053] According to the above scheme, the second load detection function can determine through the fifth information that the image of the task to be migrated has been successfully pre-cached by other regions. The second load detection function notifies the scheduling function of the second region so that the scheduling function can prioritize migrating the first task out of the second region, which can reduce the load of the second region and enable the rapid deployment of the first task.
[0054] Fourthly, a communication method is provided, which can be executed by a first image management function, which can be executed by a unit / module / component (such as a chip, chip system, logic circuit or software) configured in (or applicable to) a communication device (such as a terminal, base station, edge device, core network device or cloud computing device).
[0055] The method includes: a first image management function receiving first information, which triggers a first storage node to pre-cache the image of a first task; the first image management function pre-caching the image of the first task according to the first information; and the first image management function sending second information indicating that the image of the first task has been successfully pre-cached.
[0056] According to the above scheme, the first image management function can pre-cache the image of the first task based on the first information from the first cache control function, and report the successful pre-caching of the image of the first task. Implementing the pre-caching of the image of the first task can improve the deployment efficiency of the first task.
[0057] In conjunction with the fourth aspect, in some embodiments of the fourth aspect, the first information includes a mirror identifier of the first task, which is used to identify a mirror image of the first task.
[0058] Fifthly, a communication method is provided, which can be executed by a first scheduling function, the first scheduling function being executed by a unit / module / component (such as a chip, chip system, logic circuit or software) configured in (or applicable to) a communication device (such as a base station, core network device or server).
[0059] The method includes: a first scheduling function learning that a first storage node has successfully pre-cached an image of a first task; and the first scheduling function scheduling the first task to the first storage node.
[0060] According to the above scheme, the first scheduling function can know that the image of the first task has been successfully pre-cached by the first storage node, so it can prioritize scheduling the first task to the first storage node, which can realize the rapid deployment of the task. Compared with pulling the image of the first task after scheduling the first task, it can significantly reduce the startup latency of the task and improve the efficiency of task deployment.
[0061] In conjunction with the fourth aspect, in some embodiments of the fourth aspect, the first scheduling function learns that the first storage node has successfully pre-cached the image of the first task, including: the first scheduling function receiving third information, the third information being used to indicate that the first storage node has successfully pre-cached the image of the first task.
[0062] In conjunction with the fourth aspect, in some embodiments of the fourth aspect, the method further includes: a first scheduling function determining a first storage node as a target node based on third information.
[0063] According to the above scheme, the first scheduling node can learn from the third information that the first storage node has successfully pre-cached the image of the first task, so that the first scheduling node can schedule the first task to the first storage node and have the first storage node execute the first task, which can reduce the task startup latency and achieve rapid deployment of the first task.
[0064] Sixthly, a communication device is provided. In one design, the device may include modules corresponding to the methods / operations / steps / actions described in the first aspect or any embodiment of the first aspect. These modules may be hardware circuits, software, or a combination of hardware circuits and software. In one design, the device includes: a processing unit for acquiring a mirror identifier of a first task, where the first task is a task to be scheduled, and the mirror identifier is used to identify a mirror image of the first task; and a transceiver unit for sending first information based on the mirror identifier of the first task, wherein the first information is used to trigger a first storage node to pre-cache the mirror image of the first task.
[0065] A seventh aspect provides a communication device. In one design, the device may include modules corresponding to the methods / operations / steps / actions described in the second aspect or any embodiment of the second aspect. These modules may be hardware circuits, software, or a combination of hardware circuits and software. In one design, the device includes: a transceiver unit for receiving a second message used to trigger a pre-cached image. The second message includes an image identifier for a first task, the first task being a task to be migrated from an area outside a first area to the first area. The first area includes at least one computing node scheduled by a first scheduling function. The image identifier for the first task is used to identify the image of the first task. The transceiver unit is also used to send a first message based on the second message and the load status of the first area. The first message triggers a pre-cached image, and the first message includes the image identifier for the first task.
[0066] Eighthly, a communication device is provided. In one design, the device may include modules corresponding to the methods / operations / steps / actions described in the third aspect or any embodiment of the third aspect. These modules may be hardware circuits, software, or a combination of hardware circuits and software. In one design, the device includes: a processing unit for determining to migrate a first task in a workflow to be scheduled from a second region to a first region; and a transceiver unit for sending a second message to trigger a pre-cached mirror, the second message including a mirror identifier of the first task, the mirror identifier of the first task being used to identify the mirror of the first task. The first region includes at least one computing node scheduled by a first scheduling function, and the second region includes at least one computing node scheduled by a second scheduling function, the first scheduling function being different from the second scheduling function.
[0067] A ninth aspect provides a communication device. In one design, the device may include modules corresponding to the methods / operations / steps / actions described in the fourth aspect or any of the embodiments of the fourth aspect. These modules may be hardware circuits, software, or a combination of hardware circuits and software. In one design, the device includes: a transceiver unit for receiving first information, the first information being used to trigger a first storage node to pre-cache an image of a first task; a processing unit for pre-cacheing the image of the first task according to the first information; and a transceiver unit for sending second information, the second information being used to indicate that the image of the first task has been successfully pre-cached.
[0068] In a tenth aspect, a communication device is provided. In one design, the device may include modules corresponding to the methods / operations / steps / actions described in the fifth aspect or any of the embodiments of the fifth aspect. These modules may be hardware circuits, software, or a combination of hardware circuits and software. In one design, the device includes: a transceiver unit for obtaining information that a first task image has been successfully pre-cached by a first storage node; and a processing unit for scheduling the first task to the first storage node.
[0069] Eleventhly, a communication device is provided, including a processor. The processor can implement the methods of the first to fifth aspects and any possible implementations thereof. Optionally, the communication device further includes a memory, and the processor is coupled to the memory and can be used to execute instructions in the memory to implement the methods of the first to fifth aspects and any possible implementations thereof. Optionally, the communication device further includes a communication interface, and the processor is coupled to the communication interface. In the embodiments of this application, the communication interface may be a transceiver, a pin, a circuit, a bus, a module, or other types of communication interface, and is not limited thereto.
[0070] In one implementation, the communication device is a communication equipment. When the communication device is a communication equipment, the communication interface can be a transceiver, or an input / output interface.
[0071] In another implementation, the communication device is a chip configured within a communication device. When the communication device is a chip configured within a communication device, the communication interface can be an input / output interface.
[0072] Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.
[0073] In a twelfth aspect, a processor is provided, comprising: an input circuit, an output circuit, and a processing circuit. The processing circuit is configured to receive signals through the input circuit and transmit signals through the output circuit, causing the processor to execute the methods described in the first to fifth aspects and any possible implementation thereof.
[0074] In specific implementation, the processor can be one or more chips, the input circuit can be input pins, the output circuit can be output pins, and the processing circuit can be transistors, gate circuits, flip-flops, and various logic circuits. The input signal received by the input circuit can be received and input by, for example, but not limited to, a receiver, and the signal output by the output circuit can be, for example, but not limited to, output to and transmitted by a transmitter. Furthermore, the input circuit and the output circuit can be the same circuit, which is used as both the input circuit and the output circuit at different times. This application does not limit the specific implementation of the processor and various circuits.
[0075] In a thirteenth aspect, a computer program product is provided, comprising: a computer program (also referred to as code or instructions) that, when run, causes a computer to perform the methods described in the first to fifth aspects and any possible implementation thereof.
[0076] In a fourteenth aspect, a computer-readable storage medium is provided that stores a computer program (also referred to as code or instructions) that, when executed on a computer, causes the computer to perform the methods described in the first to fifth aspects and any possible implementation thereof.
[0077] In a fifteenth aspect, a communication system is provided, comprising at least two of a first communication device, a second communication device, a third communication device, a fourth communication device, or a fifth communication device, wherein the first communication device is configured to perform the method of the first aspect and any possible implementation thereof; the second communication device is configured to perform the method of the second aspect and any possible implementation thereof; the third communication device is configured to perform the method of the third aspect and any possible implementation thereof; the fourth communication device is configured to perform the method of the fourth aspect and any possible implementation thereof; and the fifth communication device is configured to perform the method of the fifth aspect and any possible implementation thereof.
[0078] It should be understood that the beneficial effects of the features corresponding to the first aspect in the second to fifteenth aspects can be referred to the relevant description of the first aspect above, and will not be repeated here. Attached Figure Description
[0079] Figure 1 is a schematic diagram of a communication system applicable to an embodiment of this application;
[0080] Figure 2 is another schematic diagram of a communication system applicable to an embodiment of this application;
[0081] Figure 3 is a schematic flowchart of the communication method provided in an embodiment of this application;
[0082] Figure 4 is another schematic flowchart of the communication method provided in an embodiment of this application;
[0083] Figure 5 is another schematic flowchart of the communication method provided in the embodiments of this application;
[0084] Figure 6 is a schematic flowchart of the federated learning model training provided in an embodiment of this application;
[0085] Figure 7 is a schematic block diagram of an example of a communication device provided in an embodiment of this application;
[0086] Figure 8 is a schematic structural diagram of another example of the communication device provided in the embodiments of this application. Detailed Implementation
[0087] To facilitate understanding of the embodiments of this application, the following description is provided first:
[0088] In this application, "instruction" can include direct instruction, indirect instruction, explicit instruction, and implicit instruction. When describing a certain instruction information for the purpose of instructing A, it can be understood that the instruction information carries A, directly instructs A, or indirectly instructs A.
[0089] In this application, " / " can indicate that the objects before and after are in an "or" relationship. For example, A / B can mean A or B. "And / or" can be used to describe three relationships between the related objects. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. A and B can be singular or plural.
[0090] In this application, "at least one" means one or more, and "more than one" means two or more, such as three, four, or more. Similar expressions (such as at least one, at least one, etc.) are used in the same way. "At least one of the following," "one or more of the following," or similar expressions refer to any combination of these items, which may include only a single item or a combination of multiple items. For example, at least one of a, b, or c can mean: a, or b, or c; a and b; or a and c; or b and c; or a, b, and c. Where a, b, and c can be single or multiple.
[0091] In this application, for the convenience of describing the technical solutions of the embodiments of this application, the terms "first" and "second" may be used to distinguish them. The terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" are not necessarily different.
[0092] In this application, the words "exemplarily," "example," or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplarily," "example," or "for example" should not be construed as being more preferred or advantageous than other embodiments or designs. The use of the words "exemplarily," "example," or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.
[0093] In this application, "sending information / data" only indicates the direction of information / data transmission, including direct transmission via the device's communication interface (such as an air interface, or simply air interface). "Sending" can also be understood as the "output" of a module interface. "Sending" can include indirect transmission by the processing unit through the communication interface, meaning that after the processing unit outputs information / data through the module interface, it is transmitted to the device's communication interface and then sent out. "Receiving information / data" only indicates the direction of information / data transmission, including direct reception via the communication interface. "Receiving" can also be understood as the "input" of a module interface. "Receiving information / data" can include indirect reception by the processing unit through the communication interface, meaning that after the communication interface receives information / data, it is transmitted to the processing unit's module interface and then input to the processing unit. "Sending information / data to… (such as a terminal)" can be understood as the destination of the information being the terminal. It can include sending information / data directly or indirectly to the terminal. "Receiving information / data from… (such as a terminal)" can be understood as the source of the information being the terminal, and can include receiving information / data directly or indirectly from the terminal. Information / data may undergo necessary processing, such as format changes, between the source and destination, but the destination can understand the valid information / data from the source. Similar statements in this application can be understood in a similar way, and will not be repeated here.
[0094] The technical solutions of this application can be applied to various communication systems, such as Long Term Evolution (LTE) systems, 5th Generation (5G) communication systems, satellite communication systems, Wireless Fidelity (WiFi) systems, and the solutions provided in this application can also be applied to future communication systems or other communication systems. This application does not limit these applications.
[0095] Figure 1 is a schematic diagram of a communication system applicable to an embodiment of this application. As shown in Figure 1, the communication system 100 includes a radio access network (RAN) 10, a core network (CN) 20, and a data network (DN) 30. RAN 10 includes at least one RAN node (110a and 110b in Figure 1, collectively referred to as 110) and at least one terminal (120a-120j in Figure 1, collectively referred to as 120). RAN 10 may also include other RAN nodes, such as wireless relay devices and / or wireless backhaul devices (not shown in Figure 1). Terminal 120 is wirelessly connected to RAN node 110. Access network node (or RAN node) 110 is wirelessly or wired connected to core network 200. The core network device in core network 200 and the access network node 110 in RAN 10 can be different physical devices, or they can be the same physical device integrating core network logical functions and radio access network logical functions.
[0096] RAN 10 can be a cellular system related to the 3rd Generation Partnership Project (3GPP), such as 4G, 5G mobile communication systems, or future mobile communication systems. RAN 10 can also be an open access network (O-RAN or ORAN), a cloud radio access network (CRAN), or a wireless fidelity (WiFi) system. RAN 10 can also be a communication system that integrates two or more of the above systems.
[0097] Access network node 110, sometimes also referred to as access network equipment, RAN entity, or access node, constitutes part of the communication system and is used to help terminals achieve wireless access. Multiple access network nodes 110 in communication system 100 can be of the same type or different types. In some scenarios, the roles of access network node 110 and terminal 120 are relative. For example, network element 120i in Figure 1 can be a helicopter or drone, which can be configured as a mobile base station. For terminals 120j accessing RAN 10 through network element 120i, network element 120i is a base station; but for base station 110a, network element 120i is a terminal. Access network node 110 and terminal 120 are sometimes both referred to as communication devices. For example, network elements 110a and 110b in Figure 1 can be understood as communication devices with base station functions, and network elements 120a-120j can be understood as communication devices with terminal functions.
[0098] In one possible scenario, the access network node can be a base station, such as an evolved NodeB (eNodeB), a next-generation NodeB (gNB), or a base station in a future mobile communication system. The access network node can be a macro base station (as shown in Figure 1, 110a), a micro base station or indoor station (as shown in Figure 1, 110b), a relay node or donor node, or a radio controller in a CRAN scenario. Alternatively, the access network node can be an access point (AP), a transmission reception point (TRP), or an access node in a WiFi system. Optionally, the access network node can also be a server, a wearable device, a vehicle, or in-vehicle equipment. For example, the access network device in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). All or part of the functions of the access network node in this application can also be implemented through software functions running on hardware, or through virtualization functions instantiated on a platform (e.g., a cloud platform). The access network node in this application may also be a logical node, logical module, or software that can implement all or part of the functions of the access network node.
[0099] In another possible scenario, multiple access network nodes collaborate to assist the terminal in achieving wireless access, with each access network node performing a portion of the base station's functions. For example, access network nodes can be central units (CUs), distributed units (DUs), CU-control plane (CPs), CU-user plane (UPs), or radio units (RUs), etc. CUs and DUs can be set up separately or included in the same network element, such as a baseband unit (BBU). RUs can be included in radio frequency equipment or radio frequency units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs).
[0100] A terminal can also be called a terminal device, user equipment (UE), mobile station, mobile terminal, etc. Terminals can be widely used for communication in various scenarios. These scenarios include, but are not limited to, at least one of the following: Internet of Things (IoT), Passive IoT, Ambient Internet of Things (A-IoT), Enhanced Mobile Broadband (eMBB), Ultra-Reliable Low-Latency Communication (URLLC), Massive Machine-Type Communications (mMTC), Data-to-Device (D2D), Virtual-to-Digital (V2X), Machine-Type Communication (MTC), Virtual Reality, Augmented Reality, Industrial Control, Autonomous Driving, Telemedicine, Smart Grid, Smart Furniture, Smart Office, Smart Wearables, Smart Transportation, Sensing Terminals, Terminals Integrating Communication and Sensing, or Smart Cities, etc. Terminals can be mobile phones (as shown in Figure 1, 120a, 120j, and 120e), tablets, computers with wireless transceiver capabilities (as shown in Figure 1, 120g), customer-premises equipment (CPE), point-of-sale (POS) machines, wearable devices, vehicles (as shown in Figure 1, 120b), drones, helicopters, airplanes (as shown in Figure 1, 120i), ships, robots, robotic arms, sensors, detectors, or smart home devices (as shown in Figure 1, 120h), etc.
[0101] Figure 2 is another schematic diagram of a communication system applicable to an embodiment of this application.
[0102] The communication system shown in Figure 2 may include multiple computing nodes, each possessing computing capabilities and able to execute computing tasks. These multiple computing nodes may belong to one or more resource pools, including CN or cloud-side computing resource pools, RAN or edge computing resource pools, or terminal resource pools.
[0103] The CN or cloud-side computing resource pool may include at least one cloud node, meaning that the cloud node can perform computing tasks as a computing node. For example, cloud node 1 and cloud node m shown in Figure 2, as well as the at least one cloud node, may also include other cloud nodes not shown in Figure 2. Exemplarily, a cloud node may be a cloud server or a module configured on a cloud server, or a cloud node may be a core network node with computing capabilities.
[0104] The RAN or edge computing resource pool may include at least one edge node, meaning that the edge node can perform computing tasks as a computing node. For example, edge node 1 and edge node n shown in Figure 2, as well as the at least one edge node, may also include other edge nodes not shown in Figure 2. The edge node may be a RAN node or a module configured in a RAN node, or the edge node may be a node with computing capabilities located at the network edge, close to the data source or terminal.
[0105] The terminal computing resource pool may include at least one terminal, that is, a terminal can perform computing tasks as a computing node. For example, terminal 1, terminal i, terminal k, and terminal l shown in Figure 2, and the at least one terminal may also include other terminals not shown in Figure 2.
[0106] A communication system may include at least one region, which represents a cluster in a distributed computing environment based on logical or physical partitioning. Each region includes at least one computing node scheduled by a scheduling function. This at least one computing node can perform computing tasks, such as independently, distributedly, or jointly; this application does not limit the specific execution of these tasks. For example, the communication system shown in Figure 2 includes region 1 and region 2. Region 1 includes scheduling function 1 and multiple computing nodes scheduled by scheduling function 1, such as edge node 1, terminal 1, and terminal i scheduled by scheduling function 1. Region 2 includes scheduling function 2 and multiple computing nodes scheduled by scheduling function 2, such as cloud node m, edge node m, terminal k, and terminal l scheduled by scheduling function 2.
[0107] The first function can be used to manage / control the pre-caching of images. For example, the first function determines the images to be pre-cached and notifies the storage node to pre-cachate the image of the task to be scheduled, which can reduce the task startup latency and thus improve the continuity and response rate of the task. In this embodiment of the application, the first function is referred to as the cache control function. It should be understood that this application does not limit the specific name of the first function, and the first function can also use other names, such as pre-caching scheduling function, storage allocation function, etc. The first function can be deployed in mobile edge computing (MEC) or base station, without limitation.
[0108] Pre-caching can be understood as: for an image, the storage node stores (or caches) the image before the task using the image for deployment is scheduled.
[0109] In this context, a storage node can be a compute node within a region, and the storage node has the ability to pre-cache images. Some or all of the compute nodes in a region can be storage nodes.
[0110] As shown in Figure 2, area 1 corresponds to function 1, and area 2 corresponds to function 2. It can be understood that function 1 can be used to manage / control the pre-caching of images within area 1, and function 2 can be used to manage / control the pre-caching of images within area 2.
[0111] The second function is used to manage task migration between regions. For example, it can determine whether to allow tasks from outside the current region to be migrated to this region based on the load status of the current region. This second function can be called a load detection function. In this embodiment, the second function is referred to as the load detection function. It should be understood that this application does not limit the specific name of the second function, and other names can be used, such as regional load coordination function, load control function, etc. This second function can be deployed in the MEC or base station, without limitation.
[0112] As shown in Figure 2, Region 1 corresponds to Second Function 1, and Region 2 corresponds to Second Function 2. It can be understood that Second Function 1 can be used to manage task migration between Region 1 and other regions; and Second Function 2 can be used to manage task migration between Region 2 and other regions.
[0113] It should be noted that the descriptions of the aforementioned regions 1 and 2 can be referenced.
[0114] As shown in Figure 2, the communication system may also include a mirror storage function, which stores a mirror image of the task.
[0115] Optionally, each storage node is configured with an image management function. The image management function is used to manage the images of the storage node, such as pulling (also known as downloading or obtaining) or deleting the images on the storage node, providing the storage status of the storage node to the cache control function, and determining whether to pre-cache the images indicated by the cache control function based on the load of the storage node.
[0116] It should be noted that the various functions involved in the embodiments of this application (such as mirror storage function, scheduling function, cache control function, load detection function, and mirror management function) can be configured on one or more nodes. For example, each function can be a functional module (such as software, logic circuit, or chip) of the corresponding node. For instance, the mirror storage function can be configured on a core network node or a cloud node. The cache control function and / or load detection function can be configured on an access network node or other edge nodes.
[0117] It should be understood that the execution subject of each function in the embodiments of this application can be replaced by a node configured with the corresponding function, and this application does not limit this.
[0118] In this embodiment, an image is a software package that encapsulates an application performing a computing task and all its software dependencies. A container, created from an image, is a running instance of the computing task.
[0119] Currently, when a computing task needs to be unloaded, reallocated, or migrated to a target node, the target node first needs to download the image of the task from the image storage function, and then deploy the task based on the downloaded image. Since the image is usually very large, downloading the image will cause significant task startup latency and reduce the efficiency of task deployment.
[0120] To address the aforementioned issues, this application proposes a cache control function that can determine the image of the scheduled task pre-cached by the storage node and notify the storage node to pre-cachate it. This allows the task to be quickly deployed based on the image that has been successfully pre-cached by the storage node when it is scheduled, thereby reducing the task startup latency caused by the node starting to download the image when the task is scheduled, and thus improving the continuity and response rate of the task.
[0121] The technical solutions provided in the embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0122] Figure 3 is a schematic flowchart of a communication method 300 provided in an embodiment of this application. This method may include, but is not limited to, the following steps:
[0123] S301, the first cache control function obtains the image identifier of the first task.
[0124] The first task is the task to be scheduled, and the image identifier is used to identify the image of the first task.
[0125] The first cache control function can be the cache control function corresponding to the first region. The first region can include at least one computing node scheduled by the first scheduling function, and the at least one computing node includes at least one storage node. The specific details of the first region can be found in the relevant description of the region above.
[0126] Specifically, the first task can be a task to be scheduled in a workflow to be scheduled in the first region, or the first task can be a task to be scheduled from a region outside the first region to be migrated to the first region.
[0127] Among them, the tasks to be scheduled can refer to tasks that have not yet been assigned to computing nodes or resources for execution.
[0128] The implementation methods of S301 will be described in detail below for the two scenarios of the first task.
[0129] Scenario 1: The first task is the task to be scheduled in the workflow to be scheduled in the first area.
[0130] In this case, the first cache control function obtains the image identifier of the first task, including: the first cache control function obtains the image identifier of the first task from the workflow to be scheduled.
[0131] The workflow to be scheduled includes a mirror identifier of the task to be scheduled, and the task to be scheduled includes a first task. Specifically, the workflow to be scheduled may include: an identifier of the task to be scheduled, and a mirror identifier of the task to be scheduled.
[0132] Assuming the first cache control function is the cache control function corresponding to the first region, then the first cache control function can obtain the workflow to be scheduled in the first region and obtain the image identifier of the first task from the workflow to be scheduled.
[0133] Specifically, the first cache control function can obtain information about at least one task from the workflow to be scheduled, wherein the information about each task includes a task identifier and a mirror identifier of that task. The first cache control function can obtain the mirror identifier of the first task from the information of that task.
[0134] This application does not limit the specific implementation of the first cache control function in obtaining the workflow to be scheduled in the first region. It can be implemented with reference to the following examples, but this application is not limited to this. The first cache control function can also obtain the workflow to be scheduled in the first region in other ways.
[0135] In one example, the workflow to be scheduled could be retrieved from a database in a first region by the first cache control function, which is used to store workflows. For example, the workflows in the database could be stored there by the first scheduling function, or they could be stored there by other functional modules.
[0136] It should be understood that the first cache control function is authorized to manage / control the pre-caching of the image of the first region. That is, the first cache control function becomes the cache control function corresponding to the first region. Therefore, the first cache control function can access the database of the first region. The first cache control function can determine that the workflow to be scheduled is a workflow of the first region based on whether it was obtained by accessing the database of the first region, and thus determine that the tasks to be scheduled in the workflow to be scheduled are tasks to be scheduled in the first region. However, this application is not limited to this. The first cache control function can query the database belonging to the first region based on the identifier of the first region, thereby obtaining the workflow to be scheduled from the database of the first region. Alternatively, the workflow to be scheduled may include information about the first region, such as the identifier of the first region, so that the first cache control function can determine that the workflow to be scheduled is a workflow to be scheduled in the first region based on the identifier. Or,
[0137] In another example, the workflow to be scheduled can be received by the first cache control function from the first scheduling function. For example, the first scheduling function can periodically send the workflow to be scheduled to the first cache control function or based on an event trigger, such as a change in the workflow or a change reaching a threshold. As another example, the first scheduling function can send the workflow to be scheduled to the first cache control function in response to a request from the first cache control function.
[0138] It should be understood that after the first cache control function is authorized to manage / control the pre-caching of the image of the first region, the first cache control function can establish a communication interface with the scheduling function corresponding to the first region (i.e., the first scheduling function). Then, the first cache control function can determine that the workflow to be scheduled obtained from the first scheduling function is the workflow to be scheduled in the first region. Alternatively, the communication interface can be used to transmit information related to the first region. Then, the first cache control function can determine that the workflow to be scheduled is the workflow to be scheduled in the first region based on whether the workflow to be scheduled was obtained from the communication interface, and further determine that the tasks to be scheduled in the workflow to be scheduled are the tasks to be scheduled in the first region. However, this application is not limited to this; the workflow to be scheduled may include information about the first region, such as an identifier for the first region, so that the first cache control function can determine that the workflow to be scheduled is the workflow to be scheduled in the first region based on the identifier.
[0139] Scenario 2: The first task is a scheduled task that needs to be migrated from an area outside the first area to the first area.
[0140] In the following text, for the sake of brevity, the task to be scheduled from one region to another will be referred to as the task to be migrated. In other words, the first task can be the task to be migrated.
[0141] In this case, the first cache control function obtains the image identifier of the first task, including: the first cache control function receives a first message, which is used to trigger pre-caching of the image, and the first message includes the image identifier of the first task.
[0142] In one example, the first message originates from the aforementioned second function, which can be a first load detection function. The first load detection function can acquire tasks to be migrated and filter out at least one task from these tasks. This at least one task is one whose corresponding image is allowed to be pre-cached in a first region, and this at least one task includes the first task. Specifically, the first load detection function can determine whether the image of the first task can be pre-cached in the first region based on the load status of the first region. Detailed implementation can be found in the embodiment shown in Figure 5, which also illustrates this embodiment.
[0143] The first load detection function sends a first message to the first cache control function, triggering pre-caching of the image. This first message includes the image identifier of the first task. In other words, in this example, the image identifier included in the first message is the identifier of the image of the task to be migrated that is allowed to be pre-cached in the first region. The first cache control function obtains the image identifier of the first task from this first message.
[0144] In this example, the first load detection function obtains the identifiers of the images that are allowed to be pre-cached in the first region through filtering, and notifies the first cache control function through the first message. Whether to pre-cachise the image corresponding to the image identifier in the first message to the first region still needs to be determined by the first cache control function, which can be referred to in the following description.
[0145] In another example, the first message originates from a functional module in a region other than the first region, such as a second cache control function or a second load detection function in a second region. The second region may include at least one compute node scheduled by a second scheduling function, and the specific details of this second region can be found in the descriptions of the aforementioned regions.
[0146] In this example, the first cache control function is able to receive a first message from a functional module in a region outside the first region. The first message includes a mirror identifier that is the mirror identifier of the task to be migrated, which includes the mirror identifier of the first task.
[0147] Functional modules in regions outside the first region can notify the first cache control function of the images of tasks to be migrated that need to be pre-cached to the first region using the image identifier in the first message. Based on the first message, the first cache control function can determine the images of the tasks to be migrated that need to be pre-cached to the first region, including the image identifier of the first task.
[0148] In this example, the first cache control function can obtain the image identifier of the migration task that needs to pre-cache the corresponding image to the first region from the regions outside the first region through the first message. This requirement is the image pre-caching requirement of the regions outside the first region. Whether to pre-cache the image corresponding to the image identifier in the first message to the first region still needs to be determined by the first cache control function. For details, please refer to the introduction below.
[0149] S302, the first cache control function sends the first information to the first storage node according to the image identifier of the first task.
[0150] The first information is used to trigger the first storage node to pre-cache the image of the first task. The first information can be a single element in a message or an independent message; there is no limitation on this. Specifically, the first information may include the image identifier of the first task, and may also include the image storage resource requirements of the first task.
[0151] For example, the first information may be included in the mirrored caching policy message. For instance, in S302, the first cache control function sends a mirrored caching policy message to the first storage node, and this mirrored caching policy message includes the first information. Alternatively, the first information may also be referred to as the first caching policy message, and this application does not limit it in this way.
[0152] Specifically, the first cache control function can determine that the image of the first task will be pre-cached by the first storage node based on the image storage resource requirements of the first task and the storage status of the first storage node.
[0153] The image storage resource requirements for the first task may include the storage resource size required for the image of the first task, or the storage space size.
[0154] The first cache control function can obtain the image storage resource requirements of the first task from the image storage function. Specifically, the first cache control function can obtain the image storage resource requirements of the first task from the image storage function based on the image identifier of the first task.
[0155] The first cache control function can also obtain the storage status of the first storage node from the first storage node, which includes the remaining storage space. Furthermore, the first cache control function can determine that the image of the first task will be pre-cached by the first storage node based on whether the remaining storage space of the first storage node is greater than or equal to the image storage resource requirement.
[0156] Optionally, for scenario 1 described above, the method further includes: the workflow to be scheduled also includes task dependencies, which include dependencies of at least one task, the at least one task including the first task; the first cache control function determines, based on the task dependencies, the image storage resource requirements of the at least one task, and the storage status of the first region, that the image of the first task be pre-cached by the first storage node. The first region includes at least one compute node scheduled by the first scheduling function, and the at least one compute node includes the first storage node.
[0157] Specifically, the first cache control function determines to pre-cache the image of the first task based on the task dependency, the image storage resource requirements of the at least one task, and the storage status of the first region. This includes: the first cache control function determining the image dependency based on the task dependency; and the first cache control function determining to pre-cache the image of the first task based on the image dependency, the image storage resource requirements of the at least one task, and the storage status of the first region.
[0158] The first cache control function determines the specific implementation of pre-caching the image of the first task by the first storage node based on the task dependency, the image storage resource requirements of the at least one task, and the storage status of the first region. The specific implementation of this function is described in detail in the embodiment shown in Figure 4. Please also refer to the embodiment shown in Figure 4.
[0159] The first cache control function sends first information to the first storage node. Correspondingly, the first storage node receives the first information from the first cache control function and pre-caches the image of the first task according to the first information.
[0160] Optionally, the first cache control function can also obtain other image identifiers besides the image identifier of the first task through S301. Then, the first cache control function can obtain the image storage resource requirements corresponding to the obtained image identifiers, and then determine whether to pre-cache the image corresponding to the image identifier based on the image storage resource requirements and the storage status of each storage node in the first area. If pre-caching is determined, the first cache control function also determines which storage node should pre-cache each image, and notifies the corresponding storage node. For example, if the first cache control function also determines that other storage nodes (such as the second storage node) should pre-cache image A, then the first cache control function can send information to the second storage node instructing it to pre-cache image A, and this information includes the identifier of image A. If the first cache control function also determines that the first storage node should pre-cache other images (denoted as image B), then the first information sent by the first cache control function to the first storage node is also used to instruct the first storage node to pre-cache image B, and this first information includes the identifier of image B.
[0161] S303, the first storage node pre-caches the image of the first task based on the first information.
[0162] Specifically, after receiving the first information, the first storage node can pre-cache the image of the first task based on the first information.
[0163] For example, assuming the first information includes the image identifier of the first task, the first storage node obtains the image identifier of the first task from the first information, downloads the image of the first task from the image storage function according to the image identifier of the first task, and caches it in the storage space of the first storage node.
[0164] Optionally, the above method further includes: the first storage node determining whether to pre-cache the image of the first task based on the image storage resource requirements of the first task, its own storage status, or the load status of the first storage node.
[0165] The image storage resource requirement for the first task may include the storage resource size required for the image of the first task, or the storage space size. This requirement may be carried in the first information, or obtained by the first storage node from the image storage function based on the image identifier of the first task. Specifically, since the information of the first storage node that the cache control function can obtain is limited, or the accuracy of the cache control function in determining whether the first storage node should pre-cache the image of the first task is limited, the first storage node may further determine whether to pre-cache the image of the first task. For example, the first storage node may determine whether it can pre-cache the image of the first task based on at least one of the storage resource requirement of the first task, its own storage status, or its own load status (which may include storage load status and / or computing load status), and pre-cache the image of the first task if it can.
[0166] For example, the first storage node can determine whether to pre-cache the image of the first task based on the image storage resource requirements of the first task and the storage status of the first storage node. Since the storage status of a storage node may change dynamically, the storage status of the first storage node referenced by the first cache control function when determining which storage node should pre-cache the image of the first task may differ from the current storage status of the first storage node. Therefore, after receiving the first information, the first storage node can determine whether to pre-cache based on its current storage status. If the storage status includes remaining storage space, the first storage node will determine to pre-cache the image of the first task if its remaining storage space is greater than or equal to the image storage resource requirements. Alternatively, the first storage node will determine to pre-cache the image of the first task if the remaining storage space after pre-caching the image is greater than or equal to a preset threshold.
[0167] For example, the aforementioned load status includes computational load status. Since the first storage node may execute the first task after pre-storing its image, it can determine whether to pre-storing the image of the first task based on its load status. If the first storage node determines, based on its computational load status, that its remaining computing power allows or supports the execution of the first task, it can determine to pre-cache the image of the first task, thereby downloading the image of the first task from the image storage function and pre-caching it in its storage space. However, this application is not limited to this.
[0168] For example, the above-mentioned load status includes storage load status. If the first storage node determines that the utilization rate of storage resources has not exceeded the preset threshold, the first storage node can determine to pre-cache the image of the first task, thereby obtaining the image of the first task from the image storage function and pre-caching it in the storage space of the first storage node.
[0169] After the image of the first task is successfully pre-cached, the first scheduling function can prioritize scheduling the first task to the target node (e.g., the first storage node) where the image of the first task has been successfully pre-cached. This enables rapid deployment of the first task. Since images are typically large, compared to pulling the image of the first task after scheduling it, this significantly reduces the startup latency of the first task and improves the efficiency of task deployment. Specifically, the first scheduling function can learn from the first cache control function or the first storage node that the first storage node has successfully pre-cached the image of the first task. For example, the first cache control function or the first storage node can send third information to the first scheduling function, indicating that the first storage node has successfully pre-cached the image of the first task. Alternatively, the first cache control function or the first storage node can store this third information in a database, from which the first scheduling function can retrieve it.
[0170] Optionally, the first scheduling function may know that multiple storage nodes have successfully pre-cached the image of the first task, including the first storage node.
[0171] For example, the first scheduling function can obtain multiple pieces of information from the first cache control function, the first storage node, or the database. Each piece of information indicates that a storage node has successfully pre-cached the image of the first task, and each piece of information indicates a different storage node. This multiple pieces of information include third information. Based on this multiple pieces of information, the first scheduling node determines multiple storage nodes that have pre-cached the image of the first task. The first scheduling node can then determine from these multiple storage nodes to schedule the first task to a target node, which is the storage node executing the first task. For example, the first scheduling node can obtain the load status of these multiple storage nodes (which may include storage load status and / or compute load status), and determine the target node based on the load status of the storage nodes, such as if the target node is the first storage node.
[0172] According to the above scheme, the first cache control function obtains the image identifier of the task to be scheduled, determines that the first storage node should pre-cache the image of the task to be scheduled, and notifies the first storage node to pre-cache the image of the task to be scheduled. The first scheduling function can prioritize scheduling the task to be scheduled to the first storage node, which can realize the rapid deployment of the task. Compared with pulling the image of the first task after scheduling the first task, it can significantly reduce the task startup latency and improve the efficiency of task deployment.
[0173] Regarding Scenario 1 in the embodiment shown in Figure 3, to avoid insufficient storage space or excessive storage load affecting system efficiency due to pre-caching images of tasks to be scheduled in the workflow, this application proposes to determine whether to pre-cachize an image of a task to be scheduled, and to determine which storage nodes(s) should pre-cachate the image of the task to be scheduled, based on task dependencies, the load status within the region, and the storage resource requirements of the task's image. This enables rapid task deployment while ensuring system efficiency.
[0174] The following is a detailed description of the communication method 400 provided in this application embodiment, with reference to the schematic flowchart shown in Figure 4. It should be noted that, unless otherwise specified, the parts of method 400 that are the same as those in method 300 can be implemented with reference to method 300, and will not be repeated here. Method 400 may include, but is not limited to, the following steps:
[0175] S401, the first cache control function obtains the workflow to be scheduled.
[0176] The workflow to be scheduled includes information on N1 tasks and their dependencies. The dependencies include the relationships between the N1 tasks, where N1 is a positive integer.
[0177] The method for obtaining the workflow to be scheduled by the first cache control function can be found in the description in method 300.
[0178] The first cache control function can obtain information about N1 tasks from the workflow to be scheduled. The information of each task includes the task identifier and the mirror identifier of the task. Among the N1 tasks, there is a first task, whose information includes the mirror identifier of the first task. The first cache control function can determine that the first task is a task to be scheduled in the first region.
[0179] The workflow to be scheduled also includes task dependencies, which consist of the dependencies between the N1 tasks in the workflow. Task dependencies are the relationships between tasks in terms of execution order; for example, a task can only begin execution if its preceding task is completed. If the N1 tasks include tasks A and B to be executed, and task A depends on the completion of task B to begin execution, then the first cache control function may consider prioritizing the pre-caching of task B's image. Alternatively, if the N1 tasks include multiple tasks to be executed, including task C, and task C has more dependencies on task C's completion to begin execution, then the first cache control function may consider prioritizing the pre-caching of task C's image. Optionally, the specific first cache control function may determine which task images to pre-cachate based on other information, as described below.
[0180] S402, the first cache control function obtains the image storage resource requirements of the N1 tasks from the image storage function.
[0181] The first cache control function can send the image identifiers of the N1 tasks to the image storage function, notifying the image storage function that it needs to obtain the image storage resource requirements of the N1 tasks. The first cache control function can obtain the image storage resource requirements corresponding to each image identifier in the image identifiers of the N1 tasks returned by the image storage function, that is, the image storage resource requirements of the N1 tasks. For example, the image storage function returns at least one (image identifier, image storage resource requirement) tuple. If the image storage function specifically returns a list of (image identifier, image storage resource requirement) tuples, the list includes the at least one (image identifier, image storage resource requirement) tuple.
[0182] S403, the first cache control function obtains storage status information from the first image management function.
[0183] The storage status information is used to indicate the storage status of the first storage node.
[0184] The first cache control function obtains the storage status information from the first mirror management function to determine the storage status of the first storage node. The first mirror management function is the mirror management function for the first storage node. The first region includes at least one storage node, which includes the first storage node. If the at least one storage node also includes other storage nodes, the first cache control function can also receive storage status information from the mirror management functions of the other storage nodes to determine the storage status of the corresponding storage nodes. The first cache control function can receive one or more storage status information entries to determine the storage status of one or more storage nodes, thereby determining the storage status of the first region.
[0185] Optionally, the first cache control function can send information for querying storage status to the first mirror management function and receive the storage status information from the first mirror management function to obtain the storage status of the first storage node. Alternatively, the first mirror management function can periodically provide storage status information to the first cache control function to indicate the current storage status of the first storage node. Or, the first mirror management function can send storage status information to the first cache control function when the storage status changes or the change exceeds a preset threshold.
[0186] For example, the storage status of a storage node may include the remaining storage space of the storage node. The storage status of a first region may include the remaining storage space of the first region, which is the sum of the remaining storage space of the storage nodes in the first region obtained by the first cache control function.
[0187] Optionally, the storage status of a storage node may also include information related to cached images, such as the image identifier of the cached image. An image identifier (also referred to as an image identifier in this embodiment) uniquely identifies an image. Specifically, the image identifier can be a number, a string, or a (image name, version tag) tuple that uniquely identifies an image. This application does not limit the specific form of the image identifier. If the storage status of a storage node may also include information related to cached images, the storage status of the first region may include information related to cached images in the first region, that is, the set of information related to cached images of storage nodes in the first region obtained by the first cache control function.
[0188] Optionally, this information may also include image storage resource requirements and / or the number of times the image is used. The number of times an image is used refers to the number of times a task is deployed using that image.
[0189] It should be understood that this application does not limit the execution order of the steps of the various methods provided in the embodiments, and the execution order of the steps can be determined by the logical relationship between the steps. For example, S403 can be before S401 or S402, or after S402.
[0190] S404, the first cache control function determines at least one cache strategy based on the task dependencies, the image storage resource requirements of the N1 tasks, and the storage status of the first region.
[0191] One of the caching strategies involves pre-caching the image of the first task by the first storage node.
[0192] If the at least one caching strategy includes M1 caching strategies, where M1 is a positive integer, and each caching strategy includes pre-caching at least one image by a storage node, such as each caching strategy including a storage node identifier and at least one image identifier, the image corresponding to the at least one image identifier is pre-cached by the storage node. One of the caching strategies includes pre-caching the image of the first task by a first storage node. The M1 caching strategies include pre-caching K2 images by M1 storage nodes. The K2 images are some or all of the K1 images determined by the first cache control function, and K2 is a positive integer less than or equal to K1. The caching strategy may include pre-caching multiple images from the K2 images by one of the M1 storage nodes, or it may include pre-caching one image from the K2 images by multiple storage nodes in the M1 storage nodes; this application does not limit this.
[0193] In one implementation, the first cache control function determines to pre-cache K1 images based on task dependencies, the image storage resource requirements of the N1 tasks, and the storage status of the first region. These K1 images are images of some or all of the N1 tasks, and are positive integers less than or equal to N1. These K1 images can be referred to as pre-cacheable images determined by the first cache control function, or as candidate pre-cache images. The K1 images include the image of the first task. The first cache control function can further determine which storage nodes in the first region can pre-cache some or all of the K1 images, thus determining M1 caching strategies.
[0194] The following is a detailed description of this implementation method.
[0195] The first cache control function can first determine the K1 images to be pre-cached based on the task dependency, the image storage resource requirements of the N1 tasks, and the storage status of the first region, that is, determine the K1 candidate images to be pre-cached.
[0196] For example, the first cache control function can determine the priority of tasks based on task dependencies. For instance, tasks depended upon by other tasks have higher priority, and tasks not depended upon by other tasks have lower priority. Furthermore, tasks depended upon by more other tasks have higher priority, and tasks depended upon by fewer other tasks have lower priority. If the storage status of the first region includes the remaining storage space of the first region, the first cache control function can determine candidate images based on the remaining storage space of the first region and the image storage resource requirements of each task in the task dependency relationship, according to the priority of the tasks in the task dependency relationship. In a specific example, if the task priorities of tasks A, B, and C are from high to low, the first cache control function can determine whether the remaining storage space of the first region can meet the storage resource requirements of task A. If it can, the first cache control function can determine that the image of task A (at this time, task A is an example of the first task) can be used as a candidate image. The first cache control function can then continue to determine whether the remaining storage space of the first region after pre-caching the image of task A can meet the storage resource requirements of task B, and so on. If the remaining storage space in the first region is insufficient to meet the storage resource requirements of task A, the first cache control function can determine whether the remaining storage space in the first region is sufficient to meet the storage resource requirements of task B. If it is sufficient, then the image of task B (which is another example of the first task) can be used as a candidate image. If it is insufficient, the function continues to determine whether the remaining storage space in the first region is sufficient to meet the image requirements of other tasks.
[0197] For example, the storage status of the first region may include cached images in the first region. The first cache control function can determine the cached images based on the cached images and the images of tasks in the task dependency relationship, thus obtaining the uncached images. The first cache control function can determine the priority of each uncached image based on the task dependency relationship. For example, it can first determine the priority of each task based on the task dependency relationship, and then determine the priority of each uncached image based on the task priority, but this application is not limited to this. The storage status of the first region may also include the remaining storage space of the first region. Based on the image priority, image storage resource requirements, and the remaining storage space of the first region, the first cache control function can determine K1 candidate images among the uncached images. These K1 candidate images include the image of the first task.
[0198] After determining the K1 candidate images, the first cache control function can then determine M1 cache strategies based on the image storage resource requirements of the K1 candidate images and the storage status of the first region.
[0199] The storage status of the first region includes the remaining storage space of at least one storage node in the first region. The first cache control function can determine at least one storage node based on the image storage resource requirements of each of the K1 candidate images and the remaining storage space of each of the at least one storage node. The remaining storage space of this at least one storage node can satisfy the image storage resource requirements of some or all of the K1 candidate images. If the remaining storage space of the first storage node can satisfy the image storage resource requirements of the first task, the first cache control function determines that the first storage node should pre-cache the image of the first task. If the first storage node still has remaining storage space after pre-caching the image of the first task, the first cache control function can also determine that the first storage node should pre-cachate other images.
[0200] In another implementation, the first cache control function is based on a first artificial intelligence (AI) model to derive M1 caching strategies. Specifically, the input to the first AI model can be task dependencies, the image storage resource requirements of the N1 tasks, and the storage status of the first region. The output of the first AI model is the M1 caching strategies. The M1 caching strategies include pre-caching K2 images by M1 storage nodes, where the K2 images are images of some or all of the N1 tasks.
[0201] In another implementation, the first cache control function determines the image dependency relationship based on the task dependency relationship. The first cache control function then determines M1 cache strategies based on the image dependency relationship, the image storage resource requirements of the N1 tasks, and the storage status of the first region.
[0202] The task dependency relationship contains N1 tasks, where each task corresponds to one image. A task is deployed based on the image corresponding to its task. Different tasks may correspond to the same image. For example, the N1 tasks may correspond to K3 images, where K3 is a positive integer less than or equal to N1. There may be a one-to-one correspondence between the N1 tasks and the K3 images. One of the K3 images may also correspond to multiple tasks in the N1 tasks.
[0203] The first cache control function determines the image dependency relationship based on the task dependency relationship. This image dependency relationship includes the dependency relationship between K3 images.
[0204] Optionally, a directed acyclic graph (DAG) can be used to represent mirror dependencies. A DAG is a directed graph without cycles, consisting of a set of nodes and a set of directed edges, where there is no path starting from a node, traversing several edges, and returning to that node. Each node represents a mirror image, and the edges indicate whether there is a dependency between mirror images. Specifically, the DAG can be represented by an adjacency matrix and a feature matrix. The adjacency matrix is a two-dimensional array used to represent the direct dependencies between nodes in the DAG. The feature matrix is typically a two-dimensional array or table, where each row represents a node, and each column represents an attribute of the node (i.e., the mirror image). For example, the attributes of each node may include the mirror image identifier and the mirror image storage resource requirements. That is, the DAG can not only represent mirror dependencies but also include the mirror image storage resource requirements of each mirror image in the mirror dependency relationship. Optionally, the attributes of the nodes in the DAG may also include the number of times the mirror image is used.
[0205] After obtaining the task dependencies in S401, the first cache control function can determine the image dependencies. In S402, the first cache control function can send the image identifiers of the K3 images to the image storage function, and obtain the image storage resource requirements of each of the K3 images returned by the image storage function. For example, the image storage function returns K3 (image identifier, image storage resource requirement) tuples to the first cache control function. The first cache control function can then obtain the image storage resource requirements of each image in the image dependencies. This application does not limit the timing of the first cache control function determining the image dependencies.
[0206] Optionally, the first cache control function can use an AI model to obtain M1 cache strategies based on the image dependency relationship, the image storage resource requirements of the N1 tasks, and the storage status of the first region.
[0207] In one example, the first cache control function can specifically employ an AI model, such as a second AI model. The input of this second AI model is the mirror dependency relationship, the mirror storage resource requirements of the N1 tasks, and the storage state of the first region, and the output is M1 caching strategies. Optionally, the mirror dependency relationship and the mirror storage resource requirements of the N1 tasks can be represented by the adjacency matrix and feature matrix of the DAG. In this case, the input of the AI model can be the adjacency matrix and feature matrix of the DAG, as well as the storage state of the first region.
[0208] In another example, the first cache control function can specifically employ two AI models. For ease of description, these two AI models are referred to as the image inference model and the cache strategy inference model, respectively, but this application does not limit the specific names of these two models. In this example, the first cache control function can obtain M1 cache strategies based on the image dependency relationship, the image storage resource requirements of the N1 tasks, and the storage status of the first region, using the image inference model and the cache strategy inference model. The storage status of the first region includes the remaining storage space of the first region and related information about cached images in the first region. This related information about cached images in the first region is a set of related information about cached images on storage nodes in the first region obtained by the first cache control function. The related information about cached images in the first region includes the image identifier of the cached image in the first region. Optionally, this related information may also include the image storage resource requirements and / or the number of times the image has been used.
[0209] The first cache control function can first employ a mirror inference model. The mirror dependency relationship, the mirror storage resource requirements of K3 mirrors within the dependency relationship, and the remaining storage space of the first region are used as inputs to this mirror inference model. This results in the output of the mirror inference model: first candidate mirror information (or pre-cached mirror information). This first candidate mirror information includes K1 mirror identifiers, which are the mirror identifiers of the K1 candidate mirrors that can be pre-cached among the K3 mirrors, inferred from the input of the mirror inference model. Optionally, the first candidate mirror information also includes the mirror storage resource requirements of each of the K1 candidate mirrors, such as K1 (mirror identifier, mirror storage resource requirement) tuples.
[0210] The remaining storage space of the first region, which serves as input to the mirror inference model, is the sum of the remaining storage space of the storage nodes in the first region. Optionally, the mirror dependency relationship and the mirror storage resource requirements of the K3 mirrors in the mirror dependency relationship, which serve as input to the mirror inference model, can be represented by the adjacency matrix and feature matrix of the DAG. That is, the input to the mirror inference model can be the remaining storage space of the first region, the adjacency matrix of the DAG, and the feature matrix. The adjacency matrix of the DAG is used to characterize the mirror dependency relationship, and the feature matrix of the DAG is used to characterize the attributes of each mirror in the mirror dependency relationship. The attributes of each mirror include the mirror storage resource requirements, and optionally, the attributes of each mirror may also include the number of times the mirror is used.
[0211] After obtaining the first candidate image information, the first cache control function then employs a cache strategy inference model. Using the relevant information of cached images in the first region, the first candidate image information, and the remaining storage space of the storage nodes in the first region as input, the model outputs M1 cache strategies. Each cache strategy includes pre-caching one or more images by a storage node. These M1 cache strategies include pre-caching K2 images by M1 storage nodes.
[0212] Optionally, each caching strategy also includes a decision probability for each image, which represents the probability that the storage node will pre-cachise the corresponding image. For example, a caching strategy includes an identifier of a first storage node, at least one image identifier, and at least one decision probability, where the at least one image identifier corresponds one-to-one with the at least one decision probability. For instance, if the at least one image identifier includes the image identifier of a first task, and the decision probability corresponding to the image identifier of the first task is 90%, then it means that the probability of the first storage node pre-caching the image of the first task is 90%.
[0213] For example, the caching strategy inference model specifically outputs one or more (storage node identifier, image identifier, decision probability) triples. These triples may include multiple triples containing the same storage node identifier, but the image identifiers in these multiple triples are different. For instance, the caching strategy inference model outputs two triples, both containing storage node identifier 1, and the image identifiers in these two triples are image identifier 1 and image identifier 2, respectively. The caching strategy for the storage node corresponding to storage node identifier 1 may include these two triples. Alternatively, these triples may include multiple triples containing the same image identifier, but the storage node identifiers in these multiple triples are different. For instance, the caching strategy inference model outputs two triples, both containing image identifier 1, and the storage node identifiers in these two triples are storage node identifier 1 and storage node identifier 2, respectively. In other words, the first caching function can determine that the same image is pre-cached by multiple storage nodes.
[0214] The remaining storage space of the storage nodes in the first region, which serves as the input to the caching strategy inference model, can include the storage node identifier and the remaining storage space corresponding to each storage node identifier. For example, the remaining storage space of the storage nodes in the first region can be represented by M2 (storage node identifier, remaining storage space) tuples, where M2 is an integer greater than or equal to M1.
[0215] S405, the first cache control function sends the first information to the first image management function.
[0216] The first information is used to trigger the first storage node to pre-cache the image of the first task.
[0217] In S404, the first cache control function determines M1 cache policies. Based on the storage node identifier in each cache policy, the first cache control function sends pre-cache indication information to the corresponding storage node (e.g., to the mirror management function of that node). This pre-cache indication information includes the mirror identifier in the pre-cache policy. The first information sent by the first cache control function to the first mirror management function is a pre-cache indication, which includes the mirror identifier contained in the cache policy corresponding to the first storage node, including the mirror identifier of the first task. Optionally, the first information may also include other mirror identifiers.
[0218] For example, the first information may include the caching strategy of the first storage node.
[0219] S406, the first image management function retrieves the image of the first task from the image storage function based on the first information.
[0220] In one implementation, after receiving the first information, the first image management function retrieves the image corresponding to each image identifier from the image storage function according to the image identifier contained in the first information, thereby enabling the first storage node to pre-cache the image corresponding to each image identifier in the first information. The images pre-cached by the first storage node include the image of the first task.
[0221] In another implementation, after receiving the first information, the first image management function can filter the images pre-cached by the first storage node from the images indicated by the image identifier in the first information according to the load status of the first storage node, pull the image corresponding to each image identifier from the image storage function according to the image identifier, and pre-cach the corresponding image by the first storage node. The images pre-cached by the first storage node include the image of the first task.
[0222] Since the cache control function can only obtain limited information about the first storage node, the storage node needs to further determine whether it can pre-cache the image indicated by the pre-cache instruction information. If it cannot be fully pre-cached, the image indicated by the pre-cache instruction information can be filtered.
[0223] For example, the pre-caching indication information includes the decision probability of each image. The first image management function can calculate the storage resource utilization rate of the storage node. If the utilization rate exceeds a preset threshold, the image identifier with the higher decision probability is selected first. Optionally, each pre-caching indication information may also include the image storage resource requirement corresponding to each image identifier in the pre-caching indication information. The first image management function can specifically select the image identifier with the higher decision probability within a preset threshold range lower than the storage resource utilization rate. If the utilization rate does not exceed the preset threshold, then all images indicated by the pre-caching indication information are determined to be pre-cached.
[0224] For example, each pre-caching indication may also include the image storage resource requirement corresponding to each image identifier in the pre-caching indication. The first image management function can filter the images pre-cached by the first storage node based on the storage load status of the first storage node and the image storage resource requirement corresponding to each image identifier in the first information. The storage load status may include, but is not limited to, at least one of the following: used storage space, remaining storage space, or the percentage of used storage space in the total storage space.
[0225] Optionally, the first storage node can also delete images. The first image management function can filter images pre-cached by the first storage node based on the remaining storage space after deleting the image and the image storage resource requirements corresponding to the image identifier in the first information.
[0226] It should be noted that the first storage node can delete images periodically or by being triggered by events.
[0227] For example, event-triggered image deletion by the first storage node may include the first storage node deleting a removable image after obtaining the pre-caching indication information, as described above. This could include the first storage node deleting an image that has been used the least and is not currently in use, or the first storage node deleting an image whose time difference between the current time and the fetch time is greater than a preset threshold and is not currently in use. And / or, event-triggered image deletion by the first storage node may include the first storage node deleting a removable image when its remaining storage space is less than a preset threshold.
[0228] S407, the first image management function sends the second information to the first cache control function.
[0229] The second piece of information is used to indicate that the image of the first task has been successfully pre-cached.
[0230] If the second information includes the image identifier of the first task and the identifier of the first storage node, optionally, if the first information also includes an image identifier other than the image identifier of the first task, and the first storage node has successfully pre-cached the image corresponding to that image identifier, then the second information may also include that image identifier. In other words, the second information includes the identifier of the image successfully pre-cached by the first storage node from the images indicated by the first information.
[0231] For example, the second information may include at least one (mirror identifier, storage node identifier) tuple, wherein the storage node identifier in the at least one tuple is the identifier of the first storage node.
[0232] S408, the first buffer control function sends the third information.
[0233] The third piece of information is used to indicate that the first storage node has successfully pre-cached the image of the first task.
[0234] If the third information includes the image identifier of the first task and the identifier of the first storage node, the third information may also include the identifiers of other successfully pre-cached images and their corresponding storage node identifiers. For example, the third information may include the second information.
[0235] Refer to the relevant description in method 300. The first cache control node can store the third information in the database by sending it, and the first scheduling function can retrieve the identifier of the successfully pre-cached image from the database. Alternatively, the first cache control function can send the third information to the first scheduling function, and the first scheduling function, upon receiving the third information, determines that the image of the first task has been successfully pre-cached to the first storage node.
[0236] The first scheduling function can prioritize scheduling the first task, enabling rapid deployment of the first task. Since images are usually large, compared to pulling the image of the first task after scheduling it, this can significantly reduce the startup latency of the first task and improve the efficiency of task deployment.
[0237] For example, the first scheduling function can generate scheduling decisions based on the third information. For instance, the first scheduling function can prioritize offloading tasks to storage nodes that have cached the corresponding images, based on the third information. As another example, the first scheduling function can predict the computation latency and possible image retrieval latency of computing tasks on computing nodes based on the third information. By checking the current execution status of tasks on each computing node, if the task execution efficiency on a certain computing node is low, the task can be reallocated to a storage node that has successfully pre-cached the task. Yet another example is that the first scheduling function can predict the computation latency and possible image retrieval latency of computing tasks on computing nodes based on the third information, thereby generating optimization targets for task offloading.
[0238] According to the above scheme, the first cache control function can determine the images to be pre-cached after considering the dependencies between tasks, the image storage requirements of tasks, and the storage status of regions. This reduces the probability of insufficient storage space or excessive storage load in the first region. It enables rapid task deployment while ensuring system efficiency.
[0239] Regarding Implementation Method 2 in the embodiment shown in Figure 3, to avoid insufficient storage space or excessive storage load affecting system efficiency due to pre-caching images of tasks to be migrated (i.e., tasks to be scheduled from other regions to the first region), this application proposes to determine whether to pre-cacherate an image of a task to be scheduled based on the storage status and load status of the first region. This enables rapid task deployment while ensuring system efficiency.
[0240] The following is a detailed description of the communication method 500 provided in this application embodiment, with reference to the schematic flowchart shown in Figure 5. It should be noted that, unless otherwise specified, the parts of method 500 that are the same as those in methods 300 and 400 can be referred to the preceding description and will not be repeated here. Method 500 may include, but is not limited to, the following steps:
[0241] S501, the second load detection function obtains the workflow to be scheduled.
[0242] The workflow to be scheduled includes information on at least one task.
[0243] The second load detection function is for the second region. It can acquire the workflows to be scheduled in the second region and obtain information on N2 tasks from these workflows, where N2 is a positive integer. The information for each task includes its mirror identifier. In other words, the second load detection function can obtain the identifiers of the N2 tasks to be scheduled in the second region and their mirror identifiers.
[0244] S502, the second load detection function obtains the image storage resource requirements of at least one task from the image storage function.
[0245] The second load detection function can obtain the image storage resource requirements of the N2 tasks to be scheduled from the image storage function based on the image identifier of the N2 tasks to be scheduled.
[0246] S503, the second load detection function determines to migrate the first task from the second region to the first region based on at least one of the task dependency relationship, the image storage resource requirements of the first task, the load status of the second region, and the load status of the first region.
[0247] For example, the workflow to be scheduled also includes task dependencies. The second load detection function can obtain the task dependencies of the N2 tasks to be scheduled from the workflow to be scheduled. If the predecessor task of a task (i.e. the task that the task depends on) has been migrated to the first region among the N2 tasks to be scheduled, then the task may also be migrated. The second load detection function can determine to migrate the first task to the first region.
[0248] Optionally, the second load detection function can receive load status information from each computing node in the second region. Based on the load status information of each computing node, the second load detection function can determine the load status of the second region. Based on the load status of the second region, the second load detection function can determine whether to migrate the first task from the second region to the first region, that is, determine the first task as the task to be migrated.
[0249] For example, the load status information is used to indicate the load status of a compute node. The load status of a compute node may include compute load status and / or storage load status. The compute load status may include, but is not limited to, at least one of the following: the remaining compute resources of the compute node, the amount of compute resources used, or the percentage of used compute resources in the total compute resources. The storage load status of a compute node may include, but is not limited to, at least one of the following: used storage space, remaining storage space, or the percentage of used storage space in the total storage space.
[0250] For example, the load status of the second region includes the computing load status. If the second load detection function cannot satisfy one or more scheduled tasks based on the current computing load status of the computing nodes in the second region, then the second load detection function can determine that the one or more scheduled tasks are tasks to be migrated. The one or more scheduled tasks include the first task.
[0251] The second load detection function can also refer to the image storage resource requirements of the tasks to be scheduled to determine the tasks to be migrated. For example, the load status of the second region includes the storage load status. The second load detection function can determine, based on the storage load status of the second region and the image storage resource requirements of N2 tasks to be scheduled, that pre-caching the images of all tasks to be scheduled would cause the storage load of the second region to exceed a preset threshold. Then, the second load detection function can determine the tasks to be migrated from these N2 tasks to be scheduled, such as determining the first task as the task to be migrated. For example, the second load detection function can determine the tasks to be migrated according to the processing priority of the tasks.
[0252] Optionally, the second load detection function acquires the load status of the first region. For example, the second load detection function can receive region load status information from the first load detection function in the first region, which is used to indicate the load status of the first region. The second load detection function can determine to migrate the first task to the first region based on the load status of the first region.
[0253] For example, the second load detection function can determine to migrate the first task to the first region based on the load status (such as storage status and / or computing status) of the first region being lower than a preset threshold. However, this application is not limited to this. The second load detection function may also determine to migrate the first task to the first region without being based on the load status of the first region, such as if the images of the first task's predecessor and / or the first task's successor (i.e., tasks that depend on the first task) have been cached in the first region, thus determining to migrate the first task to the first region.
[0254] S504, the second load detection function sends a second message to the first load detection function.
[0255] The second message is used to trigger the pre-cached image of the first task.
[0256] In step S503, the second load detection function can identify at least one task to be migrated to the first region. The second message includes a mirror identifier for each of the at least one task. If the at least one task includes the first task, then the second message includes the mirror identifier of the first task. If the at least one task also includes other tasks, the second message also includes the mirror identifiers of those other tasks. The first load detection function receives the second message from the second load detection function and, based on the second message, obtains the mirror identifier of the first task.
[0257] Optionally, the second message may also include the image storage resource requirement corresponding to each image identifier. For example, the second message may include at least one (image identifier, image storage resource requirement) tuple.
[0258] If the second message does not include the image storage resource requirements corresponding to each image identifier, the first load detection function can obtain the corresponding image storage resource requirements from the image storage function based on the image identifier in the second message.
[0259] S505, the first load detection function sends a first message to the first cache control function based on the load status of the first area.
[0260] The first message is used to trigger the image of the pre-cached first task.
[0261] The first load detection function obtains the image identifiers of tasks to be migrated from regions outside the first region, including the image identifiers of tasks to be migrated obtained from the second message. Based on the load status of the first region and the image storage resource requirements of the obtained tasks to be migrated, the first load detection function filters out the image identifiers of tasks to be migrated that can be cached in the first region.
[0262] For example, the first load detection function can determine whether pre-caching all images of tasks to be migrated causes the load status of the first region to exceed a preset threshold. If it does not exceed the preset threshold, the first load detection function can determine that all images of tasks to be migrated are pre-cached. Otherwise, within the preset threshold range, image identifiers of candidate images that can be cached in the first region are selected. These candidate images are images of tasks to be migrated that can be pre-cached in the first region. The load status of the first region may include storage load status and / or compute load status. For example, the first load detection function can select at least one image identifier of a candidate image based on the storage load status and the preset threshold corresponding to the storage load status. And / or, the first load detection function can select at least one image identifier of a candidate image based on the compute load status and the preset threshold corresponding to the compute load status.
[0263] The first load detection function sends a first message to the first cache control function. This first message includes the image identifiers of K4 candidate images, where K4 is a positive integer. This includes the image identifier of the first task.
[0264] Optionally, the first message may also include the image storage resource requirements for the K4 candidate images. For example, the second message may include K4 (image identifier, image storage resource requirement) tuples.
[0265] If the second message does not include the image storage resource requirements corresponding to each image identifier, the first cache control function can obtain the corresponding image storage resource requirements from the image storage function based on the image identifier in the second message.
[0266] S506, the first cache control function determines at least one cache strategy based on the image storage resource requirements of the candidate image and the storage status of the first region.
[0267] One of the caching strategies involves pre-caching the image of the first task by the first storage node.
[0268] The first cache control function can obtain the image identifiers of K4 candidate images from the first message. The first cache control function can also determine candidate images that can be pre-cached in the first region from the tasks to be scheduled in the first region. For specific implementation details, refer to the description in section 404 above. The first cache control function can determine K1 candidate images based on task dependencies, the image storage resource requirements of the scheduled tasks, and the storage status of the first region. Then, the first cache control function can obtain the image identifiers of K5 candidate images that can be cached in the first region. These K5 candidate images include the K4 candidate images of the tasks to be migrated and the K1 candidate images of the tasks to be scheduled in the first region. These K5 candidate images may or may not include other images; this application does not limit this.
[0269] The first cache control function can determine M3 cache strategies based on the image storage resource requirements of K5 candidate images and the storage status of the first region. Each cache strategy includes pre-caching one or more images by a storage node. The M3 cache strategies include pre-caching K6 images by M3 storage nodes. Here, K6 is a positive integer less than or equal to K5, and M3 is a positive integer.
[0270] One of the caching strategies includes pre-caching the image of the first task by the first storage node. For a detailed implementation, please refer to the previous description of the first cache control function in S404 of method 400, which determines M1 caching strategies based on the image storage resource requirements of K1 candidate images and the storage status of the first region; further details will not be repeated here.
[0271] For example, the first cache control function can adopt the cache strategy inference model described above, taking the relevant information of the cached images in the first region, the information of K5 candidate images, and the remaining storage space of the storage nodes in the first region as input, to obtain M3 cache strategies output by the cache strategy inference model.
[0272] Optionally, each caching strategy also includes a decision probability for each image, which represents the probability that the storage node will pre-cache the corresponding image. For example, the caching strategy inference model specifically outputs one or more triples of (storage node identifier, image identifier, decision probability).
[0273] Methods 507 to 509 in method 500 can be implemented with reference to methods 405 to 407 in method 400, and will not be described in detail here for the sake of brevity.
[0274] S510, the first cache control function sends the fourth information to the first load detection function.
[0275] The fourth piece of information is used to indicate images that have been successfully pre-cached.
[0276] Accordingly, the first load detection function receives the fourth information from the first cache control function. This fourth information includes at least one image identifier, including the image identifier of the first task, which is an identifier of an image that has been successfully pre-cached. This fourth information may be referred to as image pre-caching result information, but this application is not limited to this; the fourth information may also have other names.
[0277] Optionally, the fourth information may also include a storage node identifier corresponding to each of the at least one image identifiers, including the identifier of the first storage node corresponding to the image identifier of the first task. For example, the fourth information may include at least one caching strategy, one of which includes pre-caching the image of the first task by the first storage node.
[0278] Optionally, the at least one image identifier may also include the identifier of the image of the scheduled task in the first region that has been successfully pre-cached. The first load detection function may notify the first scheduling function of the identifier of the image that has been successfully pre-cached in the first region, so that the first scheduling function can prioritize scheduling the first task, enabling rapid task deployment, reducing task startup latency, and improving task deployment efficiency. However, this application is not limited to this; the first cache control function or the storage node of the first region may also notify the first scheduling function of the image identifier of the scheduled task that has been successfully pre-cached.
[0279] S511, the first load detection function sends the fifth information to the second load detection function based on the fourth information.
[0280] The fifth piece of information is used to indicate that the image of the first task has been successfully pre-cached.
[0281] Specifically, at least one image identifier in the fourth information includes the identifier of the image of the task to be migrated. This at least one image identifier includes the image identifier of the first task. The first load detection function sends fifth information to the second load detection function, notifying the second load detection function via the fifth information that the image of the task to be migrated from the second region to the first region has been successfully pre-cached in the first region. This fifth information includes the image identifier of the first task. Specifically, the first load detection function can determine to send the fifth information to the second load detection function based on the second message from the second load detection function including the image identifier of the first task. This fifth information can be called cross-region pre-caching result information, but this application is not limited to this; the fifth information can also have other names.
[0282] Optionally, the fifth information may also include the identifier of the first storage node. For example, the fifth information may include at least one caching strategy, one of which includes pre-caching an image of the first task by the first storage node.
[0283] Optionally, the first load detection function may, based on the fourth information, notify the first scheduling function (e.g., send the fifth information to the first scheduling function or store the fifth information in the database) to have the first storage node pre-cache the image of the first task. The first scheduling function may, after the first task has migrated to the first region, prioritize unloading the first task to the first storage node.
[0284] S512, the second load detection function sends the seventh message.
[0285] The seventh piece of information is used to indicate that the image of the first task has been pre-cached in the first region.
[0286] For example, the seventh information may include the image identifier of the first task. Optionally, the seventh information may also include one or more of the following: the identifier of the first region, the identifier of the first scheduling function, or the identifier of the first storage node.
[0287] For example, the second load detection function sends the seventh piece of information to the second scheduling function, which is the scheduling function for the second region. The second load detection function stores the seventh piece of information in the database, and the second scheduling function can retrieve this seventh piece of information from the database. The second scheduling function can prioritize migrating tasks whose images have been pre-cached in other regions during task migration. For example, based on the seventh piece of information, the second scheduling function might prioritize migrating the first task and move it to the first region. This enables rapid migration and deployment of the first task, reduces task startup latency, and improves the efficiency of task deployment.
[0288] In the embodiment shown in Figure 5, the first load detection function can send a third message, which is used to trigger a pre-cached image. The third message includes the image identifier of the second task, which is a task to be migrated from the first region to a region outside the first region. The image identifier of the second task is used to identify the image of the second task.
[0289] Optionally, the first load detection function may receive a sixth message indicating a successfully pre-cached image, the sixth message including the image identifier of the second task.
[0290] The first load detection function can determine the tasks to be migrated in the first region based on the load status of the first region, i.e., tasks to be migrated from the first region to other regions. For example, the first load detection function can determine to migrate the second task in the workflow to be scheduled out of the first region based on the load status of the first region. If it is determined that the second task will be migrated to the third region, the first load detection function can send the third message to the third load detection function, which is the load detection function of the third region.
[0291] In other words, the load detection function in each region can determine the tasks to be migrated based on the load status and notify the tasks to be migrated to pre-cache the image of the tasks to be migrated in the region, so as to achieve rapid migration and deployment of the tasks to be migrated. For the specific implementation method, please refer to the introduction of the second load detection function above, which will not be repeated here.
[0292] In specific implementations, the cache control function can implement some or all of the operations implemented by the load detection function in the embodiment shown in Figure 5. This application does not limit the functional division between the cache control function and the load detection function. According to the above scheme, the load detection function can consider the load status of the local area to determine the tasks to be migrated out of the local area and the tasks to be migrated that are allowed to be pre-cached. This can reduce the probability of insufficient regional storage space or excessive storage load due to pre-caching the images of tasks to be migrated. It enables collaborative image caching between high and low load areas, improving system performance.
[0293] It should be noted that the messages or information transmitted between functional nodes in the embodiments of this application are all used for information interaction between functional nodes. The message can be replaced with the information of the corresponding function, and the information can also be replaced with the message of the corresponding function. This application does not limit this.
[0294] As introduced earlier, the cache control function can use AI models to infer cache strategies. The AI models used for inferring cache strategies (such as the first AI model, second AI model, mirror inference model, or cache strategy inference model mentioned earlier) can be pre-configured in the functional nodes corresponding to the cache control function, or they can be trained by the cache control function based on historical data. Alternatively, they can be obtained through federated learning between mirror storage nodes and cache control functions in multiple regions. The following section, with reference to Figure 6, details the AI models used for inferring cache strategies obtained through federated learning between mirror storage nodes and cache control functions in multiple regions.
[0295] Figure 6 is a schematic flowchart of the federated learning model training provided in an embodiment of this application.
[0296] S601, the mirror storage function sends training request information to the first cache control function.
[0297] The training request information is used to request the cache control function to perform model training of the target model.
[0298] The mirror storage function can send training request information to the cache control functions of multiple regions, including the first region. Correspondingly, the cache control functions of these multiple regions receive the training request information and determine to perform model training on the target model. For example, the first cache control function receives the training request information and determines to perform model training on the target model. In the embodiment shown in Figure 6, the operation of the first cache control function participating in federated learning is specifically described. The cache control functions of other regions can be implemented with reference to the first cache control function, and will not be described again.
[0299] The target model is used to infer caching strategies. For example, the target model can be the first AI model or the second AI model mentioned above. Alternatively, the target model includes a mirror inference model and a caching strategy inference model.
[0300] In one implementation, the mirror storage function can periodically trigger model training of the target model. For example, the mirror storage function can be configured with a preset model training schedule, and training request information is sent to the cache control function based on the time points in the schedule to trigger model training of the target model.
[0301] In another implementation, the mirror storage function can trigger target model training based on events. For example, the cache control function can report a decrease in the inference accuracy of the target model to the mirror storage function, and the mirror storage function can determine to trigger target model training based on the accuracy decrease reported by more than a preset number of cache control functions. As another example, the mirror storage function can trigger target model training after a preset time since the last federated learning training was completed.
[0302] S602, the first cache control function constructs the training data set.
[0303] The first cache control function can construct a training data set based on historical model inference data and relevant information of the image obtained from the storage node.
[0304] The following explanation uses the target model, which includes the mirror inference model and the caching strategy inference model, as examples.
[0305] The training dataset for the mirror inference model can include multiple data sets. Each data set includes mirror dependencies, the mirror storage resource requirements within those dependencies, the remaining storage space in the corresponding first region, and the mirror usage flag. The mirror usage flag indicates whether the mirror is being used. For example, the first cache control function can obtain information about cached mirrors from storage nodes in the first region. This information can include the number of times the cached mirrors have been used. The first cache control function can determine the usage count of each mirror in the first region. For instance, if the usage count of a mirror in the first region is greater than 0, it determines whether the mirror has been used. The mirror flag can be 1 bit; a "0" bit indicates that the mirror is not used, and a "1" bit indicates that the mirror has been used.
[0306] Optionally, the mirror dependencies in each data group and the mirror storage resource requirements in the mirror dependencies can be represented by the adjacency matrix and feature matrix of the DAG, respectively. For details, please refer to the previous introduction; further explanation is omitted here.
[0307] The training dataset for the caching strategy inference model can include multiple data sets. Each data set can include information about cached images in the first region, candidate image information, remaining storage space of storage nodes in the first region, and the probability of an image actually being used. The probability of an image actually being used is the percentage of an image's usage count relative to the total usage count of all images in this region.
[0308] The first cache control function can also construct an initial model of the target model. This can be implemented in ways including, but not limited to, the following ways.
[0309] In one implementation, the training request information may include the model parameters of the initial model of the target model. The first cache control function can obtain the model parameters of the initial model from the training request information and construct the initial model based on the model parameters.
[0310] In another implementation, the first cache control function can construct an initial model of the target model based on local model parameters, or the first cache control function can use the target model currently in use as the initial model for model training.
[0311] S603, the first cache control function performs model training of the target model based on the training data set of the target model.
[0312] S604, the first cache control function sends model training feedback information to the mirror storage function.
[0313] The training feedback information is used to indicate the first model parameters of the target model after training.
[0314] After training the target model, the first cache control function obtains the model parameters of the trained target model, i.e., the first model parameters. The first cache control function can then feed these first model parameters back to the mirror storage function via model training feedback information. This application does not limit the way the model training feedback information indicates the first model parameters; for example, the model training feedback information may include the first model parameters. Alternatively, the model training feedback information may include parameter identifiers or parameter set identifiers from a predefined parameter set, using these identifiers to indicate the first model parameters.
[0315] Optionally, the model training request information sent by the mirror storage function in S601 includes a first duration, which is the maximum duration of model training. If the duration of model training for the target model is less than or equal to this first duration, the first cache control function sends the model training feedback information to the mirror storage function.
[0316] If the duration of model training of the target model performed by the first cache control function exceeds a first duration, the first cache control function stops the model training of the target model and does not send model training feedback information to the mirror storage function. Optionally, the first cache control function deletes the target model that has not been fully trained.
[0317] S605, the mirror storage function determines the second model parameters of the target model based on the model training feedback information.
[0318] The mirror storage function can obtain model training feedback information from one or more cache control functions, and obtain the model parameters obtained by the one or more cache control functions, including the first model parameters.
[0319] For example, the mirror storage function can aggregate model parameters based on the model parameters obtained from the cache control function to obtain global model parameters, i.e., the second model parameters.
[0320] In one implementation, the mirror storage function can obtain global model parameters by averaging the model parameters obtained from the cache control function.
[0321] In another implementation, the model training feedback information sent by the cache control function may include the number of data groups in the training dataset. The mirror storage function can determine the corresponding weights based on the number of data groups in the training dataset corresponding to the model parameters, and perform a weighted average of the model parameters to obtain the global model parameters.
[0322] S606, the mirror storage function sends model configuration information to the first cache control function.
[0323] The model configuration information is used to indicate the second model parameters of the target model.
[0324] Accordingly, the first cache control function receives model configuration information, updates the target model according to the second model parameters in the model configuration information, and adopts the updated model inference caching strategy. Optionally, the model configuration information may also include model version identification information, etc.
[0325] According to the above scheme, an AI model for inferring caching strategies can be trained through federated learning to enable caching strategy inference to adaptively adjust according to the dynamic environment, improve the accuracy of mirrored caching, and support the efficiency of task startup.
[0326] Figures 7 and 8 are schematic diagrams of possible communication devices provided in embodiments of this application. These communication devices can be used to implement the cache control function, load detection function, mirror management function, or scheduling function in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments. In the embodiments of this application, the communication device can be an access network node as shown in Figure 1, one of the terminals 120a-120j as shown in Figure 1, or an access network node 110a or 110b as shown in Figure 1, or a node in the CN or DN as shown in Figure 1, such as a core network node or a server. It can also be a unit / module / component (such as a chip, chip system, logic circuit, or software) applied to terminals, access network nodes, core network nodes, servers, etc.
[0327] The communication device 700 includes a transceiver unit 720, which can be used to receive or send information. The communication device 700 may also include a processing unit 710, which can be used to process instructions or data to achieve corresponding operations.
[0328] It should be understood that when the communication device 700 is a chip configured in (or used in) a communication device, the transceiver unit 720 in the communication device 700 can be the input / output interface or circuit of the chip, and the processing unit 710 in the communication device 700 can be the processor in the chip.
[0329] Optionally, the communication device 700 may further include a storage unit 730, which can be used to store instructions or data, and the processing unit 710 can execute the instructions or data stored in the storage unit to enable the communication device to perform corresponding operations.
[0330] The communication device 700 can be used to implement the first buffer control function in the method embodiments shown in Figures 3 to 6 above.
[0331] When the communication device 700 is used to implement the first cache control function in the method embodiments shown in Figures 3 to 6: the processing unit 710 is used to obtain the image identifier of the first task, where the first task is a task to be scheduled, and the image identifier is used to identify the image of the first task. The transceiver unit 720 is used to send first information according to the image identifier of the first task, whereby the first information is used to trigger the first storage node to pre-cache the image of the first task.
[0332] When the communication device 700 is used to implement the first load detection function in the method embodiments shown in Figures 3 to 6: the transceiver unit 720 is used to receive a second message, which is used to trigger a pre-cached mirroring. The second message includes a mirror identifier of a first task, which is a task to be migrated from an area outside the first area to the first area. The first area includes at least one computing node scheduled by the first scheduling function. The mirror identifier of the first task is used to identify the mirror of the first task. The transceiver unit 720 is also used to send a first message based on the second message and the load status of the first area. The first message is used to trigger a pre-cached mirroring. The first message includes a mirror identifier of the first task.
[0333] When the communication device 700 is used to implement the second load detection function in the method embodiments shown in Figures 3 to 5: the processing unit 710 is further used to determine to migrate the first task in the workflow to be scheduled from the second region to the first region. The transceiver unit 720 is further used to send a second message, which is used to trigger a pre-cached mirror, the second message including a mirror identifier of the first task, the mirror identifier of the first task being used to identify the mirror of the first task. The first region includes at least one computing node scheduled by the first scheduling function, and the second region includes at least one computing node scheduled by the second scheduling function, the first scheduling function being different from the second scheduling function.
[0334] When the communication device 700 is used to implement the first image management function in the method embodiments shown in Figures 3 to 5: the transceiver unit 720 is used to receive first information, which is used to trigger the first storage node to pre-cache the image of the first task. The processing unit 710 is used to pre-cache the image of the first task according to the first information. The transceiver unit 720 is also used to send second information, which is used to indicate that the image of the first task has been successfully pre-cached.
[0335] When the communication device 700 is used to implement the first scheduling function in the method embodiments shown in Figures 3 to 5: the transceiver unit 720 is also used to obtain information that the image of the first task has been successfully pre-cached by the first storage node. The processing unit 710 is used to schedule the first task to the first storage node.
[0336] For a more detailed description of the processing unit 710 and the transceiver unit 720, please refer to the relevant descriptions in the method embodiments shown in Figures 3 to 6.
[0337] It should be understood that the transceiver unit 720 in the communication device 700 can be implemented through a communication interface (such as a transceiver, transceiver circuit, input / output interface, or pins, etc.). When the communication interface is a transceiver, the transceiver can consist of a receiver and / or a transmitter. The processing unit 710 in the communication device 700 can be implemented through at least one processor, or it can be implemented through at least one logic circuit. Optionally, the communication device 700 also includes a storage unit, which can be implemented using a memory.
[0338] As shown in Figure 8, the communication device 800 includes a processor 810 and an interface circuit 820. The processor 810 and the interface circuit 820 are coupled to each other. It is understood that the interface circuit 820 can be a transceiver or an input / output interface. Optionally, the communication device 800 may also include a memory 830 for storing instructions executed by the processor 810, or storing input data required by the processor 810 to execute instructions, or storing data generated after the processor 810 executes instructions.
[0339] In one implementation, the memory 830 may be integrated into the processor 810 or independent of the processor 810.
[0340] When the communication device 800 is used to implement the method shown in Figures 3 to 6, the processor 810 is used to implement the function of the processing unit 710, and the interface circuit 820 is used to implement the function of the transceiver unit 720.
[0341] When the aforementioned communication device is a chip applied to a communication equipment, the communication equipment chip can implement the cache control function, load detection function, mirror management function, or scheduling function in the above method embodiments. The communication equipment chip receives information from other modules (such as radio frequency modules or antennas) in the communication equipment, the information being sent to the communication equipment by other communication devices; or, the communication equipment chip sends information to other modules (such as radio frequency modules or antennas) in the communication equipment, the information being sent by the communication equipment to other network devices.
[0342] It is understood that the processor in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.
[0343] The method steps in the embodiments of this application can be implemented in hardware or in software instructions executable by a processor. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. The storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Alternatively, the ASIC can reside in an access network device or a terminal device. The processor and storage medium can also exist as discrete components in the access network device or terminal device.
[0344] According to the method provided in the application embodiments, this application embodiment also provides a computer program product, which includes: computer program code, which, when executed by one or more processors, causes a device including the processor to perform the method shown in Figures 3 to 6.
[0345] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. This computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed, in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, network equipment, user equipment, or other programmable device.
[0346] According to the method provided in the embodiments of this application, the embodiments of this application also provide a computer-readable storage medium that stores the above-mentioned computer program or instructions. When the computer program or instructions are run by one or more processors, the apparatus including the processor performs the method shown in Figures 3 to 6.
[0347] As described above, computer programs or instructions can be stored in or transferred from one computer-readable storage medium to another. For example, the computer programs or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video optical disc; or it can be a semiconductor medium, such as a solid-state drive. The computer-readable storage medium can be a volatile or non-volatile storage medium, or it can include both volatile and non-volatile types of storage media.
[0348] According to the method provided in the embodiments of this application, the embodiments of this application also provide a communication system, including one or more of the aforementioned network devices. The system may further include one or more of the aforementioned first terminals.
[0349] In the various embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatuses described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the couplings or direct couplings or communication connections shown or discussed may be through some interfaces; indirect couplings or communication connections between apparatuses or units may be electrical, mechanical, or other forms.
[0350] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this solution according to actual needs.
[0351] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions between different embodiments are consistent and can be referenced by each other. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships.
[0352] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A communication method, characterized in that, include: Obtain the image identifier of the first task, where the first task is a task to be scheduled, and the image identifier is used to identify the image of the first task; Based on the image identifier of the first task, a first message is sent, which is used to trigger the first storage node to pre-cache the image of the first task.
2. The method according to claim 1, characterized in that, The step of obtaining the mirror identifier of the first task includes: Obtain the mirror identifier of the first task from the workflow to be scheduled, wherein the workflow to be scheduled includes the mirror identifier of the task to be scheduled, and the task to be scheduled includes the first task.
3. The method according to claim 2, characterized in that, The workflow also includes task dependencies, which include dependencies on at least one task, wherein the at least one task includes the first task. The method further includes: Based on the task dependencies, the image storage resource requirements of the at least one task, and the storage status of the first region, it is determined that the image of the first task will be pre-cached by the first storage node; The first region includes at least one computing node scheduled by a first scheduling function, and the at least one computing node includes the first storage node.
4. The method according to claim 3, characterized in that, The step of determining that the image of the first task should be pre-cached by the first storage node based on the task dependency relationship, the image storage resource requirements of the at least one task, and the storage status of the first region includes: Based on the task dependencies, the image storage resource requirements of the at least one task, and the storage status of the first region, it is determined that the image of the first task will be pre-cached.
5. The method according to claim 4, characterized in that, The step of determining to pre-cachate the image of the first task based on the task dependencies, the image storage resource requirements of the at least one task, and the storage status of the first region includes: Based on the task dependencies, determine the image dependencies; Based on the image dependency relationship, the image storage resource requirements of the at least one task, and the storage status of the first region, it is determined that the image of the first task will be pre-cached.
6. The method according to claim 5, characterized in that, The method further includes: Obtain the image storage resource requirements of the at least one task.
7. The method according to claim 1, characterized in that, The first task is a task that needs to be migrated from an area outside the first area to the first area. The first region includes at least one computing node scheduled by a first scheduling function, and the at least one computing node includes the first storage node.
8. The method according to claim 7, characterized in that, The step of obtaining the mirror identifier of the first task includes: Receive a first message, which is used to trigger a pre-cached image, and the first message includes the image identifier of the first task.
9. The method according to claim 8, characterized in that, The method further includes: Based on the load status of the first region, it is determined whether the image of the first task can be pre-cached in the first region.
10. The method according to any one of claims 1, 2, and 7 to 9, characterized in that, The method further includes: Based on the image storage resource requirements of the first task and the storage status of the first region, it is determined that the image of the first task will be pre-cached by the first storage node; The first region includes at least one computing node scheduled by a first scheduling function, and the at least one computing node includes the first storage node.
11. The method according to any one of claims 1 to 9, characterized in that, The method further includes: Receive second information from the first storage node, the second information being used to indicate that the image of the first task has been successfully pre-cached; Based on the second information, a third information is sent, which indicates that the first storage node has successfully pre-cached the image of the first task.
12. A communication method, characterized in that, include: Receive a second message, the second message is used to trigger a pre-cached image, the second message includes an image identifier of a first task, the first task is a task to be migrated from a region outside the first region to the first region, the first region includes at least one computing node scheduled by the first scheduling function, and the image identifier of the first task is used to identify the image of the first task. Based on the second message and the load status of the first region, a first message is sent. The first message is used to trigger a pre-cached image, and the first message includes the image identifier of the first task.
13. The method according to claim 12, characterized in that, Sending the first message based on the second message and the load status of the first region includes: If it is determined, based on the load status of the first region, that it is permissible to pre-cache the image of the first task in the first region, then the first message is sent.
14. The method according to claim 12 or 13, characterized in that, The method further includes: Receive fourth information, the fourth information being used to indicate a successfully pre-cached image, the fourth information including the image identifier of the first task; Based on the fourth information, a fifth information is sent, which is used to indicate that the image has been successfully pre-cached, and the fifth information includes the image identifier of the first task.
15. The method according to any one of claims 12 to 14, characterized in that, The method further includes: Send a third message, which is used to trigger a pre-cached image. The third message includes an image identifier for a second task. The second task is a task to be migrated from the first region to a region outside the first region. The image identifier of the second task is used to identify the image of the second task.
16. The method according to claim 15, characterized in that, The method further includes: Based on the load status of the first region, it is determined that the second task in the workflow to be scheduled will be migrated out of the first region.
17. The method according to claim 15 or 16, characterized in that, The method further includes: Receive a sixth message, which indicates a successfully deferred image, and the sixth message includes the image identifier of the second task.
18. A communication method, characterized in that, include: Determine to move the first task in the workflow to be scheduled from the second region to the first region; Send a second message, which is used to trigger a pre-cached image. The second message includes the image identifier of the first task, which is used to identify the image of the first task. The first region includes at least one computing node scheduled by a first scheduling function, and the second region includes at least one computing node scheduled by a second scheduling function, wherein the first scheduling function and the second scheduling function are different.
19. The method according to claim 18, characterized in that, The step of determining to migrate the first task in the workflow to be scheduled from the second region to the first region includes: Based on at least one of the following: task dependencies, the image storage resource requirements of the first task, the load status of the second region, or the load status of the first region, it is determined that the first task will be migrated from the second region to the first region.
20. The method according to claim 18 or 19, characterized in that, The method further includes: Receive fifth information, which is used to indicate that the image has been successfully pre-cached, and the fifth information includes the image identifier of the first task.
21. A communication method, characterized in that, include: Receive first information, which is used to trigger the first storage node to pre-cache the image of the first task; Based on the first information, pre-cache the image of the first task; Send a second message indicating that the image of the first task has been successfully pre-cached.
22. The method according to claim 21, characterized in that, The first information includes a mirror identifier for the first task, which is used to identify a mirror image of the first task.
23. A communication method, characterized in that, include: It has been learned that the first storage node has successfully pre-cached the image of the first task; The first task is scheduled to the first storage node.
24. According to claim 23, the characteristic is that, The step of knowing that the first storage node has successfully pre-cached the image of the first task includes: Receive third information, which indicates that the first storage node has successfully pre-cached the image of the first task.
25. According to claim 24, the characteristic is that, The method further includes: Based on the third information, the first storage node is determined to be the target node.
26. A communication device, characterized in that, The device includes a processor coupled to a memory for storing a computer program, the processor for executing the computer program stored in the memory to cause the communication device to perform the method as described in any one of claims 1 to 25.
27. A computer-readable storage medium, characterized in that, The computer stores instructions that, when executed on the computer, cause the computer to perform the method as described in any one of claims 1 to 25.
28. A computer program product, characterized in that, The computer program product includes: a computer program that, when run, causes a computer to perform the method of any one of claims 1 to 25.
29. A communication system, characterized in that, It includes at least two of the following communication devices: a first communication device, a second communication device, a third communication device, a fourth communication device, or a fifth communication device: The first communication device is used to perform the method as described in any one of claims 1 to 11; The second communication device is used to perform the method as described in any one of claims 12 to 17; The third communication device is used to perform the method as described in any one of claims 18 to 20; The fourth communication device is used to perform the method as described in claim 21 or 22; The fifth communication device is used to perform the method as described in any one of claims 23 to 25.