Workload scheduling in edge computing
Patent Information
- Application Number
- CN202580016859.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-02-29
- Filing Date
- 2025-01-09
- Publication Date
- 2026-09-22
Smart Images

Figure CN122804222A_ABST
Abstract
Description
[0001] Cross-referencing
[0002] This patent application claims priority to U.S. Patent Application No. 18 / 591,963, entitled “WORKLOADSCHEDULNG EDGE COMPUTING”, filed February 29, 2024, by WANG et al., which is assigned to the assignee of this application and is expressly incorporated herein by reference in its entirety. Technical Field
[0003] This disclosure relates generally to wireless communications, and more specifically to workload scheduling in edge computing. Background Technology
[0004] Wireless communication systems are widely deployed to provide various types of communication content, such as voice, video, packet data, message sending and receiving, and broadcasting. These systems can support communication with multiple users by sharing available system resources, such as time, frequency, and power. Examples of such multiple access systems include fourth-generation (4G) systems (such as Long Term Evolution (LTE) systems, LTE-A Advanced (LTE-A) systems, or LTE-A Pro systems) and fifth-generation (5G) systems (which may be referred to as New Radio (NR) systems). These systems can employ technologies such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal FDMA (OFDMA), or Discrete Fourier Transform Extended Orthogonal Frequency Division Multiplexing (DFT-s-OFDM). A wireless multiple access communication system may include one or more base stations (BSs) or one or more network access nodes, each BS or network access node simultaneously supporting communication with multiple communication devices, which may also be referred to as User Equipment (UEs). Summary of the Invention
[0005] The systems, methods, and apparatus disclosed herein each have some innovative aspects, and no single aspect is solely responsible for the desired properties disclosed herein.
[0006] One innovative aspect of the subject matter described in this disclosure can be implemented in a workload scheduler device. The workload scheduler device may include a processing system comprising processor circuitry and memory circuitry storing code. The processing system may be configured to cause the workload scheduler device to: receive information indicating one or more parameters associated with the workload via a request associated with the workload; and send an instruction to assign the workload to at least the first host device based on at least a first joint evaluation associated with the one or more parameters: a first set of one or more computational metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device.
[0007] Another innovative aspect of the subject matter described in this disclosure can be implemented in a method for scheduling connection-edge workloads by or at a workload scheduler device. The method may include: receiving information indicating one or more parameters associated with the workload via a request associated with the workload; and sending an instruction to assign the workload to at least the first host device based on at least a first joint evaluation associated with the one or more parameters: a first set of one or more computational metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device.
[0008] Another innovative aspect of the subject matter described in this disclosure can be implemented in a workload scheduler device. The workload scheduler device may include: components for receiving information indicating one or more parameters associated with the workload via a request associated with the workload; and components for sending an instruction to assign the workload to at least the first host device based on at least a first joint evaluation associated with the one or more parameters: a first set of one or more computational metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device.
[0009] Another innovative aspect of the subject matter described in this disclosure can be implemented in a non-transitory computer-readable medium storing code for scheduling connected edge workloads by or at a workload scheduler device. The code may include instructions executable by a processing system (such as one or more processors) to: receive information indicating one or more parameters associated with the workload via a request associated with the workload; and send an instruction to assign the workload to at least the first host device based on at least a first joint evaluation associated with the one or more parameters: a first set of one or more computational metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device.
[0010] Some specific implementations of the methods, workload scheduler devices, and nontransitory computer-readable media described herein may also include operations, features, components, or instructions for receiving information from a first host device associated with a first set of one or more computational metrics, a first set of one or more communication metrics, a first set of one or more power metrics, and a first set of one or more reliability metrics.
[0011] Some specific implementations of the methods, workload scheduler devices, and nontransitory computer-readable media described herein may also include operations, features, components, or instructions for obtaining a set of scores for a set of host devices including a first host device based on a corresponding joint evaluation associated with each host device in the set of host devices, wherein each score in the set of scores is available for a corresponding host device in the set of host devices, and wherein the assignment of workloads to at least the first host device may be based on a first score for the first host device being relatively greater than one or more scores for the remaining host devices in the set of host devices excluding the first host device.
[0012] Some specific implementations of the methods, workload scheduler devices, and nontransitory computer-readable media described herein may also include operations, features, components, or instructions for obtaining a set of host devices from a set of multiple host devices in association with evaluating each host device in a set of multiple host devices according to one or more parameters and one or more variations of the workload, wherein the set of host devices includes a first host device.
[0013] In some specific implementations of the methods, workload scheduler devices, and nontransitory computer-readable media described herein, evaluating each host device in a set of multiple host devices may include operations, features, components, or instructions for: assessing whether a workload is feasible for the respective host device based on one or more parameters, a corresponding set of one or more variations of the workload, and the capabilities of the respective host device in the set of multiple host devices.
[0014] Another innovative aspect of the subject matter described in this disclosure can be implemented in a first host device. The first host device may include a processing system comprising processor circuitry and memory circuitry for storing code. The processing system may be configured to cause the first host device to: send to a workload scheduler device information associated with: a first set of one or more computational metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device; and receive from the workload scheduler device an instruction to assign the workload to at least the first host device based on at least a first joint evaluation associated with one or more parameters related to the workload: the first set of one or more computational metrics, the first set of one or more communication metrics, the first set of one or more power metrics, and the first set of one or more reliability metrics.
[0015] Another innovative aspect of the subject matter described in this disclosure can be implemented in a method for scheduling connection-edge workloads by or at a first host device. The method may include: sending to a workload scheduler device information associated with: a first set of one or more computation metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device; and receiving from the workload scheduler device an indication of assignment of the workload to at least the first host device based on at least a first joint evaluation associated with one or more parameters related to the workload: the first set of one or more computation metrics, the first set of one or more communication metrics, the first set of one or more power metrics, and the first set of one or more reliability metrics.
[0016] Another innovative aspect of the subject matter described in this disclosure can be implemented in a first host device. The first host device may include: components for sending information associated with a workload scheduler device, including: a first set of one or more computation metrics associated with the first host device; a first set of one or more communication metrics associated with the first host device; a first set of one or more power metrics associated with the first host device; and a first set of one or more reliability metrics associated with the first host device; and components for receiving from the workload scheduler device an indication of assignment of the workload to at least the first host device based on at least a first joint evaluation associated with one or more parameters related to the workload, including: the first set of one or more computation metrics; the first set of one or more communication metrics; the first set of one or more power metrics; and the first set of one or more reliability metrics.
[0017] Another innovative aspect of the subject matter described in this disclosure can be implemented in a non-transitory computer-readable medium storing code for scheduling connection-edge workloads by or at a first host device. The code may include instructions executable by a processing system (such as one or more processors) to: send to a workload scheduler device information associated with: a first set of one or more computation metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device; and receive from the workload scheduler device an instruction to assign the workload to at least the first host device based on at least a first joint evaluation associated with one or more parameters related to the workload: the first set of one or more computation metrics, the first set of one or more communication metrics, the first set of one or more power metrics, and the first set of one or more reliability metrics.
[0018] Some specific implementations of the method described herein, the first host device, and the nontransitory computer-readable medium may also include operations, features, components, or instructions for sending a rejection of the assignment of the workload to the first host device to a workload scheduler device based on one or more percentage measures associated with the amount of resources used for one or more edge computing workloads, including workloads, at the first host device exceeding one or more threshold percentages.
[0019] Some specific implementations of the method described herein, the first host device, and the nontransitory computer-readable medium may also include operations, features, components, or instructions for receiving, based on one or more network congestion metrics, an indication to pause a workload request associated with a session-oriented workload type from a workload scheduler device.
[0020] The method described herein, some specific implementations of the first host device and the nontransitory computer-readable medium may also include operations, features, components or instructions for sending information to the workload scheduler device indicating one or more network congestion metrics associated with a cluster of edge devices including the first host device.
[0021] Some specific implementations of the method described herein, the first host device, and the nontransitory computer-readable medium may also include operations, features, components, or instructions for receiving an indication from a workload scheduler device to pause a workload request based on a preemption rate associated with a workload assigned to a cluster of edge devices including the first host device exceeding a threshold preemption rate.
[0022] Another innovative aspect of the subject matter described in this disclosure can be implemented in a client device. The client device may include a processing system comprising processor circuitry and memory circuitry storing code. The processing system may be configured to cause the client device to: send information indicating one or more parameters associated with the workload via a request associated with the workload; and receive information associated with the workload from a first host device based on at least a first joint evaluation associated with the one or more parameters: a first set of one or more computational metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device.
[0023] Another innovative aspect of the subject matter described in this disclosure can be implemented in a method for scheduling connection-edge workloads by a client device. The method may include: sending information indicating one or more parameters associated with the workload via a request associated with the workload; and receiving information associated with the workload from a first host device based on at least a first joint evaluation associated with the one or more parameters: a first set of one or more computational metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device.
[0024] Another innovative aspect of the subject matter described in this disclosure can be implemented in a client device. The client device may include: components for sending information indicating one or more parameters associated with the workload via a request associated with the workload; and components for receiving information associated with the workload from a first host device based on at least a first joint evaluation associated with the one or more parameters: a first set of one or more computational metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device.
[0025] Another innovative aspect of the subject matter described in this disclosure can be implemented in a non-transitory computer-readable medium storing code for scheduling connection-edge workloads by or at a client device. The code may include instructions executable by a processing system (such as one or more processors) to: send information indicating one or more parameters associated with the workload via a request associated with the workload; and receive information associated with the workload from the first host device based on at least a first joint evaluation associated with the one or more parameters: a first set of one or more computational metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device.
[0026] Some specific implementations of the methods, client devices, and nontransitory computer-readable media described herein may also include operations, features, components, or instructions for receiving, based on one or more network congestion metrics, an indication to pause a workload request associated with a session-oriented workload type from a workload scheduler device.
[0027] Some specific implementations of the methods, client devices, and nontransitory computer-readable media described herein may also include operations, features, components, or instructions for receiving, from a workload scheduler device, an indication to pause a workload request based on a preemption rate associated with a workload assigned to a cluster of edge devices, including a first host device, exceeding a threshold preemption rate.
[0028] Details of one or more specific embodiments of the subject matter described in this disclosure are set forth in the accompanying drawings and the following description. Other features, aspects, and advantages will become apparent from the description, drawings, and claims. Note that the relative dimensions in the following drawings may not be drawn to scale. Attached Figure Description
[0029] Figure 1 An example wireless communication system supporting workload scheduling in edge computing is shown.
[0030] Figure 2 An example connected edge cluster architecture supporting workload scheduling in edge computing is shown.
[0031] Figure 3 An example signaling diagram supporting workload scheduling in edge computing is shown.
[0032] Figure 4A An example workload scheduling graph supporting workload scheduling in edge computing is shown.
[0033] Figure 4B An example nested workload scheduling algorithm supporting workload scheduling in edge computing is shown.
[0034] Figure 5 An example workload deployment algorithm supporting workload scheduling in edge computing is shown.
[0035] Figure 6 An example filtering process supporting workload scheduling in edge computing is shown.
[0036] Figure 7 An example scoring hierarchy is shown to support workload scheduling in edge computing.
[0037] Figure 8 An example scoring adaptive algorithm is shown to support workload scheduling in edge computing.
[0038] Figure 9 An example process flow for supporting workload scheduling in edge computing is shown.
[0039] Figure 10 and Figure 11 A block diagram of an example device supporting workload scheduling in edge computing is shown.
[0040] Figures 12 to 14 A flowchart illustrating an example method for supporting workload scheduling in edge computing is shown.
[0041] The same reference numerals and names in different figures denote the same elements. Detailed Implementation
[0042] For the purpose of describing the innovative aspects of this disclosure, the following description relates to some specific implementations. However, those skilled in the art will readily recognize that the teachings herein can be applied in a variety of different ways. The specific implementations described can be implemented in any device, system, or network capable of transmitting and receiving radio frequency (RF) signals according to any one of the following IEEE 16.11 standards: IEEE 802.11, Bluetooth, etc. ® Standard, Code Division Multiple Access (CDMA), Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Global System for Mobile Communications (GSM), GSM or General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), Terrestrial Trunking Radio (TETRA), Wideband-CDMA (W-CDMA), Evolved Data Optimized (EV-DO), 1xEV-DO, EV-DO Rev A, EV-DO Rev B, High-Speed Packet Access (HSPA), High-Speed Downlink Packet Access (HSDPA), High-Speed Uplink Packet Access (HSUPA), Evolved High-Speed Packet Access (HSPA+), Long Term Evolution (LTE), AMPS, or other known signals used for communication in wireless, cellular, or Internet of Things (IoT) networks, such as systems utilizing third-generation (3G), fourth-generation (4G), fifth-generation (5G), or sixth-generation (6G) technologies or other specific implementations thereof.
[0043] The various aspects generally involve assigning edge computing workloads to host devices. Some aspects more specifically relate to workload scheduling (such as workload assignment) in distributed computing scenarios that may include various devices, including one or more workload scheduler devices, one or more host devices, and one or more client devices. As described herein, "client" and "host" can be understood as the logical roles of a device in a workload assignment context (such as workload deployment). For example, a client device for a first workload can be a host device for a second workload. In other words, a device can act as, be used as, or operate as a host device or a client device on a per-workload basis. In some specific implementations, a workload scheduler device may receive a workload request from a first device (which may be referred to herein as a client device for the workload request) and may assign the workload to a second device (which may be referred to herein as a host device for the workload request) for processing, computation, or execution. In some aspects, a workload scheduler device may assign a workload to a second device from a set of candidate devices (which may be referred to herein as a set of candidate host devices for the workload request). A workload scheduler device may obtain a set of candidate devices, which may also be referred to herein as a set of feasible hosts, based on information that indicates each device in the candidate device set is capable of satisfying the expectations associated with the requested workload, by determining, identifying, identifying, calculating, or otherwise receiving such information. In other words, a workload scheduler device may obtain a set of feasible hosts by filtering out potential host devices that cannot satisfy the expectations associated with the requested workload.
[0044] Based on the available set of hosts, the workload scheduler device can perform one or more joint evaluations in association with the assigned requested workload. For example, the workload scheduler device can perform a corresponding joint evaluation for each device within the available set of hosts. In other words, the workload scheduler device can perform a first joint evaluation for a first device (such as associated with or corresponding to that first device) within the available set of hosts, a second joint evaluation for a second device (such as associated with or corresponding to that second device), and so on. Each joint evaluation can be a joint evaluation of one or more computation metrics, one or more communication metrics, one or more power metrics, and one or more reliability metrics. For example, the first joint evaluation can be a joint evaluation of a first set of one or more computation metrics associated with the first device, a first set of one or more communication metrics associated with the first device, a first set of one or more power metrics associated with the first device, and a first set of one or more reliability metrics associated with the first device. Furthermore, each joint evaluation can be associated with one or more parameters related to the requested workload (such as being notified or adjusted by those parameters).
[0045] The workload scheduler device can obtain a score for each device within the set of feasible hosts by performing a joint evaluation. For example, the workload scheduler device can obtain a first score for a first device based on a first joint evaluation, and a second score for a second device based on a second joint evaluation. The workload scheduler device can rank the first and second devices based on the first and second scores, respectively. In some implementations, the workload scheduler device can obtain a score from the joint evaluation as a weighted score. In such implementations, as part of each joint evaluation, the workload scheduler device can apply one or more weights to one or more of a computation metric, a communication metric, a power metric, and a reliability metric. For example, for each joint evaluation, the workload scheduler device can apply a first weight to the computation metric, a second weight to the communication metric, a third weight to the power metric, and a fourth weight to the reliability metric. The first, second, third, and fourth weights can be the same, partially the same, or different. For example, two or more weights can be the same, two or more weights can be different, or any combination thereof. In some respects, workload scheduler devices can employ learning capabilities or algorithms (such as via artificial intelligence (AI) or machine learning (ML) models) to compute, select, identify, or otherwise determine weights for joint evaluation. Workload scheduler devices can provide such AI or ML models with inputs such as historical data associated with workload scheduling (such as via one or more workload logs) or user-specific or application-specific priority rankings (e.g., one metric type taking precedence over another), and so on.
[0046] The workload scheduler device can assign a requested workload to a device from the set of feasible hosts based on the device's score and ranking. For example, if a first score for a first device is relatively greater than the score for any other device in the set of feasible hosts, the workload scheduler device can assign the requested workload to the first device. Upon receiving the assignment of the requested workload, the first device (which may be a host device for the requested workload) can process the requested workload and return (such as sending or otherwise providing) information associated with the requested workload (such as the result of the requested workload) to the requesting device (which may be a client device for the requested workload).
[0047] Specific embodiments of the subject matter described in this disclosure can be implemented to achieve one or more of the following potential advantages. For example, by supporting some of the example embodiments, workload scheduler devices can be able to more comprehensively consider (such as taking into account, incorporating, or evaluating) criteria particularly relevant to distributed computing scenarios (such as distributed connected edge computing deployment scenarios). More specifically, by jointly evaluating one or more compute metrics, one or more communication metrics, one or more power metrics, and one or more reliability metrics for each potential host device, the described techniques can be implemented to achieve more dynamic, efficient, and appropriate workload scheduling (such as assignment) compared to other workload schedulers (compared to workload schedulers that cannot consider more than, for example, compute metrics). Such more dynamic, efficient, and appropriate workload scheduling may involve assigning workloads to specific host devices associated with a combination of compute capabilities, communication capabilities, power, and reliability that is relatively most compatible with a given set of parameters associated with the workload. For example, by considering reliability metrics (among others), workload scheduler devices can more frequently assign workloads to relatively more reliable devices, which can reduce the likelihood of assigned workloads being preempted at host devices (including in distributed computing scenarios associated with high dynamism and mobility). Furthermore, by considering the various metrics described herein to allocate workloads to appropriate host devices, the described techniques can increase the likelihood of balancing resource usage across host devices and can support relatively more (e.g., larger volumes) of workloads across a set of host devices (by more efficiently assigning workloads to different devices). Therefore, the described techniques can increase the likelihood that assigned host devices can meet the parameters associated with the workload, which can support lower latency, higher data rates, service enhancements, better user experience, and other benefits.
[0048] Figure 1 An example wireless communication system 100 supporting workload scheduling in edge computing is illustrated. The wireless communication system 100 may include one or more network entities 105, one or more UEs 115, and a core network 130. In some specific implementations, the wireless communication system 100 may be a Long Term Evolution (LTE) network, an Advanced LTE (LTE-A) network, an LTE-A Pro network, a New Radio (NR) network, or a network operating according to other systems and radio technologies, including future systems and radio technologies not explicitly mentioned herein.
[0049] Network entity 105 may be distributed across a geographical area to form wireless communication system 100 and may include devices in different forms or with different capabilities. In various examples, network entity 105 may be referred to as a network element, mobility element, RAN node, or network equipment, among other designations. In some specific implementations, network entity 105 and UE 115 may wirelessly communicate via one or more communication links 125 (such as radio frequency (RF) access links). For example, network entity 105 may support a coverage area 110 (such as a geographical coverage area) over which UE 115 and network entity 105 may establish one or more communication links 125. Coverage area 110 may be an example of a geographical area in which network entity 105 and UE 115 may support the transmission of signals according to one or more radio access technologies (RATs).
[0050] UE 115 can be distributed throughout the entire coverage area 110 of the wireless communication system 100, and each UE 115 can be stationary, mobile, or both at different times. UE 115 can be devices of different forms or with different capabilities. Figure 1 Some example UE 115s are illustrated herein. The UE 115 described herein can be able to support various types of devices (such as...) Figure 1 It communicates with other UEs (115 or network entity 105) as shown.
[0051] As described herein, a node in the wireless communication system 100 (which may be referred to as a network node or wireless node) may be a network entity 105 (such as any network entity described herein), a UE 115 (such as any UE described herein), a network controller, apparatus, device, computing system, one or more components, or another suitable processing entity configured to perform any of the techniques described herein. For example, a node may be UE 115. Alternatively, a node may be network entity 105. Furthermore, a first node may be configured to communicate with a second or third node. In one aspect of this example, the first node may be UE 115, the second node may be network entity 105, and the third node may be UE 115. In another aspect of this example, the first node may be UE 115, the second node may be network entity 105, and the third node may be network entity 105. In other aspects of this example, the first node, the second node, and the third node may be different from these examples. Similarly, references to UE 115, network entity 105, device, equipment, computing system, etc., may include disclosures of UE 115, network entity 105, device, equipment, computing system, etc., as nodes. For example, a disclosure that UE 115 is configured to receive information from network entity 105 also discloses that a first node is configured to receive information from a second node.
[0052] In some implementations, network entity 105 may communicate with core network 130, communicate with each other, or both. For example, network entity 105 may communicate with core network 130 via one or more backhaul communication links 120 (such as according to S1, N2, N3, or other interface protocols). In some implementations, network entities 105 may communicate with each other directly (such as directly between network entities 105) or indirectly (such as via core network 130) via backhaul communication links 120 (such as according to X2, Xn, or other interface protocols). In some implementations, network entities 105 may communicate with each other via midhaul communication link 162 (such as according to midhaul interface protocol) or fronthaul communication link 168 (such as according to fronthaul interface protocol) or any combination thereof. Backhaul communication link 120, midhaul communication link 162, or fronthaul communication link 168 may be or include one or more wired links (such as electrical links, fiber optic links), one or more wireless links (such as radio links, wireless optical links), etc., or various combinations thereof. UE 115 can communicate with core network 130 via communication link 155.
[0053] One or more network entities in the network entity 105 described herein may include or be referred to as base station (BS) 140 (such as transceiver base station, radio BS, NR BS, access point, radio transceiver, node B, evolved Node B (eNB), next-generation Node B or gigabit Node B (any of which may be referred to as gNB), 5G NB, next-generation eNB (ng-eNB), home node B, home evolved Node B or other suitable terms). In some specific implementations, network entity 105 (such as BS 140) may be implemented in a converged (such as monolithic, standalone) BS architecture that may be configured to utilize a protocol stack physically or logically integrated within a single network entity 105 (such as a single RAN node, such as BS 140).
[0054] In some specific implementations, network entity 105 may be implemented in a decomposed architecture (such as a decomposed BS architecture or a decomposed RAN architecture), which may be configured to utilize protocol stacks physically or logically distributed between two or more network entities 105 (such as an Integrated Access Backhaul (IAB) network, an Open RAN (O-RAN) (such as a network configuration sponsored by the O-RAN Alliance), or a Virtualized RAN (vRAN) (such as a Cloud RAN (C-RAN)). For example, network entity 105 may include one or more of the following: a Central Unit (CU) 160, a Distributed Unit (DU) 165, a Radio Unit (RU) 170, a RAN Intelligent Controller (RIC) 175 (such as a near real-time RIC (near RT RIC), a non-real-time RIC (non-RT RIC)), a Service Management and Orchestration (SMO) 180 system, or any combination thereof. RU 170 may also be referred to as a radio headend, an intelligent radio headend, a remote radio headend (RRH), a remote radio unit (RRU), or a transmit-receive point (TRP). One or more components of network entity 105 in a decomposed RAN architecture may be co-located, or one or more components of network entity 105 may be located in distributed locations (such as separate physical locations). In some implementations, one or more network entities 105 in a decomposed RAN architecture may be implemented as virtual units (such as virtual CU (VCU), virtual DU (VDU), virtual RU (VRU)).
[0055] The functional splitting among CU 160, DU 165, and RU 170 is flexible and can support different functionalities depending on which functions (such as network layer functions, protocol layer functions, baseband functions, RF functions, and any combination thereof) are performed at CU 160, DU 165, and RU 170. For example, a protocol stack functional splitting can be used between CU 160 and DU 165, allowing CU 160 to support one or more layers of the protocol stack, and DU 165 to support one or more different layers of the protocol stack. In some implementations, CU 160 can host higher protocol layer (such as Layer 3 (L3), Layer 2 (L2)) functionalities and signaling (such as Radio Resource Control (RRC), Service Data Adaptation Protocol (SDAP), and Packet Data Convergence Protocol (PDCP)). The CU160 can be connected to one or more DU 165s or RU 170s, and these DU 165s or RU 170s can host lower protocol layers, such as Layer 1 (L1) (e.g., the Physical (PHY) layer) or L2 (e.g., the Radio Link Control (RLC) layer, Medium Access Control (MAC) layer) functionalities and signaling, and each can be at least partially controlled by the CU 160. Additionally or alternatively, a functional split of the protocol stack can be employed between the DU 165 and RU 170, such that the DU 165 can support one or more layers of the protocol stack, and the RU 170 can support one or more different layers of the protocol stack. The DU 165 can support one or more different cells (e.g., via one or more RU 170s). In some specific implementations, functional decomposition between CU 160 and DU 165, or between DU 165 and RU 170, can be within the protocol layer (e.g., some functions of the protocol layer can be performed by one of CU 160, DU 165, or RU 170, while other functions of the protocol layer can be performed by a different one of CU 160, DU 165, or RU 170). CU 160 can be further functionally decomposed into CU control plane (CU-CP) functions and CU user plane (CU-UP) functions. CU 160 can be connected to one or more DU 165 via midhaul communication link 162 (such as F1, F1c, F1u), and DU 165 can be connected to one or more RU 170 via fronthaul communication link 168 (such as an open fronthaul (FH) interface). In some specific implementations, the midhaul communication link 162 or the fronthaul communication link 168 can be implemented based on the interfaces (such as channels) between the layers of the protocol stack, each layer of which is supported by the corresponding network entity 105 communicating via such communication links.
[0056] In wireless communication systems (such as wireless communication system 100), the infrastructure and spectrum resources for radio access can support wireless backhaul link capabilities to supplement wired backhaul connections, thereby providing an IAB network architecture (such as to core network 130). In some specific implementations, in an IAB network, one or more network entities 105 (such as IAB node 104) may be partially controlled by each other. One or more IAB nodes 104 may be referred to as donor entities or IAB donors. One or more DU 165s or one or more RU 170s may be partially controlled by one or more CU 160s associated with donor network entities 105 (such as donor BS 140). One or more donor network entities 105 (such as IAB donors) may communicate with one or more additional network entities 105 (such as IAB node 104) via supported access and backhaul links (such as backhaul communication link 120). IAB node 104 may include an IAB mobile termination (IAB-MT) controlled (such as scheduled) by the coupled IAB donor's DU 165. The IAB-MT may include a separate set of antennas for relaying communication with UE 115, or may share the same antennas (such as RU 170) of IAB node 104 for access via DU 165 (such as a virtual IAB-MT (vIAB-MT)). In some implementations, IAB node 104 may include DU 165 that supports communication links with additional entities (such as IAB node 104, UE 115) within a relay chain or configuration (such as downstream) of the access network. In such implementations, one or more components of the decomposed RAN architecture (such as one or more IAB nodes 104 or components of IAB node 104) may be configured to operate according to the techniques described herein.
[0057] In a specific implementation of the techniques described herein within the context of a decomposed RAN architecture, one or more components of the decomposed RAN architecture may be configured to support workload scheduling in edge computing as described herein. For example, some operations described as being performed by UE 115 or network entity 105 (such as BS 140) may additionally or alternatively be performed by one or more components of the decomposed RAN architecture (such as IAB node 104, DU 165, CU 160, RU 170, RIC 175, SMO 180).
[0058] UE 115 may include or be referred to as a mobile device, wireless device, remote device, handheld device, or user equipment, or some other suitable term, wherein "device" may also be referred to as a cell, station, terminal, or client, etc. UE 115 may also include or be referred to as a personal electronic device, such as a cellular phone, personal digital assistant (PDA), tablet computer, laptop computer, or personal computer. In some implementations, UE 115 may include or be referred to as a wireless local loop (WLL) station, Internet of Things (IoT) device, Internet of Everything (IoE) device, or machine-type communication (MTC) device, etc., which may be implemented in various objects such as electrical appliances or vehicles, instruments, etc.
[0059] The UE 115 described herein can communicate with various types of devices, such as other UEs 115 that sometimes act as relays, network entities 105, and network equipment including macro eNBs or gNBs, small cell eNBs or gNBs, relay BSs, etc. Figure 1 As shown in the image.
[0060] UE 115 and network entity 105 can wirelessly communicate with each other via one or more communication links 125 (such as access links) using resources associated with one or more carriers. The term "carrier" can refer to a set of RF spectrum resources having a defined physical layer structure for supporting communication link 125. For example, a carrier for communication link 125 may include a portion of an RF spectrum band (such as a bandwidth portion (BWP)) that operates according to one or more physical layer channels for a given radio access technology (such as LTE, LTE-A, LTE-A Pro, NR). Each physical layer channel may carry acquisition signaling (such as synchronization signals, system information), control signaling coordinating carrier operation, user data, or other signaling. Wireless communication system 100 can support communication with UE 115 using carrier aggregation or multi-carrier operation. Depending on the carrier aggregation configuration, UE 115 may be configured with multiple downlink component carriers and one or more uplink component carriers. Carrier aggregation can be used in conjunction with both frequency division duplex (FDD) component carriers and time division duplex (TDD) component carriers. Communication between network entity 105 and other devices can refer to communication between these devices and any part of network entity 105 (such as entity, sub-entity). For example, the terms “send,” “receive,” or “communicate” when referring to network entity 105 can refer to any part of the RAN network entity 105 (such as BS 140, CU160, DU 165, RU 170) communicating with another device (such as directly or via one or more other network entities 105).
[0061] The signal waveform transmitted via a carrier can consist of multiple subcarriers (e.g., using multi-carrier modulation (MCM) techniques, such as orthogonal frequency division multiplexing (OFDM) or discrete Fourier transform extended OFDM (DFT-S-OFDM)). In systems employing MCM, a resource element can refer to a symbol period (e.g., the duration of a modulation symbol) and a subcarrier resource, where the symbol period and subcarrier spacing can be inversely related. The number of bits carried by each resource element can depend on the modulation scheme (e.g., the order of the modulation scheme, the decoding rate of the modulation scheme, or both), such that a relatively higher number of resource elements (e.g., in the transmission duration) and a relatively higher order modulation scheme can correspond to a relatively higher communication rate. Wireless communication resources can refer to a combination of RF spectrum resources, temporal resources, and spatial resources (e.g., spatial layers or beams), and the use of multiple spatial resources can improve the data rate or data integrity of communication with UE 115.
[0062] The time interval for network entity 105 or UE 115 can be expressed as a multiple of a basic time unit. In some specific implementations, this basic time unit may refer to the sampling period. seconds, of which It can represent the supported subcarrier spacing, and The supported Discrete Fourier Transform (DFT) size can be represented. The time interval of the communication resources can be organized according to radio frames, each with a specified duration (such as 10 milliseconds (ms)). Each radio frame can be identified by a System Frame Number (SFN) (such as ranging from 0 to 1023).
[0063] Each frame may include multiple consecutively numbered subframes or time slots, and each subframe or time slot may have the same duration. In some implementations, a frame may be divided into subframes (e.g., in the time domain), and each subframe may be further divided into a number of time slots. Alternatively, each frame may include a variable number of time slots, and the number of time slots may depend on the subcarrier spacing. Each time slot may include a number of symbol periods (e.g., this depends on the length of the cyclic prefix added before each symbol period). In some wireless communication systems 100, time slots may be further divided into multiple micro-time slots associated with one or more symbols. Excluding the cyclic prefix, each symbol period may be associated with one or more (such as...) The duration of a symbol period is associated with a (number) sampling period. The duration of a symbol period can depend on the subcarrier spacing or the operating frequency band.
[0064] A subframe, time slot, micro-time slot, or symbol can be the smallest scheduling unit of the wireless communication system 100 (e.g., in the time domain) and can be referred to as a transmission time interval (TTI). In some specific implementations, the duration of the TTI (e.g., the number of symbol periods in the TTI) can be variable. Additionally or alternatively, the smallest scheduling unit of the wireless communication system 100 can be dynamically selected (e.g., in a burst of shortened TTIs (sTTIs)).
[0065] Depending on the technology, carriers can be used to multiplex physical channels for communication. For example, one or more of Time Division Multiplexing (TDM), Frequency Division Multiplexing (FDM), or hybrid TDM-FDM techniques can be used to multiplex physical control channels and physical data channels for signaling via a downlink carrier. Control regions (such as control resource sets (CORESET)) used for physical control channels can be defined by a set of symbol periods and can extend across the system bandwidth or a subset of the system bandwidth of the carrier. One or more control regions (such as CORESET) can be configured for a set in UE 115. For example, one or more UEs in UE 115 can monitor or search control regions to obtain control information based on one or more search space sets, and each search space set can include one or more control channel candidates in one or more aggregation levels arranged in a concatenated manner. The aggregation level of control channel candidates can refer to the number of control channel resources (such as control channel elements (CCE)) associated with coded information for a control information format having a given payload size. The search space set may include: a common search space set configured to transmit control information to multiple UEs 115, and a UE-specific search space set used to transmit control information to a specific UE 115.
[0066] In some implementations, network entity 105 (such as BS 140, RU 170) may be mobile, and thus provide communication coverage to mobile coverage areas 110. In some implementations, although different coverage areas 110 associated with different technologies may overlap, different coverage areas 110 may be supported by the same network entity 105. In some other implementations, overlapping coverage areas 110 associated with different technologies may be supported by different network entities 105. The wireless communication system 100 may include, for example, a heterogeneous network in which different types of network entities 105 provide coverage for various coverage areas 110 using the same or different radio access technologies.
[0067] Wireless communication system 100 may be configured to support ultra-reliable communication or low-latency communication, or various combinations thereof. For example, wireless communication system 100 may be configured to support ultra-reliable low-latency communication (URLLC). UE 115 may be designed to support ultra-reliable, low-latency, or critical functions. Ultra-reliable communication may include private or group communication and may be supported by one or more services, such as push-to-talk, video, or data. Support for ultra-reliable, low-latency functions may include prioritizing services, and such services may be used for public safety or general business applications. The terms “ultra-reliable,” “low-latency,” and “ultra-reliable low-latency” are used interchangeably herein.
[0068] In some implementations, UE 115 may be configured to support direct communication with other UE 115s via device-to-device (D2D) communication links 135, such as according to peer-to-peer (P2P), D2D, or sidelink protocols. In some implementations, one or more UE 115s in a group performing D2D communication may be within the coverage area 110 of a network entity 105 (such as BS 140, RU 170) that supports various aspects of such D2D communication configured (e.g., scheduled) by the network entity 105. In some implementations, one or more UE 115s in such a group may be outside the coverage area 110 of the network entity 105, or otherwise may be unable or not configured to receive transmissions from the network entity 105. In some implementations, a group of UE 115s communicating via D2D communication may support a one-to-many (1:M) system, where each UE 115 transmits to every other UE 115 in the group. In some implementations, network entity 105 may facilitate the scheduling of resources for D2D communication. In other implementations, D2D communication may be performed between UEs 115 without involving network entity 105.
[0069] Core network 130 provides user authentication, access authorization, tracking, Internet Protocol (IP) connectivity, and other access, routing, or mobility functions. Core network 130 can be an evolved packet core (EPC) or a 5G core (5GC), which may include at least one control plane entity (such as a Mobility Management Entity (MME), Access and Mobility Management Function (AMF)) managing access and mobility, and at least one user plane entity (such as a Serving Gateway (S-GW), Packet Data Network (PDN) Gateway (P-GW), or User Plane Function (UPF)) routing packets or interconnecting to external networks. The control plane entity manages non-access stratum (NAS) functions, such as mobility, authentication, and bearer management of UE 115 served by network entity 105 (such as BS 140) associated with core network 130. User IP packets can be transferred through user plane entities, which provide IP address allocation and other functions. User plane entities can connect to one or more network operator IP services 150. IP services 150 may include access to the Internet, intranets, IP Multimedia Subsystem (IMS), or packet-switched streaming services.
[0070] Wireless communication system 100 can operate using one or more frequency bands in the range of 300 MHz to 300 GHz. Generally, the area from 300 MHz to 3 GHz is referred to as the Ultra High Frequency (UHF) band or decimeter band because the wavelength range is approximately one decimeter to one meter in length. UHF waves may be blocked or redirected by buildings and environmental features (which may be referred to as clusters), but these waves are sufficient to penetrate structures so that macrocells can provide service to UE 115 located indoors. Compared to communication using smaller frequencies and longer waves in the High Frequency (HF) or Very High Frequency (VHF) portions of the spectrum below 300 MHz, communication using UHF waves can be associated with smaller antennas and shorter distances (such as less than 100 km).
[0071] Wireless communication system 100 may utilize both licensed and unlicensed RF spectrum bands. For example, wireless communication system 100 may employ Licensed Assisted Access (LAA), LTE Unlicensed (LTE-U) radio access technology, or NR technology using unlicensed frequency bands (such as the 5 GHz Industrial, Scientific, and Medical (ISM) band). When operating using unlicensed RF spectrum, devices such as network entity 105 and UE 115 may employ carrier sensing for collision detection and avoidance. In some implementations, operation using unlicensed frequency bands may be coordinated with component carriers operating using licensed frequency bands (such as LAA) to conform to carrier aggregation configurations. Operation using unlicensed spectrum may include downlink transmission, uplink transmission, P2P transmission, or D2D transmission, etc.
[0072] Network entity 105 (such as BS 140, RU 170) or UE 115 may be equipped with multiple antennas that can be used to employ techniques such as transmit diversity, receive diversity, multiple-input multiple-output (MIMO) communication, or beamforming. The antennas of network entity 105 or UE 115 may be located within one or more antenna arrays or antenna panels, which can support MIMO operation or transmit or receive beamforming. For example, one or more BS antennas or antenna arrays may be co-located at an antenna assembly (such as an antenna tower). In some implementations, the antennas or antenna arrays associated with network entity 105 may be located at different geographical locations. Network entity 105 may include an antenna array having a collection of multiple rows and columns of antenna ports that network entity 105 can use to support beamforming for communication with UE 115. Similarly, UE 115 may include one or more antenna arrays that can support various MIMO or beamforming operations. Additionally or alternatively, the antenna panel may support RF beamforming for signals transmitted via the antenna ports.
[0073] Beamforming (also known as spatial filtering, directional transmission, or directional reception) is a signal processing technique that can be used at a transmitting or receiving device (such as network entity 105, UE 115) to shape or guide an antenna beam (such as a transmit beam, receive beam) along a spatial path between the transmitting and receiving devices. Beamforming can be achieved by combining signals transmitted via antenna elements of an antenna array such that some signals propagating along a specific orientation relative to the antenna array experience constructive interference, while other signals experience destructive interference. Adjustments to the signals transmitted via the antenna elements may include the transmitting or receiving device applying amplitude shifts, phase shifts, or both to the signals carried via the antenna elements associated with the device. The adjustments associated with each antenna element can be defined by a set of beamforming weights associated with a specific orientation (such as the antenna array relative to the transmitting or receiving device, or relative to some other orientation).
[0074] The wireless communication system 100 can be a packet-based network operating according to a layered protocol stack. In the user plane, communication at the bearer or PDCP layer can be IP-based. The RLC layer can perform packet segmentation and reassembly for transmission via logical channels. The MAC layer can perform priority processing and multiplexing of logical channels to transport channels. The MAC layer can also implement error detection, error correction, or both to support retransmission and improve link efficiency. In the control plane, the RRC layer can provide the establishment, configuration, and maintenance of RRC connections between the UE 115 and network entity 105 or core network 130 that support user plane data radio bearers. The PHY layer can map transport channels to physical channels.
[0075] UE 115 and network entity 105 can support data retransmission to increase the likelihood of successful data reception. Hybrid Automatic Repeat Request (HARQ) feedback is a technique used to increase the likelihood of correctly receiving data via communication links such as communication link 125 and D2D communication link 135. HARQ may include a combination of error detection (e.g., using Cyclic Redundancy Check (CRC)), forward error correction (FEC), and retransmission (e.g., Automatic Repeat Request (ARQ)). HARQ can improve throughput at the MAC layer under poor radio conditions such as low signal-to-noise ratio conditions. In some implementations, the device may support same-slot HARQ feedback, where the device can provide HARQ feedback in a specific time slot for data received via a previous symbol in that time slot. In some other implementations, the device may provide HARQ feedback in subsequent time slots or according to a different time interval.
[0076] Some UE 115 devices (such as MTC or IoT devices) can be low-cost or low-complexity devices and can provide automated communication between machines (such as via machine-to-machine (M2M) communication). M2M communication or MTC can refer to data communication technologies that allow devices to communicate with each other or with network entities 105 (such as BS 140) without human intervention. In some specific implementations, M2M communication or MTC may include communication from devices with integrated sensors or meters to measure or capture information and relay such information to a central server or application that uses the information or presents it to people interacting with the application. Some UE 115 devices can be designed to collect information or enable automated behavior of machines or other devices. Examples of applications for MTC devices include: smart metering, inventory monitoring, water level monitoring, equipment monitoring, healthcare monitoring, wildlife monitoring, weather and geographic event monitoring, queue management and tracking, remote security sensing, physical access control, and transaction-based commerce charging.
[0077] In some aspects, the wireless communication system 100 may support one or more signaling-based or configuration-based mechanisms associated with workload scheduling in edge computing, such as in distributed computing scenarios. For example, the wireless communication system 100 may be an example of an edge computing system that includes various devices such as gNBs, APs, routers, mobile devices (smartphones), cars or other vehicles, laptops or other computing devices, game consoles, security cameras, wearable devices, extended reality (XR) or virtual reality (VR) glasses, augmented reality (AR) devices, smart thermostats, IoT devices, and other consumer devices connected to the network. These devices may act as scheduler devices, host devices, client devices, or any two or more of these. Generally, devices may act as, operate as, or be used as host devices or client devices on a per-workload basis. For example, a device may act as a client device for a first workload and may act as a host device for a second workload (sequentially, such as at different times, or in parallel, such as simultaneously). Additionally or alternatively, client devices may have fewer computing resources and relatively limited processing power compared to host devices (such as edge nodes) (at least, for example, related to a specific workload, allowing the device to request assignment of workloads that are relatively unsuitable for it or workloads that would otherwise result in higher processing speeds or device performance). Therefore, in some scenarios, client devices may rely on host devices to process, analyze, and execute relatively large computing workloads (such as processing tasks, task workloads, or data services) that would otherwise cause latency and power consumption at the client device. Some client devices (such as security cameras) may process workloads locally rather than offloading such workloads to other devices. In some implementations, workloads or processing tasks may be associated with outputs that may include data, commands (such as increasing the temperature of a thermostat), alarms (such as police alarms), notifications (such as notifications to homeowners), or exporting data to the cloud for analysis or recording (such as video footage).
[0078] In some edge computing systems, the collective workload of the edge computing system can be distributed across various nodes (such as edge nodes or devices) (such as UE 115 and network entity 105) within the edge computing system. Some edge computing systems can support computing resource management schemes for data centers, resident compute nodes, and other devices. Such schemes may depend on communication links between devices with sufficient robustness and quality. However, these schemes may not be suitable for mobile computing environments where devices (such as cars, laptops, personal devices, and other compute nodes) move into, out of, or within the network at different times.
[0079] For example, in some mobile edge computing (MEC) deployments associated with cellular networks, client devices (such as UE 115) can move between different network entities 105, resulting in changes to MEC latency criteria. Similarly, the topology of the wireless communication links between host devices (such as edge nodes) and client devices can change over time. Some edge computing deployments may not be able to take device mobility into account when scheduling and distributing device workloads. For example, some transient host devices (such as vehicles and cars or mobile devices) may be unavailable for specific periods of time, and other host devices may not be able to adjust or redistribute task workloads based on the availability of transient host devices. As described herein, a transient host device can be a device or node with periodic, occasional, or intermittent availability, making it temporarily available and otherwise unavailable for task processing or execution.
[0080] In some edge computing deployments, device workload distribution can be orchestrated (e.g., managed) by cloud servers or data centers. However, relying on cloud devices (such as those managed by cloud servers) is also problematic. Figure 2 The cloud edge (260) illustrated and described in the figure can introduce latency, privacy, and backhaul issues for workload management and task execution. For example, due to the inverse relationship between locality (such as distance) and latency (such as processing time) in distributed computing environments, executing processing workloads at a nearby host device may be more efficient than offloading processing tasks to a remote cloud server (regarding latency). Therefore, relying on the cloud to execute workloads can introduce unacceptable latency and security issues. Furthermore, cloud devices may be several hops away from host devices or edge nodes within the edge computing system and may experience connectivity problems. Additionally, cloud devices may consider a finite subset of a large set of relevant criteria associated with workload assignment in edge computing deployments, which may lead to inappropriate or inefficient workload assignment. For example, while multiple different criteria may serve as the basis for workload assignment in edge computing deployments, cloud devices may consider computational metrics and lack the ability to consider other metrics related to workload assignment in edge computing deployments.
[0081] For example, some solutions associated with cloud workload orchestration (such as Kubernetes solutions) may rely on cluster deployments on dedicated compute edge devices (which may not be available in some deployment scenarios) and may not account for communication costs or dynamic cluster topologies (which can have a significant impact on overall performance in some deployment scenarios). Furthermore, such solutions may lack support for non-containerized workloads and, depending on their reliance on dedicated compute edge devices, may not be suitable for heterogeneous (and non-Linux) device platforms. Additionally, such solutions may place heavy loads on edge devices with limited capabilities, which may be unsuitable or cause difficulties in scenarios where the edge devices are not specifically designed for edge computing tasks.
[0082] In some examples, the host and client devices of the wireless communication system 100 (such as one or more network entities 105 or one or more UEs 105 or any combination thereof) can support distributed computing scenarios and corresponding scheduling (such as workload assignment) schemes. In other words, the wireless communication system 100 can be associated with a distributed computing ecosystem and can utilize a distributed computing workload scheduler. Depending on the distributed computing scenario it supports, the host or client device can bring (such as support) intelligent and high-performance distributed computing to the connection edge. In some examples, the host or client device can use a public (such as the same) platform to collect and process data and learn about the environment and its usage. Furthermore, the host device can manage resources and orchestrate tasks to improve efficiency and enhance the user experience. In some aspects, the host device can leverage a hardware-agnostic platform with open protocols, application programming interfaces (APIs), and software to implement a distributed computing ecosystem. Additionally or alternatively, the host device can use protocols, APIs, and algorithms configured for hardware from a specific vendor (such as a specific manufacturer).
[0083] This disclosure supports solutions to (such as considering, involving, incorporating, or otherwise taking into account) the edge characteristics of distributed computing workload scheduling (which may be equivalently referred to as distributed computing workload orchestration). In other words, some example implementations involve distributed computing workload schedulers that, compared to other schemes, more comprehensively consider the unique aspects of workload scheduling for distributed computing. For example, while workload scheduling in the cloud may focus specifically on compute metrics, a workload scheduler device implementing the described techniques can assign workloads to host devices based on a joint evaluation of one or more compute metrics, one or more communication metrics, one or more power metrics, and one or more reliability metrics. In some implementations, the workload scheduler device may employ or otherwise use workload deployment algorithms (such as distributed computing workload deployment algorithms) to perform the joint evaluation of compute metrics, communication metrics, power metrics, and reliability metrics, as provided by... Figure 5 The illustration is shown and described in more detail with reference to the figure.
[0084] Furthermore, the various aspects and techniques described herein can be implemented, at least in part, using AI programs, such as those that include ML or Artificial Neural Network (ANN) models. Example ML models may include mathematical representations or definitions of computational capabilities for inferring from input data based on patterns or relationships identified in the input data. As used herein, the term "inference" may include one or more of decision, prediction, determination, or value, which may represent the output of the ML model. Computational capabilities can be defined according to one or more parameters of the ML model, such as weights and biases. Weights may indicate the relationship between the input data and output of the ML model, such as between specific input data and a specific output, and biases may be an offset indicating the starting point of the ML model's output. Example ML models operating on input data may begin with an initial output based on biases (such as according to or otherwise associated with biases) and (subsequently) update their output based on a combination of input data and weights.
[0085] In some respects, ML models can be configured to provide computational capabilities for wireless communication. In some specific implementations, workload scheduler devices can use such ML models to select one or more weights (such as biases) for one or more joint evaluations (e.g., to flexibly and dynamically adjust the relative priority levels among various metric types that the workload scheduler device can consider). Therefore, during device operation, the workload scheduler device can use different weights or biases when scheduling different types of workloads. For example, the workload scheduler device can use different weights or biases when scheduling ML-based workloads compared to other types of computational workloads.
[0086] ML models can be deployed in one or more devices (such as network entity 105 and UE 115) and can be configured to enhance various aspects of wireless communication systems. For example, ML models can be trained to identify (or otherwise acquire) patterns or relationships in data corresponding to networks, devices, air interfaces, etc. ML models can support operational decisions related to one or more aspects associated with wireless communication devices, networks, or services. For example, ML models can be used to support aspects such as workload assignment (including workload assignment in distributed computing scenarios), signal decoding / decoding, network routing, energy saving, transceiver circuit control, frequency synchronization, timing synchronization, channel state estimation, channel equalization, channel state feedback, modulation, demodulation, device location, beamforming, load balancing, operational and management functions, or security, and others.
[0087] ML models can be characterized by a learning type that generates a specific type of learning model that performs a particular type of task. For example, different types of machine learning include supervised learning, unsupervised learning, semi-supervised learning, and reinforcement learning. ML models can be used to perform various tasks, such as classification or regression, where classification refers to determining (e.g., obtaining, predicting, selecting, labeling, or otherwise identifying) one or more discrete output values from a predefined set of output values, and regression refers to determining (e.g., obtaining, predicting, selecting, labeling, or otherwise identifying) continuous values that are not constrained by predefined output values. For example, a classification ML model configured according to aspects of this disclosure can produce outputs that include the assignment of workloads to specific host devices (from a set of available (e.g., predefined, preselected, or previously obtained) host devices). Some example ML models configured to perform such tasks include ANNs, such as convolutional neural networks (CNNs) and recurrent neural networks (RNNs), transformers, diffusion models, regression analysis models (e.g., statistical models), large language models (LLMs), decision tree learning (e.g., predictive models), support vector networks (SVMs), and probabilistic graphical models (e.g., Bayesian networks). Furthermore, it should be understood that, unless otherwise specifically indicated, terms such as “AI / ML model,” “ML model,” “trained ML model,” “ANN,” “model,” and “algorithm” are intended to be used interchangeably.
[0088] Figure 2An example connected edge cluster architecture 200 supporting workload scheduling in edge computing is illustrated. Connected edge cluster architecture 200 illustrates communication between client devices 205, host devices 210, and distributed computing controller 255 via network connectivity 250. As described herein, a connected edge cluster (such as a cluster of devices associated with a distributed computing scenario) can be a group of locally connected edge devices (such as edge nodes) associated with the same administrator or user domain. Connected edge clusters may be equivalently referred to herein as distributed computing local edge clusters, distributed connected edges, etc. In some implementations, one or more client devices 205, one or more host devices 210, or distributed computing controller 255 may support distributed computing workload scheduling based on a joint evaluation of one or more potential or candidate host devices 210. In some respects, a joint evaluation can be understood as an evaluation of a given host device 210 (such as that associated with or corresponding to the given host device), and can be a joint evaluation of one or more computational metrics associated with the host device 210, one or more communication metrics associated with the host device 210, one or more power metrics associated with the host device 210, and one or more reliability metrics associated with the host device 210.
[0089] Client device 205 may be an example of a device with relatively limited processing power or resources, and host device 210 may be an example of a device with relatively abundant processing power or resources. For example, client device 205 may be a user device, game console, game controller, or sensor, smart camera, smart TV, smart appliance (such as a smart washing machine, dryer, refrigerator, freezer, microwave oven, dishwasher, stove, or oven), XR or VR glasses or headset, AR device, smartwatch, earphones, smart thermostat, IoT device, or any combination thereof. Further, for example, host device 210 may be a laptop computer, mobile device (smartphone), vehicle, server, gNB, AP, router, or any combination thereof. In general, devices (such as gNB, AP, UE, mobile STA, router, mobile device (smartphone), car or other vehicle, laptop computer or other computing device, game console, wearable device, XR or VR glasses or headset, AR device, smartwatch, earphones, thermostat, sensor, IoT device, and other consumer devices) may act as a scheduler device, host device, client device, or any two or more of these at different times. Furthermore, although illustrated and described as "host" devices and "client" devices in the examples, by Figure 2 The various devices illustrated and described with reference to this figure can act as, operate as, or be used as host devices or client devices on a per-workload basis.
[0090] Client device 205 and host device 210 may be associated with one or more corresponding agents, components, functions, or applications (such as including, supporting, running, or otherwise performing operations via or pursuant to one or more corresponding agents, components, functions, or applications). For example, client device 205 may be associated with one or more third-party applications 215 (such as third-party distributed computing applications), one or more native applications 220 (such as native distributed computing applications), and client agent 225 (such as distributed computing client agent). Host device 210 may be associated with one or more third-party applications 230 (such as third-party distributed computing applications), one or more native applications 235 (such as native distributed computing applications), one or more workloads 240, and host agent 245 (such as distributed computing host agent). In some aspects, a distributed computing controller 255 that may be included, used as, supports management and orchestration (MANO), or otherwise associated with management and orchestration (MANO) may be an example of a workload scheduler device. In this respect, the distributed computing controller 255 can perform one or more joint evaluations of a set of host devices 210 (such as a set across host devices, associated with a set of host devices, or corresponding to a set of host devices), and assign one or more workloads 240 to one or more host devices 210 based on one or more joint evaluations. The connected edge cluster architecture 200 may also include one or more legacy devices. In some aspects, such distributed computing components of the distributed computing controller 255, host devices 210, client devices 205, and legacy devices can distinguish the distributed computing deployment from Kubernetes components such as master nodes (supporting or associated with schedulers and one or more controllers) and worker nodes (supporting or associated with kubelets, which may be node-level agents responsible for executing pod goals, managing resources, and supporting cluster health).
[0091] Network connectivity 250 through which client device 205, host device 210, and distributed computing controller 255 communicate (e.g., via over-the-air signaling) may include, or be associated with, any combination of Wi-Fi connectivity, cellular connectivity, Bluetooth connectivity, Zigbee connectivity, wired connectivity (e.g., via Ethernet), or IoT protocols (e.g., Message Queuing Telemetry Transport (MQTT), Matter, ioFog, or other protocols). Client device 205, host device 210, and distributed computing controller 255 may interface with network connectivity components via one or more interfaces. For example, client device 205 and host device 210 may support Distributed Computing API 265 and Distributed Computing API 275, and Original Equipment Manufacturer (OEM) API 270 and OEM API 280, respectively. Distributed computing controller 255 may support Distributed Computing API 285, and in some examples, may support Distributed Computing API 290 to interface with cloud edge 260.
[0092] In some examples, host device 210 (which may be equivalently referred to herein as an edge device or edge node) may not be dedicated to running workloads 240 (such as compute workloads) assigned by distributed computing controller 255 or another workload scheduler device. In other words, host device 210 may launch and run native applications 235 separate from (e.g., other than) any workloads 240 assigned to the host device by a workload scheduler device (such as distributed computing controller 255). For example, host device 210 may be an end-user device with user applications on an on-device outside the control of the workload scheduler device. In some aspects, host device 210 and distributed computing controller 255 may balance how much computing resources are available for native (such as local or on-device) applications (such as those reserved for or used by native applications) with how much computing resources are available for the assigned edge workloads 240 (such as those reserved for or used by the assigned edge workloads). In addition, host device 210 (and client device 205) can be locally deployed devices with heterogeneous capabilities, which can join or leave the cluster (such as a local edge cluster) or dynamically change the connectivity within the cluster.
[0093] Therefore, based on some of the example implementations disclosed herein, the workload scheduler device may consider (such as taking into account, incorporating, or evaluating) one or more computation metrics, one or more communication metrics, one or more power metrics, and one or more reliability metrics to more comprehensively consider relevant criteria for the distributed computing ecosystem in workload scheduling. For example, even if the first host device 210 may have relatively greater computational power or resources compared to the second host device 210, the workload scheduler device may assign the workload to the second host device 210 if the relatively greater communication metric, power metric, or reliability metric of the second host device 210 is sufficient to compensate for any deficiencies in the second host device 210 in terms of computational power or resources. In such an example, the workload scheduler device may perform a first joint evaluation for the first host device 210 (a first set of one or more computation metrics, communication metrics, power metrics, and reliability metrics associated with the first host device 210) and a second joint evaluation for the second host device 210 (a second set of one or more computation metrics, communication metrics, power metrics, and reliability metrics associated with the second host device 210), and may assign workloads to the second host device 210 based on the second joint evaluation providing (e.g., generating) a higher score than the first joint evaluation.
[0094] Figure 3 An example signaling diagram 300 supporting workload scheduling in edge computing is shown. Signaling diagram 300 can be implemented or is implemented to implement one or more aspects of the connected edge cluster architecture 200. For example, signaling diagram 300 illustrates communication between client device 205-a, client device 205-b, host device 210-a, host device 210-b, and workload scheduler device 305. Client device 205-a and client device 205-b can be as follows: Figure 2 The example of client device 205 is illustrated and described with reference to the figure. Host devices 210-a and 210-b can be as follows: Figure 2 The example of host device 210 illustrated and referred to in this figure. Furthermore, although illustrated and described in the example as a "host" device and a "client" device, the actual devices are... Figure 3 The various devices illustrated and described with reference to this figure can act as, operate as, or be used as host devices or client devices on a per-workload basis. The workload scheduler device 305 can be as follows: Figure 2The example of the distributed computing controller 255 illustrated and referred to in this figure is shown. Client devices 205-a, 205-b, host devices 210-a, 210-b, and workload scheduler device 305 can communicate with each other via communication links 310, which can be examples of over-the-air communication links (such as cellular, Bluetooth, or Wi-Fi links), wired communication links (such as Ethernet links), or any combination thereof. Figure 2 The network connectivity 250 illustrated and described with reference to this figure is associated with.
[0095] In some implementations, client devices 205-a and 205-b may launch corresponding applications and, depending on the application launched, may have corresponding workloads for processing. Additionally or alternatively, client devices 205-a and 205-b may identify, select, determine, identify, or otherwise obtain corresponding workloads for processing based on the applications currently running at client devices 205-a and 205-b. In either or both of these scenarios, client device 205-a may have a first workload for processing, and client device 205-b may have a second workload for processing.
[0096] In an example where client devices 205-a and 205-b are not equipped with or lack the processing or computing power or resources to handle the first and second workloads respectively (or otherwise determine or estimate that workload processing can be performed more efficiently or accurately by different devices), client devices 205-a and 205-b may request the assignment of the first and second workloads to one or more host devices 210. In other words, client devices 205-a and 205-b may request host device 210 (which may have relatively greater processing or computing power or resources compared to client devices 205-a and 205-b) to handle the first and second workloads and, after processing, return information associated with the workloads (such as the results of the workloads) to client devices 205-a and 205-b. For example, client device 205-a may send a workload request 315-a associated with the first workload, and client device 205-b may send a workload request 315-b associated with the second workload.
[0097] In some respects, via workload request 315-a, client device 205-a can provide information indicating a first set of parameters associated with a first workload. via workload request 315-b, client device 205-b can provide information indicating a second set of parameters associated with a second workload. Such parameters associated with the requested workload may include workload type, an indication of affinity to the requested workload, a requested completion time, a requested power source or battery power metric, a requested software or hardware capability, one or more weights associated with a joint evaluation of the host device 210 used for workload assignment, a requested service level agreement (SLA), or any combination thereof. Workload request 315-a or workload request 315-b may be delivered via a single message or packet or via multiple messages or packets.
[0098] The workload type can indicate whether the requested workload is "session-oriented" or "one-off". A session-oriented workload type indicates that the workload host is expected to maintain (e.g., establish and maintain) a data session with a peer device (e.g., requesting client device 205 or another device). For example, a session-oriented workload type may be associated with continuous, periodic, frequent, or ongoing processing tasks that are associated with data transmissions from the peer device. A one-off workload type indicates that one or more tasks associated with the workload complete independently and provide input data in the workload request (e.g., in workload request 315-a or workload request 315-b). For example, a one-off workload type can be completed without establishing a data session with a peer device.
[0099] Indications of affinity for the requested workload may include information indicating compatibility or similarity between the requested workload and another workload or between the requested workload and a potential host device 210. The requested completion time may be an indication of the time within which the requesting client device 205 expects a result associated with the requested workload. The requested power source or battery power metric may indicate a request for a host device 210 connected to the grid (such as a “plug-in” device), or may indicate a threshold battery power level (such that if the host device 210 is not connected to the grid, the assigned host device 210 can be expected to have a battery power level that meets the threshold battery power level).
[0100] The requested software or hardware capabilities may indicate the target operating system (OS), target software or hardware architecture, container flags, number of central processing unit (CPU) cores, number of graphics processing unit (GPU) cores, storage availability or memory availability, and other examples of software or hardware that client device 205 may request. One or more weights may include weights that client device 205 requests workload scheduler device 305 to use as part of a joint evaluation performed for workload assignment, such as in an example where workload scheduler device 305 uses a joint evaluation to obtain a weighted sum.
[0101] The requested SLA may indicate one or more criteria or metrics, such as Quality of Service (QoS), that the requesting client device 205 expects the host device 210, assigned to handle the workload, to meet. QoS may be associated with a slice type, such as Enhanced Mobile Broadband (eMBB), Ultra-Reliable Low-Latency Communication (URLLC), or Massive Machine-Type Communication (mMTC). Additionally or alternatively, the requested SLA may be workload-type related. For example, for a session-oriented workload type, the requested SLA may indicate a first set of one or more metrics, and for a one-off workload type, the requested SLA may indicate a second set of one or more metrics. Such a first set of one or more metrics may include one or more of the following: the node ID of the session peer for each direction (such as for peer-to-host communication and for host-to-peer communication), the target or expected throughput, or the target or expected latency. Such a second set of metrics may include an indication of the target or expected completion time.
[0102] It can be an edge node (such as one with a connection to the cloud edge, such as one by...) Figure 2 The workload scheduler device 305 of the cloud edge (260) connectivity edge node illustrated and described with reference to the figure can receive workload requests 315-a and 315-b respectively from client devices 205-a and 205-b. Based on the received workload requests 315-a and 315-b, the workload scheduler device 305 can assign a first workload and a second workload to one or more host devices 210. For example, and as described by... Figure 3 As illustrated, the workload scheduler device 305 can send an instruction to the host device 210-a to assign a first workload 320-a, and can send an instruction to the host device 210-b to assign a second workload 320-b.
[0103] In some implementations, the workload scheduler device 305 may perform one or more joint evaluations 325 to determine or select an assignment 320-a to host device 210-a and an assignment 320-b to host device 210-b (and send instructions to them). For example, the workload scheduler device 305 may perform a first set of joint evaluations 325 associated with a first workload (such as for the first workload) and a second set of joint evaluations associated with a second workload (such as for the second workload). The workload scheduler device 305 may perform the first set of joint evaluations 325 based on corresponding joint evaluations of one or more computation metrics, one or more communication metrics, one or more power metrics, and one or more reliability metrics based on a first set of parameters associated with the first workload for each host device 210 in the set for host devices 210. Furthermore, the workload scheduler device 305 can perform a second set of joint evaluations 325 based on a corresponding joint evaluation of one or more computation metrics, one or more communication metrics, one or more power metrics, and one or more reliability metrics for each host device 210 in the set of host devices 210 and based on a second set of one or more parameters associated with the second workload.
[0104] For example, the first set of joint evaluations 325 may include a first joint evaluation 325 for host device 210-a for the first workload and a second joint evaluation 325 for host device 210-b for the first workload. In such an example, the first joint evaluation 325 for host device 210-a may take into account (such as considering or incorporating) a first set of one or more computational metrics associated with host device 210-a, a first set of one or more communication metrics associated with host device 210-a, a first set of one or more power metrics associated with host device 210-a, and a first set of one or more reliability metrics associated with host device 210-a. The second joint evaluation 325 for host device 210-b may take into account (such as considering or incorporating) a second set of one or more computational metrics associated with host device 210-b, a second set of one or more communication metrics associated with host device 210-b, a second set of one or more power metrics associated with host device 210-b, and a second set of one or more reliability metrics associated with host device 210-b. The workload scheduler device 305 can obtain a first score from the first joint evaluation 325 and a second score from the second joint evaluation 325, and can assign a first workload to host device 210-a or host device 210-b based on whichever of the first score or the second score is greater. In some aspects, the workload scheduler device 305 can assign the first workload to host device 210-a (via assignment 320-a) based on the first score being greater than the second score.
[0105] For example, the second set of joint evaluations 325 may include a third joint evaluation 325 for host device 210-a for the second workload and a fourth joint evaluation 325 for host device 210-b for the second workload. In such an example, the third joint evaluation 325 for host device 210-a may take into account (such as considering or incorporating) a first set of one or more computational metrics associated with host device 210-a, a first set of one or more communication metrics associated with host device 210-a, a first set of one or more power metrics associated with host device 210-a, and a first set of one or more reliability metrics associated with host device 210-a. The fourth joint evaluation 325 for host device 210-b may take into account (such as considering or incorporating) a second set of one or more computational metrics associated with host device 210-b, a second set of one or more communication metrics associated with host device 210-b, a second set of one or more power metrics associated with host device 210-b, and a second set of one or more reliability metrics associated with host device 210-b. The workload scheduler device 305 can obtain a third score from the third joint evaluation 325 and a fourth score from the fourth joint evaluation 325, and can assign the second workload to host device 210-a or host device 210-b based on whichever of the third or fourth score is greater. In some aspects, the workload scheduler device 305 can assign the second workload to host device 210-b (via assignment 320-b) based on the fourth score being greater than the third score.
[0106] In some implementations, workload scheduler device 305 may continuously track resource availability or usage on host device 210 (e.g., receiving indications of resource availability or usage or otherwise monitoring such availability or usage) and may incorporate resource availability or usage into joint evaluation 325. For example, workload scheduler device 305 may set (e.g., select, determine, identify, compute, or otherwise determine) maximum (e.g., upper limit) limits for distributed computing usage 335 on each host device 210 to avoid adversely affecting native application performance. In other words, because host device 210 may not have (e.g., lack) dedicated resources for distributed computing applications, workload scheduler device 305 may assign workloads to host device 210 based on the likelihood that host device 210 will launch native applications while handling assigned distributed computing workloads. In some deployment scenarios or for some types of host device 210, non-distributed computing usage 340 may be highly dynamic, depending on user interaction (e.g., launching native applications, such as launching video games on a laptop).
[0107] In some respects, the workload scheduler device 305 can set limits (such as quotas) on distributed computing usage 335 such that distributed computing usage 335 is less than or equal to a threshold percentage (or ratio) of the host device 210's resources (such as integrated hardware resources, such as compute resources, memory resources, or storage resources). Such a threshold percentage can be set to... %,in This can be any number, including 10, 15, 20, 25, 30, etc. Additionally or alternatively, the workload scheduler device 305 can set limits on distributed computing usage 335 such that distributed computing usage 335 is associated with a threshold number of resources less than or equal to the resource threshold, where such a threshold number of resources can refer to the number of processing blocks, the number of CPU cores, the number of GPU cores, the amount of memory, etc. Furthermore, given the highly dynamic nature of non-distributed computing usage 340, the workload scheduler device 305 can set limits on distributed computing usage 335 to provide an amount of idle resources 330 (such as a threshold percentage or a threshold number). Therefore, the workload scheduler device 305 can set limits on distributed computing usage 335 such that distributed computing usage 335 is less than or equal to a threshold percentage or number, non-distributed computing usage 340 is at least a threshold percentage or number, idle resources are at least a threshold percentage or number, or any combination thereof. For example, if the compute, memory, or storage usage for a distributed computing workload exceeds a fixed percentage or amount at host device 210, or if the power of host device 210 drops below a fixed (or custom) percentage or rate, the state of host device 210 can be set to busy, and workload scheduler device 305 can skip host device 210 for workload assignment. In some implementations, workload scheduler device 305 can skip host device 210 during a host filtering process, such as by... Figure 5 and Figure 6 The illustrations are shown and described in more detail with reference to these figures.
[0108] The workload scheduler device 305 can set appropriate maximum limits for distributed computing usage 335 on each host device 210 based on its usage history. In some implementations, the workload scheduler device 305 may set the same maximum limit for distributed computing usage 335 for each host device 210 in a set of host devices 210. In other implementations, the workload scheduler device 305 may set different (or at least separately defined or indicated) maximum limits for distributed computing usage 335 for each host device 210 in a set of host devices 210. The workload scheduler device 305 may take into account such resource availability or usage (given the limits of distributed computing usage 335) as a computation or reliability metric, or may take into account such resource availability or usage as a separate metric (such as an independent metric separate from and supplementing computation and reliability metrics).
[0109] Additionally or alternatively, the workload scheduler device 305 may monitor link utilization or packet loss reports. For example, an AP or other network entity 105 may send information (such as reports) indicating link utilization or packet loss (such as retransmissions) or both to the workload scheduler device 305. In such examples, the workload scheduler device 305 may use such reported information to determine, identify, or pinpoint one or more congested areas of the network (such as signaling congestion hotspots). The workload scheduler device 305 may determine, identify, or pinpoint one or more congested areas based on one or more metrics associated with the number of channel accesses, the percentage of available spectrum used, the number of collisions, the number of retransmissions, the number of scheduling requests, the number of connection attempts (such as random access), or any combination thereof.
[0110] Additionally or alternatively, the workload scheduler device 305 can monitor whether the parameters, objectives, requests, or expectations of the assigned workload are met. In other words, the workload scheduler device 305 can monitor workload execution at one or more host devices 210. For example, the workload scheduler device 305 can receive information from the client device 205 or the host device 210 indicating whether one or more parameters associated with the assigned workload are consistently met (such as being met for at least a threshold percentage of time, or such that a threshold number or percentage of parameters are met). If the workload scheduler device 305 receives information indicating that one or more parameters associated with the assigned workload are not consistently met, the workload scheduler device 305 can reschedule one or more workloads, reassign one or more workloads, or reconfigure the network topology.
[0111] Furthermore, if the workload scheduler device 305 (re)deploys a workload sequence or receives information indicating that a workload sequence is being (re)deployed (such as at the workload scheduler device 305, at a given host device 210, or across a set of multiple host devices 210), the workload scheduler device 305 can calculate a weighted sum of queuing times associated with the workload sequence (or receive information indicating such a weighted sum). Such a weighted sum can be weighted according to (e.g., based on) using workload priority as a weight. For example, a first workload associated with a first queuing time and a first priority value can be given a weighted queuing time associated with (e.g., equal to) a first product of the first queuing time and the first priority value. Further, for example, a second workload associated with a second queuing time and a second priority value can be given a weighted queuing time associated with (e.g., equal to) a second product of the second queuing time and the second priority value. In such examples, the weighted sum of queuing times can include the sum of the first and second products. A relatively large (weighted sum) queuing time (such as greater than or equal to a threshold time) can indicate that the cluster is busy. Similarly, a relatively small (weighted sum) queuing time (such as less than or equal to a threshold time) can indicate that the cluster is idle or available.
[0112] In some implementations, workload scheduler device 305 can monitor the distribution of workloads across a set of host devices 210 and can assign workloads to balance the distribution of workloads across the set of host devices 210. For example, workload scheduler device 305 can assign workloads to host devices 210-a and 210-b such that a first set of workloads assigned to host device 210-a is substantially proportional to a second set of workloads assigned to host device 210-b. The first set of workloads may be substantially proportional to the second set of workloads based on the association of the first set and the second set of workloads with substantially equal amounts or percentages of computing resources (measured on a per-device basis), substantially equal priorities, or any combination thereof.
[0113] Additionally or alternatively, workload scheduler device 305 can monitor the reliability of one or more host devices 210 by monitoring the rescheduling or preemption rate at one or more host devices 210. For example, workload scheduler device 305 can use the percentage of rescheduling or preemption to characterize the reliability of the cluster. Host devices 210 can reschedule or preempt assigned distributed computing workloads based on network changes, host devices 210 leaving the cluster, local application startup, or the startup of higher-priority edge computing workloads.
[0114] The workload scheduler device 305 may perform one or more workload updates based on distributed computing cluster monitoring (such as distributed computing cluster status monitoring, such as based on percentage usage of resources at the monitoring host device 210, link utilization or packet loss reports, workload execution, workload distribution, or rescheduling / preemption). In some aspects, the workload scheduler device 305 may redeploy assigned workloads or adjust, reconfigure, or otherwise update the network or cluster topology based on host mobility, network conditions, local applications, or higher-priority edge computing workloads at the host device 210. Additionally or alternatively, if the workload scheduler device 305 receives information indicating that one or more workloads have exceeded their completion deadlines, the workload scheduler device 305 may transmit the workloads (or indications of workloads, potentially along with indications of rejection or dismissal) back to the client device 205. In some examples, the workload scheduler device 305 or the host device 210 may sort (e.g., arrange or organize) workloads based on a corresponding priority or corresponding completion deadline associated with each workload in the workload. In some examples, workload scheduler device 305 can (re)assign or (re)configure workload deployments to balance the workload distribution across the set of host devices 210 (or based on received information indicating an unbalanced workload distribution). Furthermore, in some aspects, workload scheduler device 305 can limit the number of workloads in a queue. For example, workload scheduler device 305 can set (such as configure) the number of workloads allowed in the queues of workload scheduler device 305. The maximum or upper limit of a workload.
[0115] Furthermore, regarding the distributed computing usage 335 at host device 210 (such as host device 210-a), workload scheduler device 305 or host device 210 may perform one or more operations based on whether one or more threshold percentages are met. For example, if the distributed computing usage 335 at host device 210-a meets (such as exceeding) a first threshold percentage... Then, workload scheduler device 305 can skip host device 210-a in the filtering step. Additionally or alternatively, if distributed computing at host device 210-a uses 335 to meet (e.g., exceed) a second threshold percentage... Then host device 210-a can preempt one or more workloads assigned to host device 210-a (which helps allocate sufficient resources to one or more native applications on host device 210-a). Additionally or alternatively, if distributed computing at host device 210-a uses 335 to meet (such as exceeding) a third threshold percentage Then host device 210-a can reject new incoming workloads. For example, when distributed computing at host device 210-a uses 335 to meet (such as exceeding) a third threshold percentage. At that time, host device 210-a may send an indication of rejection to workload scheduler device 305 in association with receiving workload assignments from workload scheduler device 305.
[0116] Based on monitored link utilization, packet loss reports, or rescheduling / preemption occurrences, the workload scheduler device 305 can selectively prohibit or reject workload requests. For example, if the network becomes congested (e.g., indicated by relatively high packet loss, retransmission, or link utilization, or otherwise), the workload scheduler device 305 can stop (all or relatively low priority) incoming session-oriented workloads (such as session-oriented jobs). In such an example, the workload scheduler device 305 can send an indication to reject (e.g., disable) workloads associated with the session-oriented workload type. Additionally or alternatively, if the rescheduling / preemption rate is relatively high (e.g., greater than or equal to a threshold rate), the workload scheduler device 305 can reject new incoming workload requests until the distributed computing cluster stabilizes again. In such an example, the workload scheduler device 305 can send an indication to reject (e.g., disable) workloads associated with any workload type.
[0117] In some implementations, the workload scheduler device 305 may support compute-aware network resource allocation. In such implementations, the workload scheduler device 305, or one or more host devices 210 or other edge nodes, may offload links on highly utilized channels to other channels. For example, the workload scheduler device 305 or another edge node may change the connection between two network devices (such as APs or any other network entity 105) from a first channel (such as a 2.4 GHz channel) to a second channel (such as a 5 GHz channel). Additionally or alternatively, the workload scheduler device 305 may configure workload trajectories based on network resource allocation. For example, the workload scheduler device 305 may change the routing of one or more session-oriented workloads to one or more links with relatively less traffic. Additionally or alternatively, the workload scheduler device 305 may limit the number of incoming session-oriented workloads in a distributed computing cluster (such as limiting them to an upper limit threshold) to avoid causing network congestion.
[0118] Additionally or alternatively, if the distributed computing application runs on a specific network device (such as a specific AP, gNB, router, or other network entity 105), the workload scheduler device 305 may direct the host device 210 to that specific network device. In other words, the workload scheduler device 305 may connect the host device 210 to a network device (such as a distributed computing host) that has a better connection for the host device 210, such as a connection that is relatively better for a particular workload. In such examples, the workload scheduler device 305 may send information to the host device 210, the first network device, or the second network device instructing the host device 210 to transfer from the second network device to the first network device. In some aspects, the host device 210 may have a wired connection (such as an Ethernet connection) to one or both of the first or second network device. In such aspects, the workload scheduler device 305 may direct the host device 210 from a wireless connection to a wired connection, from a wired connection to a wireless connection, from a second wired connection to a first wired connection, or from a second wireless connection to a first wireless connection. Furthermore, in some implementations, the workload scheduler device 305 can disconnect other devices connected to the first network device. Additionally or alternatively, the first network device can change the (dedicated) channel used for the host device 210 (such as a compute node). In some examples, the workload scheduler device 305 can configure the network device (used as or supporting the host device 210) to serve at most one or a fixed number of session-oriented workloads per channel. In such examples, the workload scheduler device 305 can send information to the network device indicating such a fixed number. Additionally or alternatively, such a fixed number may be provided by network specifications.
[0119] Figure 4A An example workload scheduling diagram 400 supporting workload scheduling in edge computing is shown. Workload scheduling diagram 400 can be implemented or is implemented to implement one or more aspects of the connected edge cluster architecture 200 or signaling diagram 300. For example, workload scheduling diagram 400 illustrates the interface between client application 405, workload scheduler device 305, and host device 210. Host device 210 can be, for example, […]. Figure 2 and Figure 3 The example of host device 210 illustrated and described with reference to these figures, and the workload scheduler device 305 may be as follows: Figure 3 The example of workload scheduler device 305 illustrated and described with reference to this figure is shown. Client application 405 can be used on client device 205 (such as by...). Figure 2 and Figure 3 The client device 205, as illustrated and described with reference to these figures, is running.
[0120] The workload scheduler device 305 can interface with client application 405 via workload scheduling API 410 and with host device 210 via workload deployment API 415. Furthermore, although illustrated as having one workload scheduling API 410 and one workload deployment API 415, the workload scheduler device 305 can have any number of workload scheduling APIs 410 (e.g., one for each client application 405 in a set of client applications 405) and any number of workload deployment APIs 415 (e.g., one for each host device 210 in a set of host devices 210). The workload scheduling API 410 can be an external workload orchestration API for distributed computing client applications. The workload deployment API 415 can be an example of an internal workload deployment API to host device 210 (via, for example, a device service).
[0121] Based on various aspects of workload scheduling diagram 400, workload scheduler device 305 can manage containerized and native application workloads within a distributed computing cluster, including workload scheduling (such as finding the correct host device 210 for each application workload) and workload lifetime management. In some implementations, workload scheduler device 305 (acting as a distributed computing workload orchestrator) can orchestrate workloads between the edge and the cloud. For example, if (sufficient) resources are unavailable at the edge, workload scheduler device 305 can offload some workloads to the cloud (such as those provided by...). Figure 2 The cloud edge 260 is illustrated and described with reference to the figure. Therefore, and according to some of the examples disclosed herein, the workload scheduler device 305 can leverage cloud capabilities when addressing edge-specific characteristics.
[0122] Figure 4B An example nested workload scheduling algorithm 401 supporting workload scheduling in edge computing is illustrated. The nested workload scheduling algorithm 401 can be implemented or is implemented to implement one or more aspects of the connected edge cluster architecture 200, signaling graph 300, or workload scheduling graph 400. For example, as part of distributed computing workload scheduling, a workload scheduler device 305 (such as one provided by...) Figure 3 and Figure 4A The workload scheduler device 305, illustrated and described with reference to these figures, can perform one or more operations associated with the nested workload scheduling algorithm 401.
[0123] According to the nested workload scheduling algorithm 401, workload scheduler device 305 or another edge node can perform one or more operations associated with resource configuration 420 (such as resource optimization), workload configuration 425 (such as workload optimization), and workload deployment 430. Resource configuration 420 may include the (re)configuration of cluster resources by workload scheduler device 305 or another edge node. For example, workload scheduler device 305 or another edge node may update the topology associated with the distributed computing cluster. Workload configuration 425 may include the (re)deployment of one or more active workloads by workload scheduler device 305 or another edge node. For example, workload scheduler device 305 or another edge node may redeploy one or more active workloads based on preemption or local / global binning.
[0124] Workload deployment 430 may include host devices 210 (such as those deployed by a workload scheduler device 305 to it in response to client requests) that deploy new workloads to it. Figure 2 , Figure 3 and Figure 4A The selection of host device 210 (illustrated and described with reference to these figures). For example, as part of workload deployment 430, workload scheduler device 305 may send instructions for the assignment of workloads to at least host device 210. According to some example implementations disclosed herein, workload scheduler device 305 may assign workloads to host devices 210 based on a set of one or more computation metrics, one or more communication metrics, one or more power metrics, and one or more reliability metrics for each host device 210, and based on a corresponding joint evaluation of one or more parameters associated with the workload or a corresponding client request.
[0125] In some examples, algorithm complexity, cluster performance, or execution cost can be scaled in relation to the progress from workload deployment 430 to workload configuration 425 and to resource configuration 420. Furthermore, the nested workload scheduling algorithm 401 can be associated with a set of one or more inputs and a set of one or more outputs. The set of one or more inputs may include, for example, cluster resource specifications (such as resource configuration or allocation), existing workload-to-host device mappings, or workload specifications (such as one or more parameters associated with the workload). The set of one or more outputs may include, for example, updated workload-to-host device mappings or updated cluster resource specifications.
[0126] Figure 5An example workload deployment algorithm 500 supporting workload scheduling in edge computing is illustrated. The workload deployment algorithm 500, which may be an example of a distributed computing workload deployment algorithm, can be implemented or be implemented as aspects of the wireless communication system 100, the connected edge cluster architecture 200, the signaling graph 300, the workload scheduling graph 400, or a nested workload scheduling algorithm 401. For example, a workload scheduler device 305 can perform operations associated with the workload deployment algorithm 500, and such a workload scheduler device 305 can be as described by… Figure 2 , Figure 3 , Figure 4A or Figure 4B Examples of distributed computing controller 255 or workload scheduler device 305 illustrated or described with reference to these figures.
[0127] The workload deployment algorithm 500 can be associated with a three-step process involving a first step of iterating through one or more workload variants while finding feasible host devices 210, a second step of finding a set of host devices 210 capable of running the workload, and a third step of ranking the feasible (e.g., qualified) host devices 210 to select the best host device 210 for the workload, wherein such a "best" host device 210 is understood as the host device 210 with the highest score, lowest score, or closest to the target score according to the ranking. In some respects, the first step can be understood as a multi-variation step, the second step as a filtering step, and the third step as a scoring step.
[0128] The workload scheduler device 305 can initiate, start, or trigger a workload deployment algorithm 500 in association with receiving a workload request 505. In some examples, the workload scheduler device 305 may receive a workload request 505 from a client device 205, which may be a request for a workload or otherwise associated with a workload. The workload request 505 may be as follows: Figure 3 Examples of workload requests 315-a or 315-b illustrated and described in the figure are shown. In some aspects, the workload scheduler device 305 may receive one or more parameters associated with a workload via a workload request 505 or via separate signaling or message transmission. Such parameters associated with the requested workload may include the workload type, an indication of affinity for the requested workload, a requested completion time, a requested power source or battery power metric, a requested software or hardware capability, one or more weights associated with a joint evaluation of the host device 210 used for workload assignment, a requested SLA, or one or more combinations thereof.
[0129] Based on the received workload request 505 and one or more parameters associated with the workload, the workload scheduler device 305 can obtain (such as identifying, configuring, calculating, or generating) a set of one or more workload variants associated with the workload, and can evaluate the host device 210 to identify, calculate, determine, or ascertain whether the host device 210 is capable of handling any or more of the various workload variants. Figure 5 For the purposes of the examples illustrated, such various workload variants may include one or more of workload variant 510-a, workload variant 510-b, or workload variant 510-c. Each workload may be associated with a specific permutation of a set of workload factors. Such workload factors may include one or more of the following: image URI, architecture (such as x86, arm64, RISC-V, etc.), operating system (such as Linux, Windows, Android, etc.), container flags (such as “true” or “false”), or resource expectations or requirements (such as for storage, memory, CPU capacity (in milli-chippus, for example), or GPU capacity). In some respects, workload scheduler device 305, client device 205, or host device 210 may support different variants of workloads to accommodate different device platforms and capabilities (such as compatibility with different device platforms and capabilities).
[0130] The workload scheduler device 305 may perform filtering 515 to identify, determine, or ascertain whether the host device 210 is capable of handling at least one of the various workload variations. For example, if the host device 210 is capable of handling at least one of the various workload variations, the workload scheduler device 305 may add the host device 210 to a set of viable hosts (such as a set of host devices 210). If the host device 210 is not capable of handling at least one of the various workload variations, the workload scheduler device 305 may exclude the host device 210 from the set of viable hosts. The workload scheduler device 305 may perform filtering 515 across all potential host devices 210 (given at least one of the various workload variations) to obtain a set of viable hosts, which may include one or more host devices 210. In some respects, the workload scheduler device 305 can be started by performing filtering 515 using a first (such as the highest priority) workload variant, and if no host device 210 is capable of handling the first workload variant, then filtering 515 can subsequently be performed using a second (such as the second highest priority) workload variant, and so on, until the workload scheduler device 305 finds a workload variant supported by at least one host device 210. Figure 6 The diagram is illustrated and referenced to illustrate additional details related to filter 515.
[0131] For example, based on filter 515 used to obtain a feasible host set, workload scheduler device 305 can perform decision 520 to identify, determine, or ascertain whether the feasible host set is empty. An empty feasible host set may indicate that the feasible host set includes zero host devices 210. If the feasible host set is empty, meaning that all potential host devices 210 have been filtered out by filter 515, workload scheduler device 305 can perform decision 525 to identify, determine, or ascertain whether the most recently evaluated workload variant is the last workload variant (in the set of generated workload variants). If not, workload scheduler device 305 can evaluate the next workload variant to identify, determine, or ascertain whether one or more host devices 210 are capable of handling the next workload variant. If so, workload scheduler device 305 can perform workload configuration 530. Workload configuration 530 (which may alternatively be referred to as workload optimization) can be as follows: Figure 4B The example of workload configuration 425 is illustrated and referred to in the figure. Workload configuration 530 (and similarly, workload configuration 425) can be understood as a nested workload scheduling algorithm (such as that described by...). Figure 4B The outer loop or second phase of the nested workload scheduling algorithm 401 illustrated and described with reference to the figure.
[0132] Alternatively, if the workload scheduler device 305 identifies, determines, or determines at decision 520 that the set of feasible hosts is not empty, then the workload scheduler device 305 may perform scoring 535 for each host device 210 within the set of feasible hosts. Based on the scoring 535, the workload scheduler device 305 may obtain (such as calculating, determining, selecting, or determining) a score or ranking for each host device 210 within the set of feasible hosts. For example, if the set of feasible hosts includes a first host device 210 and a second host device 210, then the workload scheduler device 305 may obtain a first score or ranking for the first host device 210 and a second score or ranking for the second host device 210 via scoring 535. Figure 7 This diagram illustrates and refers to additional details related to the score of 535.
[0133] Based on score 535, workload scheduler device 305 can perform workload assignment 540 to deploy workloads on selected host devices 210. For example, workload scheduler device 305 can select a host device 210 from the set of host devices 210 within the feasible host set to deploy the requested workload on, based on the score or ranking obtained via score 535. In an example where workload scheduler device 305 obtains a first score or ranking for a first host device 210 and a second score or ranking for a second host device 210, workload scheduler device 305 can assign the workload to either the first host device 210 or the second host device 210 based on which of the first host device 210 or the second host device 210 has a higher score or ranking, a lower score or ranking, or a score or ranking closer to a target score or ranking. For example, in some implementations, if the first score or ranking is greater than the second score or ranking, workload scheduler device 305 can assign the workload to the first host device 210. In some other implementations, if the first score or ranking is lower than the second score or ranking, the workload scheduler device 305 may assign the workload to the first host device 210.
[0134] Figure 6 An example filtering process 600 supporting workload scheduling in edge computing is shown. The filtering process 600 can be as follows: Figure 5 The example of filter 515 is illustrated and referred to in the diagram. For example, as a workload deployment algorithm (such as referenced in the diagram) Figure 5 As part of the illustrated and described workload deployment algorithm 500, the workload scheduler device 305 may perform a filtering process 600. In some specific implementations, the workload scheduler device 305 may perform a series of steps or a sequence of steps according to the filtering process 600 (as part thereof) to identify, calculate, determine, or ascertain whether a given workload variant is supported by a given host device 210 (based on the capabilities of the host device 210). For example, according to the filtering process 600, the workload scheduler device 305 may search all host devices 210 (or at least the set of host devices) within the distributed computing cluster, add power constraints to exclude low-power devices, and calculate a score for each resource during filtering.
[0135] At 605, the workload scheduler device 305 can receive input. The input can be associated with a given workload variant and the capabilities of a given host device 210. For example, the input can be associated with or otherwise indicate a node data structure (which can indicate the capabilities of host device 210) and a workload data structure (which can indicate a workload variant).
[0136] At 610, workload scheduler device 305 can perform filtering based on affinity or selectors associated with workloads. If a given host device 210 meets the criteria associated with an affinity or selector, workload scheduler device 305 can pass host device 210 to the next step of the filtering process 600. Such affinity or selectors associated with workloads can be understood as host / workload selector / affinity, which may include or refer to any one or more of a host selector, a workload selector, a workload affinity, or a workload anti-affinity. A host selector (based on which the workload selects host device 210) and a workload selector (based on which host device 210 selects a workload) may be associated with workload / host dependencies (such as workload / node dependencies). Workload affinity and workload anti-affinity may be associated with workload / workload dependencies.
[0137] Depending on the host selector, devices (such as client device 205 or workload scheduler device 305) can assign tags to workloads, and workload scheduler device 305 can select host devices 210 with matching tags (for potential inclusion in the set of feasible hosts). Such matching between the tags of host devices 210 and workloads can provide or support customization of additional constraints in host filtering. For example, depending on the host selector, a workload can select only host devices 210 with dedicated channel connections, resident host devices 210, etc.
[0138] According to the workload selector, the workload scheduler device 305 can reserve host device 210 for workloads with matching tags. For example, the workload scheduler device 305 can reserve host device 210 with an Ethernet connection (such as an Ethernet connection to a service network device) for session-oriented or mission-critical workloads (such as session-oriented or mission-critical workloads only). Therefore, host device 210 can be understood to select workloads based on such reservations made by host device 210 for workloads with tags that match the tags of host device 210.
[0139] Based on workload affinity, workload scheduler device 305 can deploy workloads with the same label on the same host device 210. For example, if two or more workloads are associated with the same label, workload scheduler device 305 can assign the two or more workloads to the same host device 210 for processing and workload execution. In such examples, workload scheduler device 305 can reduce communication costs (e.g., if a single host device 210 can provide spectral efficiency or throughput gain by processing workloads associated with the same label). Further, for example, workload scheduler device 305 can attempt to co-locate (such as assigning to a single host device 210) distributed AI workloads (to reduce communication latency). If the workload scheduler device 305 cannot co-locate the distributed AI workload at the same host device 210, the workload scheduler device 305 may assign the distributed AI workload to two or more host devices 210, wherein there is a relatively low communication latency between the two or more host devices 210 (e.g., such that the assigned host devices 210 are relatively close to each other or otherwise have a communication latency between them that meets a threshold communication latency).
[0140] Based on workload anti-affinity, workload scheduler device 305 can attempt to distribute some workloads across different host devices 210. For example, workload scheduler device 305 can attempt to distribute session-oriented workloads across different host devices 210. In such examples, workload scheduler device 305 can reduce the communication load on each assigned host device 210 and avoid scenarios where all (or many, such as several) session-oriented workloads are rescheduled by the assigned host devices 210. Such rescheduling may occur in examples where the assigned host device 210 moves (e.g., leaves a distributed computing cluster), starts a relatively high-priority native application, is subsequently assigned a relatively high-priority edge computing workload, or suffers adverse changes in link conditions.
[0141] At 615, if host device 210 meets the criteria associated with affinity or selector, workload scheduler device 305 can perform filtering based on power constraints associated with the workload. If host device 210 meets the criteria associated with the power constraints, workload scheduler device 305 can pass host device 210 to the next step of the filtering process 600. In some examples, the criteria associated with power constraints may indicate expectations or constraints for host device 210 to be powered by the grid. In such examples, the power constraint criteria may indicate thresholds applicable when host device 210 is connected to the grid. The host device 210 can... Under the condition of satisfying ,in Defined by Equation 1 shown below, and where This is equal to the amount of power supplied by the power grid (such as 100,000 Wh). In some respects, Equation 1... This can be understood as the score of host device 210 in terms of power availability.
[0142]
[0143] Additionally or alternatively, criteria associated with power constraints may indicate an expectation or constraint on the remaining battery power of the host device 210 having at least a threshold percentage or at least a threshold amount. For example, criteria may include a threshold percentage of remaining battery power (such as...) The percentage (%) or a threshold amount of remaining battery power (such as...) The indicator is the watt-hour (Wh).
[0144] At 620, if host device 210 meets the criteria associated with power constraints, workload scheduler device 305 can perform filtering based on criteria associated with unquantifiable software or hardware related to the workload. If host device 210 meets the unquantifiable software or hardware criteria, workload scheduler device 305 can pass host device 210 to the next step of the filtering process 600. In some examples, unquantifiable software or hardware criteria may be associated with or indicate a target OS, container flag, or target architecture.
[0145] At 625, if host device 210 meets unquantifiable software or hardware criteria, workload scheduler device 305 can perform filtering based on criteria associated with quantifiable hardware related to the workload. If host device 210 meets quantifiable hardware criteria, workload scheduler device 305 can pass host device 210 to the next step of filtering process 600. In some examples, quantifiable hardware criteria may be associated with or indicate the expected or target amount of computing resources. Such computing resources may include the amount of storage (such as available storage), memory (such as available memory), the number of (available) CPU cores, the number of (available) GPU cores, or the number of (available) NPUs at host device 210. If host device 210 has at least the expected or target amount of computing resources, host device 210 can pass the filtering at 625.
[0146] In some examples, quantifiable hardware criteria may include one or more Indication of value, one or more Each of these values corresponds to a different threshold (such as a lower limit) for computing resources. For example, the first... The value can correspond to a percentage of available storage, second The value can correspond to a percentage of CPU cores, etc. In some respects, each The value can correspond to the total number of resources relative to host device 210. Of course, considering the resources already in use (If applicable) and intended for handling workloads The lower limit of resources remaining after the resources are allocated. In this respect, for example, host device 210 can... Under the condition of satisfying And can be in Under the condition of satisfying ,in and Defined by Equations 2 and 3 respectively. Generally speaking, the workload scheduler device 305 can use Equation 2 for memory or storage criteria, and Equation 3 for CPU, GPU, or NPU criteria. In some respects, Equations 2 and 3... and These can be understood as the score of host device 210 in terms of computing or processing availability.
[0147]
[0148] At 630, if host device 210 meets quantifiable hardware criteria, workload scheduler device 305 can perform filtering based on SLA expectations (such as target QoS) associated with the workload. If host device 210 meets the SLA expectations, workload scheduler device 305 can pass host device 210 to the next step of the filtering process 600. In some implementations, workload scheduler device 305 can evaluate whether host device 210 meets the SLA expectations if the workload is a session-oriented workload type, and can skip the SLA-based evaluation if the workload is not a session-oriented workload type. In other words, workload scheduler device 305 can only evaluate whether host device 210 meets the SLA expectations if the workload is a session-oriented workload type. In some examples, the SLA expectations can indicate one or more target throughput or throughput margins, such as one or both of source-to-host throughput (such as client-to-host or scheduler-to-host throughput) or host-to-source throughput (such as host-to-destination or host-to-client throughput). If host device 210 meets the source-to-host throughput (or throughput margin) and host-to-source throughput (or throughput margin), then host device 210 can meet the SLA expectations. In some respects, workload scheduler device 305 can calculate the throughput margin according to Equation 4 shown below. ,in It is the target (such as the requested) throughput, and in which This refers to the achievable or already realized throughput. In some respects, Equation 4... This can be understood as the score of host device 210 in terms of throughput.
[0149]
[0150] At 635, if host device 210 meets the relevant criteria (including SLA expectations if the requested workload is a session-oriented workload type, and excluding SLA expectations if the requested workload is a one-off workload type), then workload scheduler device 305 may store the ID associated with host device 210 and one or more fractions associated with host device 210 (such as...). A set of scores (where such scores are associated with relevant criteria). In some respects, the workload scheduler device 305 may store scores for the host device 210 for a set of metrics associated with one or more of power, memory, storage, number of CPU cores, number of NPU cores, or throughput.
[0151] At 640, based on the stored ID of host device 210, workload scheduler device 305 can add host device 210 to the set of feasible hosts. Alternatively, if host device 210 does not meet or comply with any relevant criteria, workload scheduler device 305 can exit the path of adding host device 210 to the set of feasible hosts, and at 645, can instead jump to the next host device 210 in the set of potentially feasible host devices 210. In some implementations, workload scheduler device 305 can repeat the filtering process 600 for each subsequent next host device 210 in the set of potentially feasible host devices 210 to obtain a set of feasible hosts for one or more host devices 210.
[0152] Figure 7 An example scoring hierarchy 700 supporting workload scheduling in edge computing is illustrated. In some examples, workload scheduler device 305 may utilize or otherwise use the scoring hierarchy 700 to perform tasks such as those performed by... Figure 5 The illustrated and referenced figure describes a score 535. For example, workload scheduler device 305 can use a score hierarchy 700 to obtain a score 705 for each host device 210 in the set of host devices 210 within the feasible host set. The workload scheduler device 305 can rank the set of host devices 210 in the feasible host set based on the obtained score 705, select a host device 210 from the set of host devices 210 according to the ranking, and assign the requested workload to the selected host device 210.
[0153] In some implementations, the workload scheduler device 305 may obtain a score 705 for the host device 210 based on a joint evaluation of one or more computation metrics 710, one or more communication metrics 715, one or more power metrics 720, and one or more reliability metrics 725, and based on one or more parameters associated with the workload. The one or more computation metrics 710 may include one or more CPU metrics 730, one or more GPU metrics 735, one or more NPU metrics 740, one or more memory metrics 745, or one or more storage metrics 750. The one or more communication metrics 715 may include one or more connectivity metrics, one or more throughput metrics, one or more latency metrics, or one or more link condition metrics. The one or more power metrics 720 may include one or more power source metrics or one or more battery power metrics.
[0154] In some respects, computation metric 710, communication metric 715, and power metric 720 can serve as a basis for or be associated with host performance. For example, computation metric 710 can take into account a preference for host device 210 with relatively more idle (e.g., available) computing resources (e.g., CPU, memory, storage, etc.), communication metric 715 can take into account a preference for host device 210 with stable and relatively high end-to-end throughput, and power metric 720 can take into account a preference for host device 210 with sufficient power. In some respects, workload scheduler device 305 can consider communication metric 715 for session-oriented workload types and can ignore communication metric 715 for other workload types.
[0155] One or more reliability metrics 725 may include one or more preemption metrics, one or more mobility metrics 755, or one or more usage metrics 760. One or more mobility metrics 755 may include one or more channel change metrics 765, one or more topology change metrics 770, or one or more cluster exit metrics 775. One or more usage metrics 760 may include one or more usage duration metrics 780 associated with one or more local (such as native) applications, one or more compute resource usage metrics 785 associated with one or more local applications, an indication of one or more existing edge computing workloads, or one or more percentage metrics associated with the amount of resources used for one or more existing edge computing workloads.
[0156] In some respects, host reliability metric 725 can serve as a basis for or be associated with host reliability. For example, workload scheduler device 305 can use host reliability metric 725 to take into account (such as reflecting) historical usage information that may predict (such as indicating) the use of host device 210, historical information that may predict (such as indicating) the mobility of host device 210 (such as host device 210 leaving the cluster, local application preemption, or communication no longer meeting expectations), or to assess the workload deployment history on host device 210 (such as identifying, determining, or determining the frequency of rescheduling at host device 210, such as rescheduling due to the launch of local applications or higher-priority edge computing workloads). Based on consideration of host reliability metric 725, workload scheduler device 305 can determine that many host devices 210 may not be suitable for providing workload services, even if such host devices 210 have spare computing resources (such as telephones running on low batteries, laptops frequently used by users, or electric vehicles that have left the site).
[0157] Regarding usage history, workload scheduler device 305 can evaluate one or more metrics or factors associated with how long host device 210 is accessed per day (e.g., in hours, such as four hours) or how much computation host device 210 performs per day (e.g., in terms of CPU or memory consumption). Based on the evaluation of such metrics or factors associated with usage history, workload scheduler device 305 can avoid deploying workloads on heavily used host device 210 (which can reduce the number of preemptions experienced). Regarding mobility (which may be associated with or notified by mobility metric 755), workload scheduler device 305 can evaluate the frequency with which host device 210 moves (e.g., the frequency with which channel conditions change, which may be related to the variance of average channel power), the frequency with which host device 210 leaves the cluster (which may be related to the number or frequency of preemptions), or how long host device 210 is outside the cluster. In addition, in terms of achieving balanced workload deployment, the workload scheduler device 305 can try to avoid deploying multiple (such as all) session-oriented or mission-critical workloads on a single host device 210, which can prevent scenarios where local applications or higher-priority edge computing workloads are launched on the host device 210 or where the host device 210 is mobile or becomes mobile.
[0158] In some respects, score 705 can be a weighted sum based on the rating hierarchy 700. For example, calculating metric 710 ( The first score or value associated with one or more CPU metrics 730, one or more GPU metrics 735, one or more NPU metrics 740, one or more memory metrics 745, and one or more memory metrics 750 can be a weighted sum. The second score or value associated with one or more GPU metrics 735 can be represented as A third score or value associated with one or more NPU metrics 740 can be represented as The fourth fraction or value associated with one or more memory metrics 745 can be represented as And the fifth score or value associated with one or more storage metrics 750 can be represented as In some specific implementations, the workload scheduler device 305 can apply appropriate weighting to... , , , and Each of them. In such specific implementations, It can be , , , and The weighted sum (where , , , and Each of them can be an example of a weighted value, or one of them. , , , and The weighting can be applied separately. , , , and In other words, the workload scheduler device 305 can calculate the computation metric 710 according to Equation 5 shown below.
[0159]
[0160] Further, for example, mobility metric 755 ( The first score or value associated with one or more channel change metrics 765 can be a weighted sum of one or more topology change metrics 770 and one or more cluster exit metrics 775. In some respects, the first score or value associated with one or more channel change metrics 765 can be expressed as... The second score or value associated with one or more topological change metrics 770 can be represented as And the third score or value associated with one or more cluster exit metrics 775 can be represented as In some specific implementations, the workload scheduler device 305 can apply appropriate weighting to... , and Each of them. In such specific implementations, It can be , and The weighted sum (where , and Each of them can be an example of a weighted value, or one of them. , and The weighting can be applied separately. , and In other words, the workload scheduler device 305 can calculate the mobility metric 755 according to Equation 6 shown below.
[0161]
[0162] Furthermore, for example, using metric 760 ( This can be a weighted sum of one or more usage duration metrics 780 and one or more computing resource usage metrics 785 (potentially, as well as other metrics). In some respects, the first score or value associated with one or more usage duration metrics 780 can be represented as And the second score or value associated with one or more computing resource usage metrics 785 can be represented as In some specific implementations, the workload scheduler device 305 can apply appropriate weighting to... and Each of them. In such specific implementations, It can be and The weighted sum (where and Each of them can be an example of a weighted value, or one of them. and The weighting can be applied separately. and In other words, the workload scheduler device 305 can calculate the usage metric 760 according to Equation 7 shown below.
[0163]
[0164] In other words, and more generally, the workload scheduler device 305 can calculate the leaf nodes of the scoring hierarchy 700 based on the scoring function (in Figure 7 The score for each leaf node (illustrated by a dashed box in the diagram) can be calculated from the bottom up using a weighted sum of its leaf nodes (such as its children). Figure 7 The fractions in the (illustrated by solid lines) are such that, for a given non-leaf node, the fractions are... equal ,in This represents the weighting for a specific score (so that different scores can have different weights). For example, workload scheduler device 305 can calculate it according to Equation 8 shown below. ,in , , and .
[0165]
[0166] In some respects, the workload scheduler device 305 can set all weights (which may be equivalently referred to herein as weights) to be equal to default values (such as a value) during distributed computing phase 1, and can adjust the weights over time based on previous assignments and historical data. Additionally or alternatively, application developers or end users can specify weights for different resources as part of defining (such as instructions or configurations) workload inputs.
[0167] In some implementations, given a list of scores for each resource (as a quantifiable hardware resource or computation metric 710, communication metric 715, power metric 720, or host reliability metric 725) across host devices 210 within a feasible set of hosts, the workload scheduler device 305 can normalize the score for that resource. For example, given a set of throughput margin scores for a set of five host devices 210 across a feasible set of hosts. The workload scheduler device 305 can normalize the throughput margin score according to Equation 9 shown below to obtain an updated (such as normalized) score. Based on the normalization of the score for each resource, the updated / normalized score for each resource can be obtained in... Within that range. Furthermore, if Then for all host devices 210 within the feasible host set, .
[0168]
[0169] The following relates to examples in which workload scheduler device 305 calculates, determines, or otherwise obtains scores 705 for three host devices 210, including a first host device 210 (such as host device 1), a second host device 210 (such as host device 2), and a third host device 210 (such as host device 3), and in which workload scheduler device 305 considers computational metrics 710, communication metrics 715, power metrics 720, and host reliability metrics 725. In such examples, workload scheduler device 305 may obtain a first score 705 for the first host device 210, a second score 705 for the second host device 210, and a third score 705 for the third host device 210 based on a scoring function across each resource and a weighted sum at each non-leaf node of the scoring hierarchy 700. Table 1 shown below illustrates an example set of prenormalized scores for a set of resources associated with the computational metrics 710 for each of the three host devices.
[0170]
[0171] Table 1: Prenormalized Computational Resource Score
[0172] In some examples, workload scheduler device 305 may normalize various resource scores relative to the scores across the set of host devices 210. Workload scheduler device 305 may normalize the scores according to Equation 9 shown above. Based on the normalization of the various scores, workload scheduler device 305 may obtain updated (such as normalized) scores, as illustrated in Table 2 below.
[0173]
[0174] Table 2: Computational resource scores before normalization and summation
[0175] Based on the normalization of the computational resource scores, the workload scheduler device 305 can calculate a weighted sum for each host device 210. This weighted sum can be a computational metric 710. By performing a weighted sum, and in an example where the weights for various scores are equal to 1, the workload scheduler device 305 can obtain a first computational metric 710 of 0.4 for the first host device 210, a second computational metric 710 of 0.8 for the second host device 210, and a third computational metric 710 of 0.32 for the third host device 210. Based on the obtained computational metrics 710 (such as computational or calculated scores) for the first, second, and third host devices 210, the workload scheduler device 305 can calculate a corresponding score 705 for each of the three host devices, taking into account communication metrics 715, power metrics 720, and reliability metrics 725. Table 3 below illustrates an example set of scores for the three host devices across computing metric 710, communication metric 715, power metric 720, and reliability metric 725. These metrics can be shown as pre-normalized across different host devices 210.
[0176]
[0177] Table 3: Prenormalized Computation, Communication, Power, and Reliability Scores
[0178] In some examples, workload scheduler device 305 may normalize computation metric 710, communication metric 715, power metric 720, and reliability metric 725 relative to a set of scores across host devices 210. Workload scheduler device 305 may normalize the metrics or scores according to Equation 9 shown above. Based on the normalization, workload scheduler device 305 may obtain updated (such as normalized) scores, as illustrated in Table 4 below.
[0179]
[0180] Table 4: Normalized Computing, Communication, and Power Scores
[0181] Based on the normalization of the scores, the workload scheduler device 305 can calculate a weighted sum for each host device 210. This weighted sum can be a score 705. By performing the weighted sum, and in an example where the weights of the various scores are equal to 1, the workload scheduler device 305 can obtain a first score 705 of 0.54 for the first host device 210, a second score 705 of 0.63 for the second host device 210, and a third score 705 of 0.68 for the third host device 210. In such an example, the workload scheduler device 305 can rank the third host device 210 ahead of the second host device 210 based on their respective scores 705, and can rank the second host device 210 ahead of the first host device 210. Based on the highest ranking of the third host device 210, the workload scheduler device 305 can send an instruction to assign workloads to at least the third host device 210.
[0182] In some implementations, the workload scheduler device 305 may split workloads across multiple host devices 210, or may replicate workloads across multiple host devices 210. In such implementations, the workload scheduler device 305 may select multiple host devices 210 with relatively high rankings (such as host devices 210 with relatively highest scores, relatively lowest scores, or scores relatively closest to a target score), and may split workloads among the selected host devices 210 or replicate workloads among the selected host devices 210. In other words, the workload scheduler device 305 may send multiple instructions for multiple assignments of workloads to a set of host devices 210, wherein such multiple assignments partially or wholly refer to the workload. In some aspects, the workload scheduler device 305 may partition or split a workload into multiple parts, and may assign a part to a particular host device 210 based on one or more characteristics (based on one or more metrics associated with that host device 210) that are relatively more suitable for the part of the workload. Therefore, unless otherwise explicitly indicated, the assignment of a workload to host device 210 can be understood as an assignment of the entire workload (such as the whole) or a part of the workload.
[0183] In some implementations, the workload scheduler device 305 may have learning capabilities and can use this learning to weight configurations or host selections, informed by or otherwise based on past workload logs. Utilizing such learning capabilities, the workload scheduler device 305 can define (such as configure or set) performance metrics for orchestration or scheduling design, or can perform joint configurations (such as joint optimization) for orchestration across the entire system (rather than for individual workloads). Figure 8 The diagram is illustrated and further details related to this type of learning ability are described.
[0184] Figure 8 An example scoring adaptive algorithm 800 supporting workload scheduling in edge computing is illustrated. In some examples, workload scheduler device 305 may utilize or use the scoring adaptive algorithm 800 to configure, set, update, tune, or adjust one or more weights associated with a weighted sum-based score for each of the various feasible host devices 210, wherein such weighted sum-based scores are determined as follows: Figure 5 The example of the scoring 535 illustrated and referenced in the figure is shown. For example, the workload scheduler device 305 can perform a joint evaluation for each host device 210 within the feasible host set to obtain a weighted sum and score for each host device 210, and the weighting can be configured, set, updated, tuned, or adjusted periodically or non-periodically based on system performance, feedback, or user settings.
[0185] For example, workload scheduler device 305 can perform host assignment 805 associated with the requested workload based on a weighted first set. Based on the host assignment 805, workload scheduler device 305 can obtain, receive, or retrieve workload logs 810, and can perform system performance analysis 815 in association with evaluating the workload logs 810. In some examples, workload scheduler device 305 can identify workload bottlenecks in association with evaluating the workload logs 810 and analyzing system performance. Such bottlenecks can be computationally constrained, communication-constrained, etc.
[0186] In some examples, workload scheduler device 305 may tune (e.g., configure, set, update, or adjust) one or more weights from a first set of weights associated with weighting and scoring, based on workload logs 810 (or multiple workload logs 810), workload type, or workload expectation. In such examples, workload scheduler device 305 may tune one or more weights based on one or both of domain knowledge 825 or feedback 830. Additionally or alternatively, workload scheduler device 305 may treat box 820 (including domain knowledge 825 and feedback 830) as a block box, and workload scheduler device 305 may attempt to learn box 820 via its learning capabilities (e.g., learning algorithms). In other words, workload scheduler device 305 may use box 820 as a weighting configuration, or it may treat the scoring as a block box. According to the adaptive algorithm 800, the workload scheduler device 305 can update the weighted first set to a weighted second set, and the weighted second set can be used for subsequent scoring (such as for subsequent joint evaluation associated with subsequent workload requests).
[0187] Figure 9 An example process flow 900 supporting workload scheduling in edge computing is illustrated. Process flow 900 can be implemented or is implemented to implement one or more aspects of wireless communication system 100, connected edge cluster architecture 200, signaling graph 300, workload scheduling graph 400, nested workload scheduling algorithm 401, workload deployment algorithm 500, filtering process 600, scoring hierarchy 700, and adaptive algorithm 800. For example, process flow 900 illustrates communication between client device 205, workload scheduler device 305, and host device 210.
[0188] The following alternative examples may be implemented. Some steps may be performed in a different order than those described, or not at all. In some specific implementations, steps may include additional features not mentioned below, or additional steps may be added. Furthermore, although the example device is shown as performing the operation of process flow 900, some aspects of some operations may also be performed by one or more other wireless communication devices without departing from the scope of this disclosure.
[0189] At 905, the workload scheduler device 305 can receive information from the host device 210 indicating a set of one or more computation metrics associated with the host device 210, a set of one or more communication metrics associated with the host device 210, a set of one or more power metrics associated with the host device 210, and a set of one or more reliability metrics associated with the host device 210. Furthermore, in some embodiments, the workload scheduler device 305 can receive corresponding information for such metrics from each host device 210 in the set of host devices 210. In such embodiments, the workload scheduler device 305 can receive information from each host device 210 indicating a corresponding set of one or more computation metrics associated with that host device 210, a corresponding set of one or more communication metrics associated with that host device 210, a corresponding set of one or more power metrics associated with that host device 210, and a corresponding set of one or more reliability metrics associated with that host device 210.
[0190] At 910, the workload scheduler device 305 may receive workload requests from the client device 205. For example, the workload scheduler device 305 may receive requests associated with a workload. In some implementations, the workload scheduler device 305 may receive information indicating one or more parameters associated with a workload via a workload request or via other signaling or message transmission.
[0191] At position 915, the workload scheduler device 305 can perform filtering, such as by... Figure 5 The filter 515 is illustrated and described with reference to the figure. Furthermore, in some aspects, such filtering may include filtering processes (such as those described by…) Figure 6 The illustrated and referenced figure describes a series of steps or a sequence of steps in the filtering process 600. Based on the filtering, the workload scheduler device 305 can obtain identification information (such as the set ID of the host devices) of the larger set of potential host devices 210 in association with each host device 210 in the larger set of host devices 210 being evaluated. The workload scheduler device 305 can evaluate each host device 210 based on parameters associated with the workload and one or more variations of the workload. Such a set of host devices 210 can be understood as a set of feasible hosts and may include one or more members. Some example variations of the workload may include, as described by… Figure 5 The workload variants 510-a, 510-b, and 510-c are illustrated and described with reference to the figure.
[0192] At position 920, the workload scheduler device 305 can perform scoring, such as by... Figure 5The illustrated and referenced figure describes the rating 535. Furthermore, in some respects, such ratings can be based on a rating hierarchy, such as... Figure 7 The scoring hierarchy 700 is illustrated and referenced in the figure. Based on the scoring, the workload scheduler device 305 can obtain a set of scores (such as a set of scores 705) for the set of host devices 210 (e.g., for host devices 210 within a feasible host set) based on a corresponding joint evaluation of parameters associated with the workload, for each host device 210 in the set of host devices 210, based on one or more computational metrics, one or more communication metrics, one or more power metrics, and one or more reliability metrics. Such metrics may include those provided by… Figure 7 The figure illustrates and describes one or more computational metrics 710, one or more communication metrics 715, one or more power metrics 720, and one or more host reliability metrics 725.
[0193] At 925, based on the score, workload scheduler device 305 can send an instruction to assign workloads to at least host device 210. In some implementations, workload scheduler device 305 can assign workloads to host device 210 based on a first score for host device 210 being relatively greater than one or more scores for other host devices in the set of host devices 210.
[0194] At 930, workload scheduler device 305 can send link configuration information to host device 210 or another edge device (such as a network device serving host device 210, such as an AP, gNB, or router). In some implementations, workload scheduler device 305 can send the link configuration information in association with information received from host device 210 indicating that host device 210 is processing a connection-edge workload (such as a distributed computing workload). Additionally or alternatively, network devices (such as Wi-Fi APs or cellular gNBs) can send link configuration information to host device 210. The link configuration information may include indications for moving or directing host device 210 to a different channel, a different RF band, or a different network device. For example, the link configuration information may direct host device 210 from a second network device to a first network device. In such examples, workload scheduler device 305 may direct host device 210 to a first network device, depending on whether the first network device is a relatively more reliable or efficient network device in supporting the connection-edge workload at host device 210.
[0195] At 935, host device 210 may send an indication to workload scheduler device 305 to reject the assignment of workloads to host device 210. In some implementations, host device 210 may send the indication of rejection based on one or more percentage measures associated with the amount of resources used for the connection edge workload, including the assigned workload, at host device 210, exceeding one or more threshold percentages. Such one or more threshold percentages may include, as referenced... Figure 3 The third threshold percentage described %.
[0196] At 940, if host device 210 accepts the assigned workload (host device 210 may signal the acceptance to workload scheduler device 305, or may imply the acceptance if there is no rejection at 935), then host device 210 may perform workload processing. In other words, host device 210 may perform one or more processing operations or tasks associated with the assigned workload.
[0197] At 945, host device 210 may send information associated with the workload to client device 205 based on the assignment of the workload to at least host device 210 (and based on the processing of the workload at 940). Such information may include one or more outputs or results associated with the workload, such as one or more rendered images, one or more computation results, processed visual or audio data, etc.
[0198] At 950, the workload scheduler device 305 may receive information indicating one or more network congestion metrics from one or both of the client device 205 or the host device 210. In some respects, such one or more network congestion metrics may be associated with a cluster of edge devices, such as a distributed computing cluster, that includes a feasible set of hosts.
[0199] At 955, host device 210 may send information to workload scheduler device 305 indicating the preemption rate associated with the workload assigned to host device 210. Additionally, in some implementations, workload scheduler device 305 may receive similar information for multiple host devices 210, indicating the preemption rate associated with the workload assigned to a cluster of edge devices.
[0200] At 960, if a network congestion metric indicates network congestion or if the preemption rate exceeds a threshold preemption rate (e.g., failure to meet a preemption requirement), the workload scheduler device 305 may send an indication to pause a workload request. Such a pause of a workload request may be a pause or rejection of a specific type of workload, or it may be a pause or rejection of any type of workload. For example, if a network congestion metric indicates network congestion, the workload scheduler device 305 may pause or reject workloads associated with a session-oriented workload type. Additionally or alternatively, if the preemption rate exceeds a threshold preemption rate, the workload scheduler device 305 may pause or reject workloads associated with any workload type.
[0201] Figure 10 A block diagram of an example device 1005 supporting workload scheduling in edge computing is shown. Device 1005 can communicate with one or more workload scheduling devices, one or more host devices, one or more client devices, one or more network entities 105, one or more UEs 115, or any combination thereof. This communication may include communication via one or more wired interfaces, one or more wireless interfaces, or any combination thereof. Device 1005 may include components that support output and enable communication, such as a communication manager 1020, a transceiver 1010, one or more antennas 1015, at least one memory 1025, code 1030, and at least one processor 1035. These components may communicate electronically or otherwise coupled (e.g., operatively, communicatively, functionally, electronically, electrically) via one or more buses (e.g., bus 1040).
[0202] Transceiver 1010 may support bidirectional communication via a wired link, a wireless link, or both, as described herein. In some embodiments, transceiver 1010 may include a wired transceiver and be capable of bidirectional communication with another wired transceiver. Additionally or alternatively, in some embodiments, transceiver 1010 may include a wireless transceiver and be capable of bidirectional communication with another wireless transceiver. In some embodiments, device 1005 may include one or more antennas 1015 that may be capable of transmitting or receiving wireless transmissions (e.g., concurrently). Transceiver 1010 may also include a modem for modulating signals, for providing modulated signals for transmission (e.g., via one or more antennas 1015 or via a wired transmitter), for receiving modulated signals (e.g., from one or more antennas 1015 or from a wired receiver), and for demodulating signals. In some embodiments, transceiver 1010 may include one or more interfaces, such as one or more interfaces coupled to one or more antennas 1015 configured to support various receive or acquire operations, or one or more interfaces coupled to one or more antennas 1015 configured to support various transmit or output operations, or combinations thereof. In some embodiments, transceiver 1010 may include one or more processors or one or more memory components, or be configured to couple to said one or more processors or one or more memory components, said one or more processors or one or more memory components being operable to perform or support operations based on received or acquired information or signals, or to generate information or other signals for transmission or other output, or any combination thereof. In some embodiments, transceiver 1010, or transceiver 1010 and one or more antennas 1015, or transceiver 1010 and one or more antennas 1015 and one or more processors or one or more memory components (such as at least one processor 1035, at least one memory 1025, or both) may be included in a chip or chip assembly mounted in device 1005. In some implementations, transceiver 1010 may be able to operate to support communication via one or more communication links, such as communication link 125, backhaul communication link 120, midhaul communication link 162, and fronthaul communication link 168.
[0203] At least one memory 1025 may include random access memory (RAM), read-only memory (ROM), or any combination thereof. At least one memory 1025 may store computer-readable code, computer-executable code, or processor-executable code, such as code 1030. Code 1030 may include instructions that, when executed by one or more processors in at least one processor 1035, cause device 1005 to perform the various functions described herein. Code 1030 may be stored in a non-transitory computer-readable medium such as system memory or another type of memory. In some embodiments, code 1030 may not be directly executable by a processor in at least one processor 1035, but may enable a computer (such as when compiled and executed) to perform the functions described herein. In some embodiments, at least one memory 1025 may also include, among other things, a basic input / output (I / O) system (BIOS) that controls basic hardware or software operations, such as interaction with peripheral components or devices. In some embodiments, at least one processor 1035 may include multiple processors, and at least one memory 1025 may include multiple memories. One or more of a plurality of processors may be coupled to one or more of a plurality of memories, which may be configured individually or collectively to perform the various functions described herein (such as a processing system, a memory system, or a portion thereof).
[0204] At least one processor 1035 may include one or more intelligent hardware devices, such as one or more general-purpose processors, one or more digital signal processors (DSPs), one or more CPUs, one or more GPUs, one or more NPUs (also known as neural network processors or deep learning processors (DLPs)), one or more microcontrollers, one or more application-specific integrated circuits (ASICs), one or more field-programmable gate arrays (FPGAs), one or more programmable logic devices, discrete gate or transistor logic units, one or more discrete hardware components, or any combination thereof. In some embodiments, at least one processor 1035 may be configured to use a memory controller to operate a memory array. In some other embodiments, the memory controller may be integrated into one or more processors in at least one processor 1035. At least one processor 1035 may be configured to execute computer-readable instructions stored in memory (such as one or more memories in at least one memory 1025) to cause device 1005 to perform various functions, such as functions or tasks supporting workload scheduling in edge computing. For example, device 1005 or components thereof may include at least one processor 1035 and at least one memory 1025 coupled to one or more of the at least one processor 1035, the at least one processor 1035 and the at least one memory 1025 being configured to perform the various functions described herein. The at least one processor 1035 may be an example of a cloud computing platform (such as one or more physical nodes and supporting software (such as an operating system, virtual machine, or container instance)) that can host functions (such as by executing code 1030) to perform the functions of device 1005. The at least one processor 1035 may be any one or more suitable processors capable of executing scripts or instructions of one or more software programs stored in device 1005 (such as within one or more memories of at least one memory 1025). In some implementations, the at least one processor 1035 may include multiple processors, and the at least one memory 1025 may include multiple memories. One or more of the multiple processors may be coupled to one or more of the multiple memories, the multiple memories being configured individually or collectively to perform the various functions described herein.
[0205] In some implementations, at least one processor 1035 may be a component of a processing system, which may refer to a system of machines, circuits (including, for example, one or both of processor circuitry (which may include at least one processor 1035) and memory circuitry (which may include at least one memory 1025)) or components that receive or obtain input and process such input to produce, generate, or obtain a set of outputs. The processing system may be configured to perform one or more of the functions described herein. For example, at least one processor 1035 or a processing system including at least one processor 1035 may be configured, capable of being configured, or operable to cause device 1005 to perform one or more of the functions described herein. Furthermore, as described herein, “configured to,” “capable of being configured,” and “operable to” are used interchangeably and may be associated with the ability to perform one or more of the functions described herein when executing code stored in at least one memory 1025 or otherwise.
[0206] In some specific implementations, the processing system of device 1005 may refer to a system that includes various other components or sub-components of device 1005 (such as at least one processor 1035, transceiver 1010, or communication manager 1020, or other components or combinations thereof of device 1005). The processing system of device 1005 may interface with other components of device 1005 and may process information received from other components (such as inputs or signals) or output information to other components. For example, the chip or modem of device 1005 may include the processing system and one or more interfaces for outputting information or for receiving information, or both.
[0207] One or more interfaces may be implemented as, or otherwise include, a first interface configured to output information and a second interface configured to receive information, or the same interface configured to both output and receive information, as well as other embodiments. In some embodiments, one or more interfaces may refer to an interface between the processing system of a chip or modem and a transmitter, enabling device 1005 to transmit information output from the chip or modem. Additionally or alternatively, in some embodiments, one or more interfaces may refer to an interface between the processing system of a chip or modem and a receiver, enabling device 1005 to receive information or signal input, and such information may be transmitted to the processing system. Those skilled in the art will readily recognize that the first interface may also receive information or signal input, and the second interface may also output information or signal output.
[0208] Device 1005 may include one or more chips, SoCs, chipsets, packages, or devices that individually or collectively constitute or include a processing system. The processing system includes processor (or “processing”) circuitry in the form of one or more processors, microprocessors, processing units (such as CPUs, GPUs, NPUs, or DSPs), processing blocks, ASICs, programmable logic devices (such as FPGAs), or other discrete gate or transistor logic components or circuits (all of which are generally referred to herein individually as “processors” or collectively as “processors” or “processor circuitry”). One or more of these processors may be individually or collectively configured to perform the various functions or operations described herein. The processing system may also include memory circuitry in the form of one or more memory devices, memory blocks, memory elements, or other discrete gate or transistor logic components or circuitry, each of which may include tangible storage media such as RAM or ROM or combinations thereof (all of which are generally referred to herein individually as “memory” or collectively as “memory” or “memory circuitry”). One or more of these memories may be coupled to one or more processors and may store processor-executable code, individually or collectively, which, when executed by the one or more processors, configures the one or more processors to perform the various functions or operations described herein. Additionally or alternatively, in some embodiments, the one or more processors may be pre-configured to perform the various functions or operations described herein without software configuration. The processing system may also include or be coupled to one or more modems (such as Wi-Fi (e.g., IEEE compliant) modems or cellular (e.g., 3GPP 4G LTE, 5G, or 6G compliant) modems). In some embodiments, one or more processors of the processing system include or implement one or more modems. The processing system may also include or be coupled to multiple radio components (collectively, “radio components”), multiple RF chains, or multiple transceivers, each of which may in turn be coupled to one or more antennas. In some embodiments, one or more processors of the processing system include or implement one or more of the radio components, RF chains, or transceivers.
[0209] In some implementations, bus 1040 may support communication at protocol layers of the protocol stack (such as within a protocol layer). In some implementations, bus 1040 may support communication associated with logical channels of the protocol stack (such as between protocol layers of the protocol stack), which may include communication performed within components of device 1005, or communication performed between different components of device 1005 that are co-addressable or may be located in different locations (such as where device 1005 may refer to a system in which one or more of communication manager 1020, transceiver 1010, at least one memory 1025, code 1030 and at least one processor 1035 may be located in one component of different components or partitioned between different components).
[0210] In some implementations, the communication manager 1020 can manage various aspects of communication with the core network 130, such as via one or more wired or wireless backhaul links. For example, the communication manager 1020 can manage the transfer of data communication with client devices, such as one or more UEs 115. In some implementations, the communication manager 1020 can manage communication with one or more other network entities 105 and may include a controller or scheduler for controlling communication with UE 115, such as coordinating one or more other network devices. In some implementations, the communication manager 1020 may support the X2 interface within LTE / LTE-A wireless communication network technology to provide communication between network entities 105.
[0211] In some implementations, according to examples disclosed herein, the communication manager 1020 (and similarly, device 1005) may function as a workload scheduler device or as a component of a workload scheduler device to support connected edge workload scheduling. The communication manager 1020 is capable of, configured to, or operable to support components for receiving information indicating one or more parameters associated with a workload via a request associated with the workload. In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for sending an instruction to assign a workload to at least a first host device based on at least a first joint evaluation associated with one or more parameters: a first set of one or more computational metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device.
[0212] In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for receiving information from a first host device associated with a first set of one or more computational metrics, a first set of one or more communication metrics, a first set of one or more power metrics, and a first set of one or more reliability metrics.
[0213] In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for obtaining a set of scores for a set of host devices including a first host device based on a corresponding joint evaluation associated with each host device in the set of host devices, wherein each score in the set of scores is for a corresponding host device in the set of host devices, and wherein workload assignment to at least the first host device is based on a first score for the first host device being relatively greater than one or more scores for the remaining host devices in the set of host devices excluding the first host device.
[0214] In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for receiving information associated with each host device in the host device set: a corresponding set of one or more computational metrics associated with the host device, a corresponding set of one or more communication metrics associated with the host device, a corresponding set of one or more power metrics associated with the host device, and a corresponding set of one or more reliability metrics associated with the host device, wherein the corresponding joint evaluation associated with each host device in the host device set is based on information received from each host device in the host device set.
[0215] In some examples, to support obtaining a set of scores for a set of host devices, the communication manager 1020 is capable, configured, or operable to support components for obtaining a first score for a first host device based on a first joint evaluation. In some examples, to support obtaining a set of scores for a set of host devices, the communication manager 1020 is capable, configured, or operable to support components for obtaining a second score for a second host device based on a second joint evaluation associated with one or more parameters: a second set of one or more computed metrics associated with a second host device in the set of host devices; a second set of one or more communication metrics associated with a second host device; a second set of one or more power metrics associated with a second host device; and a second set of one or more reliability metrics associated with a second host device, wherein the first score is relatively greater than the second score.
[0216] In some examples, each score in the score set is a weighted sum of a corresponding set of one or more computational metrics, a corresponding set of one or more communication metrics, a corresponding set of one or more power metrics, and a corresponding set of one or more reliability metrics.
[0217] In some examples, to obtain the corresponding weighted sum, a first weight is applied to a corresponding set of one or more computed metrics, a second weight is applied to a corresponding set of one or more communication metrics, a third weight is applied to a corresponding set of one or more power metrics, and a fourth weight is applied to a corresponding set of one or more reliability metrics.
[0218] In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for obtaining indications of the first weight, second weight, third weight, and fourth weight based on historical data associated with workload scheduling across a set of host devices or one or more parameters associated with the workload.
[0219] In some examples, the communication manager 1020 is capable of, configured to, or able to operate to support components for obtaining a set of host devices from a set of multiple host devices in association with each host device in a set of multiple host devices for evaluating one or more host devices according to one or more parameters and one or more variations of the workload, wherein the set of host devices includes a first host device.
[0220] In some examples, in order to support the evaluation of each host device in a set of multiple host devices, the communication manager 1020 is capable, configured, or operable to support components for evaluating the feasibility of a workload for a given host device based on one or more parameters, a given set of one or more variations of the workload, and the capabilities of the respective host devices in the set of multiple host devices.
[0221] In some examples, the capabilities of a corresponding host device are associated with one or more percentage metrics associated with the amount of resources used for one or more existing edge computing workloads at the corresponding host device, one or more memory usage metrics, one or more storage usage metrics, one or more power metrics at the corresponding host device, the software or hardware capabilities of the corresponding host device, or one or more communication metrics associated with over-the-air signaling between the corresponding host device and client devices associated with the workload.
[0222] In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for: including a first host device in a set of host devices based on the feasibility of the workload for that first host device, wherein the workload is feasible for the first host device based on one or more parameters, a first set of one or more variations of the workload, and a first capability of the first host device. In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for: excluding a second host device from a set of host devices based on the infeasibility of the workload for a second host device in a set of multiple host devices, wherein the workload is infeasible for the second host device based on one or more parameters, a second set of one or more variations of the workload, and a second capability of the first host device.
[0223] In some examples, the communication manager 1020 is capable of, configured to, or able to operate to support components that receive, from the first host device, a rejection of the assignment of the workload to the first host device based on one or more percentage measures associated with the amount of resources used to calculate the workload at one or more edges at the first host device, which includes the workload, exceeding one or more threshold percentages.
[0224] In some examples, the communication manager 1020 is capable of, configured to, or able to operate to support components for sending instructions for updating the assignment of the workload to at least a second host device in connection with receiving a rejection of the assignment of the workload to a first host device.
[0225] In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for receiving information indicating that a first host device is processing an edge computing workload, including workloads assigned to the first host device. In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for sending link configuration information to the first host device or a first network device associated with the first host device, the link configuration information relating to the first host device processing the edge computing workload and directing the first host device from a second network device to the first network device.
[0226] In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for receiving information indicating one or more network congestion metrics associated with a cluster of edge devices including a first host device. In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for sending indications of the suspension of workload requests associated with session-oriented workload types based on one or more network congestion metrics.
[0227] In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for receiving information indicating that the preemption rate associated with a workload assigned to a cluster of edge devices, including a first host device, exceeds a threshold preemption rate. In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for sending an indication to pause a workload request based on the preemption rate exceeding the threshold preemption rate.
[0228] In some examples, the first set of one or more computing metrics includes one or more CPU metrics, one or more GPU metrics, one or more NPU metrics, one or more memory metrics, or one or more storage metrics; the first set of one or more communication metrics includes one or more connectivity metrics, one or more throughput metrics, one or more latency metrics, or one or more link condition metrics; the first set of one or more power metrics includes one or more power source metrics or one or more battery power metrics; and the first set of one or more reliability metrics includes one or more preemption metrics, one or more mobility metrics, or one or more usage metrics.
[0229] In some examples, one or more preemption metrics include an indication of the amount of preemption associated with network changes, cluster exits, the launch of higher-priority edge computing workloads, or the launch of native applications; one or more mobility metrics include one or more channel change metrics, one or more topology change metrics, or one or more cluster exit metrics; and one or more usage metrics include one or more usage duration metrics associated with one or more native applications, one or more compute resource usages associated with one or more native applications, an indication of one or more existing edge computing workloads, or one or more percentage metrics associated with the amount of resources used for one or more existing edge computing workloads.
[0230] In some examples, one or more parameters associated with the workload include workload type, indication of workload affinity, requested completion time, requested power source or battery power metric, requested software or hardware capability, one or more weights associated with the first joint assessment, or requested SLA.
[0231] Additionally or alternatively, according to the examples disclosed herein, the communication manager 1020 (and similarly, device 1005) may support connected edge workload scheduling as a host device or as a component of a host device. In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for sending information associated with: a first set of one or more computation metrics associated with a first host device, a first set of one or more communication metrics associated with a first host device, a first set of one or more power metrics associated with a first host device, and a first set of one or more reliability metrics associated with a first host device. In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for receiving instructions from the workload scheduler device for assigning workloads to at least a first host device based on at least a first joint evaluation associated with one or more parameters: a first set of one or more computation metrics, a first set of one or more communication metrics, a first set of one or more power metrics, and a first set of one or more reliability metrics.
[0232] In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for sending information associated with a workload to a client device requesting the workload, based on an assignment to at least a first host device.
[0233] In some examples, the communication manager 1020 is capable of, configured to, or able to operate to support components that send a rejection of the assignment of workloads to the first host device to the workload scheduler device based on one or more percentage metrics associated with the amount of resources used for one or more edge computing workloads, including workloads, at the first host device exceeding one or more threshold percentages.
[0234] In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for sending information to a workload scheduler device indicative that a first host device is processing an edge computing workload, including workloads assigned to the first host device. In some examples, the communication manager 1020 is capable of, configured to, or operable to support components for receiving link configuration information associated with the first host device processing the edge computing workload, directing the first host device from a second network device to the first network device.
[0235] In some examples, the communication manager 1020 is capable of, configured to, or able to operate to support components for receiving indications from the workload scheduler device, based on one or more network congestion metrics, of pausing workload requests associated with session-oriented workload types.
[0236] In some examples, the communication manager 1020 is capable of, configured to, or able to operate to support components for sending information to the workload scheduler device indicating one or more network congestion metrics associated with a cluster of edge devices including the first host device.
[0237] In some examples, the communication manager 1020 is capable of, configured to, or able to operate to support components that receive, from the workload scheduler device, an indication to pause a workload request based on a preemption rate exceeding a threshold preemption rate associated with a workload assigned to an edge device, including a first host device.
[0238] In some examples, the communication manager 1020 is capable of, configured to, or able to operate to support components for sending information to the workload scheduler device indicating that the preemption rate at the first host device exceeds a threshold preemption rate.
[0239] In some examples, the communication manager 1020 is capable of, configured to, or able to operate to support components for preempting one or more workloads assigned to a first host device based on one or more network changes, cluster exits, higher-priority edge computing workload launches, or local application launches, wherein sending information indicating that the preemption rate at the first host device exceeds a threshold preemption rate is associated with preempting one or more workloads.
[0240] In some examples, the first set of one or more computing metrics includes one or more CPU metrics, one or more GPU metrics, one or more NPU metrics, one or more memory metrics, or one or more storage metrics; the first set of one or more communication metrics includes one or more connectivity metrics, one or more throughput metrics, one or more latency metrics, or one or more link condition metrics; the first set of one or more power metrics includes one or more power source metrics or one or more battery power metrics; and the first set of one or more reliability metrics includes one or more preemption metrics, one or more mobility metrics, or one or more usage metrics.
[0241] In some examples, one or more preemption metrics include an indication of the amount of preemption associated with network changes, cluster exits, the launch of higher-priority edge computing workloads, or the launch of native applications; one or more mobility metrics include one or more channel change metrics, one or more topology change metrics, or one or more cluster exit metrics; and one or more usage metrics include one or more usage duration metrics associated with one or more native applications, one or more compute resource usage metrics associated with one or more native applications, an indication of one or more existing edge computing workloads, or one or more percentage metrics associated with the amount of resources used for one or more existing edge computing workloads.
[0242] In some examples, one or more parameters associated with the workload include workload type, indication of workload affinity, requested completion time, requested power source or battery power metric, requested software or hardware capability, one or more weights associated with the first joint assessment, or requested SLA.
[0243] In some examples, the communication manager 1020 may be configured to use or otherwise coordinate with the transceiver 1010, one or more antennas 1015 (as applicable), or any combination thereof to perform various operations (such as receiving, acquiring, monitoring, outputting, transmitting). Although the communication manager 1020 is illustrated as a separate component, in some examples, one or more functions described with reference to the communication manager 1020 may be supported or performed by the transceiver 1010, one or more processors in at least one processor 1035, one or more memories in at least one memory 1025, code 1030, or any combination thereof (such as by a processing system including at least a portion of at least one processor 1035, at least one memory 1025, code 1030, or any combination thereof). For example, code 1030 may include instructions that can be executed by one or more processors in at least one processor 1035 to cause the device 1005 to perform various aspects of workload scheduling in edge computing as described herein, or at least one processor 1035 and at least one memory 1025 may be otherwise configured to perform or support such operations individually or jointly.
[0244] Figure 11A block diagram of an example device 1105 supporting workload scheduling in edge computing is shown. Device 1105 can communicate with one or more workload scheduling devices, one or more host devices, one or more network entities 105, one or more UEs 115, or any combination thereof. This communication may include communication via one or more wired interfaces, one or more wireless interfaces, or any combination thereof. Device 1105 may include components for bidirectional voice and data communication, including components for transmitting and receiving communications, such as a communication manager 1120, an input / output (I / O) controller (such as I / O controller 1110), a transceiver 1115, one or more antennas 1125, at least one memory 1130, code 1135, and at least one processor 1140. These components may communicate electronically or be otherwise coupled (such as operatively, communicatively, functionally, electronically, or electrically) via one or more buses (such as bus 1145).
[0245] I / O controller 1110 manages the input and output signals of device 1105. I / O controller 1110 can also manage peripheral devices not integrated into device 1105. In some implementations, I / O controller 1110 may represent a physical connection or port to an external peripheral device. In some implementations, I / O controller 1110 may utilize an operating system such as iOS. ® ANDROID ® MS-DOS ® MS-WINDOWS ® OS / 2 ® UNIX ® LINUX ® Alternatively, it may be another known operating system. Additionally or alternatively, the I / O controller 1110 may represent or interact with a modem, keyboard, mouse, touchscreen, or similar device. In some embodiments, the I / O controller 1110 may be implemented as part of a processor or processing system (such as processor 1140). In some embodiments, a user may interact with device 1105 via the I / O controller 1110 or via hardware components controlled by the I / O controller 1110.
[0246] In some embodiments, device 1105 may include a single antenna. However, in other embodiments, device 1105 may have more than one antenna, which may be capable of concurrently transmitting or receiving multiple wireless transmissions. Transceiver 1115 may communicate bidirectionally via one or more antennas 1125 using a wired or wireless link as described herein. For example, transceiver 1115 may represent a wireless transceiver and may communicate bidirectionally with another wireless transceiver. Transceiver 1115 may also include a modem for modulating packets; providing the modulated packets to one or more antennas 1125 for transmission; and demodulating packets received from one or more antennas 1125. In some embodiments, transceiver 1115 may include one or more interfaces, such as one or more interfaces coupled to one or more antennas 1125 configured to support various receive or acquire operations, or one or more interfaces coupled to one or more antennas 1125 configured to support various transmit or output operations, or combinations thereof. In some embodiments, transceiver 1115 may include or be configured to couple to one or more processors or memory components, which are operable to perform or support operations based on received or acquired information or signals, or to generate information or other signals for transmission or other output, or any combination thereof. In some embodiments, transceiver 1115, or transceiver 1115 and one or more antennas 1125, or transceiver 1115 and one or more antennas 1125 and one or more processors or memory components (such as processor 1140, or memory 1130, or both) may be included in a chip or chip assembly mounted in device 1105.
[0247] At least one memory 1130 may include RAM, ROM, or any combination thereof. At least one memory 1130 may store computer-readable code, computer-executable code, or processor-executable code, such as code 1135. Code 1135 may include instructions that, when executed by one or more processors of at least one processor 1140, cause device 1105 to perform the various functions described herein. Code 1135 may be stored in a non-transitory computer-readable medium such as system memory or another type of memory. In some embodiments, code 1135 may not be directly executable by a processor of at least one processor 1140, but may enable a computer (such as when compiled and executed) to perform the functions described herein. In some embodiments, at least one memory 1130 may also include a basic I / O system (BIOS) among other things, which controls basic hardware or software operations, such as interaction with peripheral components or devices. In some embodiments, at least one processor 1140 may include multiple processors, and at least one memory 1130 may include multiple memories. One or more of a plurality of processors may be coupled to one or more of a plurality of memories, which may be configured individually or collectively to perform various functions described herein (such as a processing system, a memory system, or a portion thereof).
[0248] At least one processor 1140 may include one or more intelligent hardware devices, such as one or more general-purpose processors, one or more DSPs, one or more CPUs, one or more GPUs, one or more NPUs (also known as neural network processors or DLPs), one or more microcontrollers, one or more ASICs, one or more FPGAs, one or more programmable logic devices, discrete gate or transistor logic units, one or more discrete hardware components, or any combination thereof. In some examples, at least one processor 1140 may be configured to operate a memory array using a memory controller. In some other cases, the memory controller may be integrated into one or more processors in at least one processor 1140. At least one processor 1140 may be configured to execute computer-readable instructions stored in memory (such as one or more memories in at least one memory 1130) to cause device 1105 to perform various functions, such as functions or tasks that support workload scheduling in edge computing. For example, device 1105 or components of device 1105 may include at least one processor 1140 and at least one memory 1130 coupled to one or more processors in at least one processor 1140, wherein the at least one processor 1140 and the at least one memory 1130 are configured to perform the various functions described herein. At least one processor 1140 may be an example of a cloud computing platform (such as one or more physical nodes and supporting software (such as an operating system, virtual machine, or container instance)) that can host functions (such as by executing code 1135) to perform the functions of device 1105. At least one processor 1140 may be any one or more suitable processors capable of executing scripts or instructions of one or more software programs stored in device 1105 (such as within one or more memories of at least one memory 1130). In some implementations, at least one processor 1140 may include multiple processors, and at least one memory 1130 may include multiple memories. One or more of the multiple processors may be coupled to one or more of the multiple memories, which may be configured individually or collectively to perform the various functions described herein.
[0249] In some implementations, at least one processor 1140 may be a component of a processing system, which may refer to a system of machines, circuits (including, for example, one or both of processor circuitry (which may include at least one processor 1140) and memory circuitry (which may include at least one memory 1130)) or components that receive or receive input and process such input to produce, generate, or obtain a set of outputs. The processing system may be configured to perform one or more of the functions described herein. For example, at least one processor 1140 or a processing system including at least one processor 1140 may be configured, capable of being configured, or operable to cause device 1105 to perform one or more of the functions described herein. Furthermore, as described herein, “configured to,” “capable of being configured,” and “operable to” are used interchangeably and may be associated with the ability to perform one or more of the functions described herein when executing code stored in at least one memory 1130 or otherwise.
[0250] In some specific implementations, the processing system of device 1105 may refer to a system that includes various other components or sub-components of device 1105 (such as at least one processor 1140, transceiver 1115, or communication manager 1120, or other components or combinations thereof of device 1105). The processing system of device 1105 may interface with other components of device 1105 and may process information received from other components (such as inputs or signals) or output information to other components. For example, the chip or modem of device 1105 may include the processing system and one or more interfaces for outputting information or for receiving information, or both.
[0251] One or more interfaces may be implemented as, or otherwise include, a first interface configured to output information and a second interface configured to receive information, or the same interface configured to both output and receive information, as well as other embodiments. In some embodiments, one or more interfaces may refer to an interface between the processing system of the chip or modem and the transmitter, enabling device 1105 to transmit information output from the chip or modem. Additionally or alternatively, in some embodiments, one or more interfaces may refer to an interface between the processing system of the chip or modem and the receiver, enabling device 1105 to receive information or signal input, and such information may be transmitted to the processing system. Those skilled in the art will readily recognize that the first interface may also receive information or signal input, and the second interface may also output information or signal output.
[0252] Device 1105 may include one or more chips, SoCs, chipsets, packages, or devices that individually or collectively constitute or include a processing system. The processing system includes processor (or “processing”) circuitry in the form of one or more processors, microprocessors, processing units (such as CPUs, GPUs, NPUs, or DSPs), processing blocks, ASICs, programmable logic devices (such as FPGAs), or other discrete gate or transistor logic components or circuits (all of which are generally referred to herein individually as “processors” or collectively as “processors” or “processor circuitry”). One or more of these processors may be individually or collectively configured to perform the various functions or operations described herein. The processing system may also include memory circuitry in the form of one or more memory devices, memory blocks, memory elements, or other discrete gate or transistor logic components or circuitry, each of which may include tangible storage media such as RAM or ROM or combinations thereof (all of which are generally referred to herein individually as “memory” or collectively as “memory” or “memory circuitry”). One or more of these memories may be coupled to one or more processors and may store processor-executable code, individually or collectively, which, when executed by the one or more processors, configures the one or more processors to perform the various functions or operations described herein. Additionally or alternatively, in some embodiments, the one or more processors may be pre-configured to perform the various functions or operations described herein without software configuration. The processing system may also include or be coupled to one or more modems (such as Wi-Fi (e.g., IEEE compliant) modems or cellular (e.g., 3GPP 4G LTE, 5G, or 6G compliant) modems). In some embodiments, one or more processors of the processing system include or implement one or more modems. The processing system may also include or be coupled to multiple radio components (collectively, “radio components”), multiple RF chains, or multiple transceivers, each of which may in turn be coupled to one or more antennas. In some embodiments, one or more processors of the processing system include or implement one or more of the radio components, RF chains, or transceivers.
[0253] In some implementations, bus 1145 may support communication at protocol layers of the protocol stack (such as within a protocol layer). In some implementations, bus 1145 may support communication associated with logical channels of the protocol stack (such as between protocol layers of the protocol stack), which may include communication performed within components of device 1105 or between different components of device 1105 that are co-addressable or may be located in different locations (such as where device 1105 may refer to a system in which one or more of communication manager 1120, transceiver 1115, at least one memory 1130, code 1135 and at least one processor 1140 may be located in one of the different components or partitioned between the different components).
[0254] According to the examples disclosed herein, communication manager 1120 (and similarly, device 1105) can support connected edge workload scheduling as a client device or as a component of a client device. Communication manager 1120 is capable of, configured to, or operable to support components for sending information indicating one or more parameters associated with a workload via a request associated with the workload. In some examples, communication manager 1120 is capable of, configured to, or operable to support components for receiving workload-related information from a first host device based on at least a first joint evaluation associated with one or more parameters: a first set of one or more computed metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device.
[0255] In some examples, the communication manager 1120 is capable of, configured to, or able to operate to support components for receiving indications from the workload scheduler device, based on one or more network congestion metrics, of pausing workload requests associated with session-oriented workload types.
[0256] In some examples, the communication manager 1120 is capable of, configured to, or operable to support components for sending information to the workload scheduler device indicating one or more network congestion metrics associated with a cluster of edge devices, including the first host device.
[0257] In some examples, the communication manager 1120 is capable of, configured to, or able to operate to support components that receive, from the workload scheduler device, an indication to pause a workload request based on a preemption rate exceeding a threshold preemption rate associated with a workload assigned to a cluster of edge devices, including a first host device.
[0258] In some examples, the first set of one or more computing metrics includes one or more CPU metrics, one or more GPU metrics, one or more NPU metrics, one or more memory metrics, or one or more storage metrics; the first set of one or more communication metrics includes one or more connectivity metrics, one or more throughput metrics, one or more latency metrics, or one or more link condition metrics; the first set of one or more power metrics includes one or more power source metrics or one or more battery power metrics; and the first set of one or more reliability metrics includes one or more preemption metrics, one or more mobility metrics, or one or more usage metrics.
[0259] In some examples, one or more preemption metrics include an indication of the amount of preemption associated with network changes, cluster exits, the launch of higher-priority edge computing workloads, or the launch of native applications; one or more mobility metrics include one or more channel change metrics, one or more topology change metrics, or one or more cluster exit metrics; and one or more usage metrics include one or more usage duration metrics associated with one or more native applications, one or more compute resource usage metrics associated with one or more native applications, an indication of one or more existing edge computing workloads, or one or more percentage metrics associated with the amount of resources used for one or more existing edge computing workloads.
[0260] In some examples, one or more parameters associated with the workload include workload type, indication of workload affinity, requested completion time, requested power source or battery power metric, requested software or hardware capability, one or more weights associated with the first joint assessment, or requested SLA.
[0261] In some implementations, the communication manager 1120 may be configured to use or otherwise coordinate with the transceiver 1115, one or more antennas 1125, or any combination thereof to perform various operations such as receiving, monitoring, and transmitting. Although the communication manager 1120 is exemplified as a component of the transceiver 1115, in some implementations, one or more functions described with reference to the communication manager 1120 may be supported or performed by the transceiver 1115, at least one processor 1140, at least one memory 1130, code 1135, or any combination thereof (such as by a processing system including at least a portion of at least one processor 1140, at least one memory 1130, code 1135, or any combination thereof). For example, code 1135 may include instructions that can be executed by one or more of the at least one processor 1140 to cause the device 1105 to perform various aspects of workload scheduling in edge computing as described herein, or at least one processor 1140 and at least one memory 1130 may be otherwise configured to perform or support such operations.
[0262] Figure 12 A flowchart illustrating an example method 1200 supporting workload scheduling in edge computing is shown. The operation of method 1200 can be implemented by a workload scheduler device or its components as described herein. For example, the operation of method 1200 can be implemented by, as referenced... Figure 1 – Figure 10 The described workload scheduler device or network entity 105 performs this function. In some examples, the workload scheduler device may execute a set of instructions to control the functional elements of the workload scheduler device to perform the described function. Additionally or alternatively, the workload scheduler device may use dedicated hardware to perform aspects of the described function.
[0263] At 1205, the method may include receiving information indicating one or more parameters associated with the workload via a request associated with the workload. Operation of 1205 may be performed according to examples as disclosed herein.
[0264] At 1210, the method may include sending an instruction to assign a workload to at least a first host device based on at least a first joint evaluation associated with one or more parameters: a first set of one or more computational metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device. Operation of 1210 may be performed according to examples as disclosed herein.
[0265] Figure 13A flowchart illustrating an example method 1300 supporting workload scheduling in edge computing is shown. The operation of method 1300 may be implemented by a first host device or its components as described herein. For example, the operation of method 1300 may be implemented by, as referenced... Figure 1 – Figure 10 The first host device or network entity 105 described herein performs the function. In some examples, the first host device may execute a set of instructions to control the functional elements of the host device to perform the described function. Additionally or alternatively, the first host device may use dedicated hardware to perform aspects of the described function.
[0266] At 1305, the method may include sending to a workload scheduler device information associated with: a first set of one or more computation metrics associated with the first host device; a first set of one or more communication metrics associated with the first host device; a first set of one or more power metrics associated with the first host device; and a first set of one or more reliability metrics associated with the first host device. Operation of 1305 may be performed according to examples as disclosed herein.
[0267] At 1310, the method may include receiving from a workload scheduler device an instruction to assign a workload to at least a first host device based on at least a first joint evaluation associated with one or more parameters: a first set of one or more computation metrics, a first set of one or more communication metrics, a first set of one or more power metrics, and a first set of one or more reliability metrics. Operation of 1310 may be performed according to examples as disclosed herein.
[0268] Figure 14 A flowchart illustrating an example method 1400 supporting workload scheduling in edge computing is shown. The operation of method 1400 can be implemented by a client device (such as a UE) or its components as described herein. For example, the operation of method 1400 can be implemented by, as referenced... Figure 1 – Figure 9 and Figure 11 The described client device or UE 115 performs this function. In some examples, the client device may execute a set of instructions to control the functional elements of the client device to perform the described function. Additionally or alternatively, the client device may use dedicated hardware to perform aspects of the described function.
[0269] At 1405, the method may include sending information indicating one or more parameters associated with the workload via a request associated with the workload. Operation of 1405 may be performed according to the examples disclosed herein.
[0270] At 1410, the method may include receiving, based on at least a first joint evaluation associated with one or more parameters, information related to a workload from a first host device: a first set of one or more computational metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device. Operation of 1410 may be performed according to examples as disclosed herein.
[0271] Specific implementation examples are described in the following numbered clauses: Clause 1: A method for performing connected edge workload scheduling at a workload scheduler device, the method comprising: receiving information indicating one or more parameters associated with the workload via a request associated with the workload; and sending an instruction to assign the workload to at least a first host device based on at least a first joint evaluation associated with the one or more parameters: a first set of one or more computation metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device.
[0272] Clause 2: The method according to Clause 1 further includes: receiving from the first host device information associated with the first set of one or more computational metrics, the first set of one or more communication metrics, the first set of one or more power metrics, and the first set of one or more reliability metrics.
[0273] Clause 3: The method according to any one of Clauses 1 to 2, the method further comprising: obtaining a set of scores for a set of host devices including the first host device based on a corresponding joint evaluation associated with each host device in the set of host devices, wherein each score in the set of scores is for a corresponding host device in the set of host devices, and wherein the assignment of workloads to at least the first host device is based on a first score for the first host device being relatively greater than one or more scores for the remaining host devices in the set of host devices excluding the first host device.
[0274] Clause 4: The method according to Clause 3 further comprises: receiving from each host device in the set of host devices information associated with: a corresponding set of one or more computational metrics associated with the host device, a corresponding set of one or more communication metrics associated with the host device, a corresponding set of one or more power metrics associated with the host device, and a corresponding set of one or more reliability metrics associated with the host device, wherein the corresponding joint assessment associated with each host device in the set of host devices is based on the information received from each host device in the set of host devices.
[0275] Clause 5: The method according to any one of Clauses 3 to 4, wherein obtaining the set of scores for the set of host devices comprises: obtaining a first score for the first host device based on a first joint evaluation; and obtaining a second score for the second host device based on a second joint evaluation associated with the one or more parameters: a second set of one or more computational metrics associated with the second host device in the set of host devices, a second set of one or more communication metrics associated with the second host device, a second set of one or more power metrics associated with the second host device, and a second set of one or more reliability metrics associated with the second host device, wherein the first score is relatively greater than the second score.
[0276] Clause 6: The method according to any one of Clauses 3 to 5, wherein each score in the set of scores is a weighted sum of a corresponding set of one or more computational metrics, a corresponding set of one or more communication metrics, a corresponding set of one or more power metrics, and a corresponding set of one or more reliability metrics.
[0277] Clause 7: The method according to Clause 6, wherein, in order to obtain the respective weighted sum, a first weight is applied to the respective set of one or more computational metrics, a second weight is applied to the respective set of one or more communication metrics, a third weight is applied to the respective set of one or more power metrics, and a fourth weight is applied to the respective set of one or more reliability metrics.
[0278] Clause 8: The method according to Clause 7 further comprises: obtaining an indication of the first weight, the second weight, the third weight, and the fourth weight based on historical data associated with workload scheduling across the set of host devices or the one or more parameters associated with the workload.
[0279] Clause 9: The method according to any one of Clauses 1 to 8, the method further comprising: obtaining a set of host devices from the set of multiple host devices in association with evaluating each host device in the set of multiple host devices according to the one or more parameters and one or more variations of the workload, wherein the set of host devices includes the first host device.
[0280] Clause 10: The method according to Clause 9, wherein evaluating each host device in the set of multiple host devices comprises: evaluating whether the workload is feasible for the respective host device based on the one or more parameters, a respective set of one or more variants of the workload, and the capabilities of the respective host device in the set of multiple host devices.
[0281] Clause 11: The capability of the respective host device as described in Clause 10 is associated with one or more percentage metrics associated with the amount of resources used for one or more existing edge computing workloads at the respective host device, one or more memory usage metrics, one or more storage usage metrics, one or more power metrics at the respective host device, the software or hardware capabilities of the respective host device, or one or more communication metrics associated with over-the-air signaling between the respective host device and client devices associated with the workload.
[0282] Clause 12: The method according to any one of Clauses 9 to 11, further comprising: including the first host device in the set of host devices based on the feasibility of the workload for the first host device, wherein the workload is feasible for the first host device based on the one or more parameters, a first set of one or more variations of the workload, and a first capability of the first host device; and excluding the second host device from the set of host devices based on the infeasibility of the workload for a second host device in the set of a plurality of host devices, wherein the workload is infeasible for the second host device based on the one or more parameters, a second set of one or more variations of the workload, and a second capability of the first host device.
[0283] Clause 13: The method according to any one of Clauses 1 to 12, the method further comprising: receiving from the first host device a rejection of the assignment of the workload to the first host device based on one or more percentage measures associated with the amount of resources used for the one or more edge computing workloads including the workload at the first host device exceeding one or more threshold percentages.
[0284] Clause 14: The method according to Clause 13 further includes: sending an instruction for an updated assignment of the workload to at least a second host device in connection with receiving a rejection of the assignment of the workload to the first host device.
[0285] Clause 15: The method according to any one of Clauses 1 to 14, the method further comprising: receiving information indicating that the first host device is processing an edge computing workload, the edge computing workload including the workload assigned to the first host device; and sending link configuration information to the first host device or a first network device associated with the first host device, the link configuration information directing the first host device from the second network device to the first network device in association with the first host device processing the edge computing workload.
[0286] Clause 16: The method according to any one of Clauses 1 to 15, the method further comprising: receiving information indicating one or more network congestion metrics associated with a cluster of edge devices including the first host device; and sending an indication of pausing a workload request associated with a session-oriented workload type based on the one or more network congestion metrics.
[0287] Clause 17: The method according to any one of Clauses 1 to 16, the method further comprising: receiving information indicating that a preemption rate associated with a workload assigned to a cluster of edge devices including the first host device exceeds a threshold preemption rate; and sending an indication to pause a workload request based on the preemption rate exceeding the threshold preemption rate.
[0288] Clause 18: The method according to any one of Clauses 1 to 17, wherein the first set of one or more computation metrics includes one or more CPU metrics, one or more GPU metrics, one or more NPU metrics, one or more memory metrics, or one or more storage metrics; the first set of one or more communication metrics includes one or more connectivity metrics, one or more throughput metrics, one or more latency metrics, or one or more link condition metrics; the first set of one or more power metrics includes one or more power source metrics or one or more battery power metrics; and the first set of one or more reliability metrics includes one or more preemption metrics, one or more mobility metrics, or one or more usage metrics.
[0289] Clause 19: The method according to Clause 18, wherein the one or more preemption metrics include an indication of the number of preemptions associated with network changes, cluster exits, higher priority edge computing workload launches, or local application launches; the one or more mobility metrics include one or more channel change metrics, one or more topology change metrics, or one or more cluster exit metrics; and the one or more usage metrics include one or more usage duration metrics associated with one or more local applications, one or more computing resource usages associated with the one or more local applications, an indication of one or more existing edge computing workloads, or one or more percentage metrics associated with the amount of resources used for the one or more existing edge computing workloads.
[0290] Clause 20: The method according to any one of Clauses 1 to 19, wherein the one or more parameters associated with the workload include workload type, indication of affinity to the workload, requested completion time, requested power source or battery power metric, requested software or hardware capability, one or more weights associated with the first joint assessment, or requested SLA.
[0291] Clause 21: A method for performing connection-edge workload scheduling at a first host device, the method comprising: sending to a workload scheduler device information associated with: a first set of one or more computation metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device; and receiving from the workload scheduler device an indication of assignment of the workload to at least the first host device based on at least a first joint evaluation associated with one or more parameters related to the workload: the first set of one or more computation metrics, the first set of one or more communication metrics, the first set of one or more power metrics, and the first set of one or more reliability metrics.
[0292] Clause 22: The method according to Clause 21 further includes: sending information associated with the workload to a client device requesting the workload based on the assignment to at least the first host device.
[0293] Clause 23: The method according to Clause 21 further comprises: sending a rejection of the assignment of the workload to the first host device to the workload scheduler device based on one or more percentage metrics associated with the amount of resources used for one or more edge computing workloads including the workload at the first host device exceeding one or more threshold percentages.
[0294] Clause 24: The method according to any one of Clauses 21 to 23, the method further comprising: sending to the workload scheduler device information indicating that the first host device is processing an edge computing workload, the edge computing workload including the workload assigned to the first host device; and receiving link configuration information, the link configuration information relating to the first host device processing the edge computing workload to redirect the first host device from the second network device to the first network device.
[0295] Clause 25: The method according to any one of Clauses 21 to 24, the method further comprising: receiving from the workload scheduler device an indication of pausing a workload request associated with a session-oriented workload type based on one or more network congestion metrics.
[0296] Clause 26: The method according to any one of Clauses 21 to 25, the method further comprising: sending to the workload scheduler device information indicating one or more network congestion metrics associated with a cluster of edge devices including the first host device.
[0297] Clause 27: The method according to any one of Clauses 21 to 26, the method further comprising: receiving from the workload scheduler device an indication to pause a workload request based on a preemption rate associated with a workload assigned to an edge device including the first host device exceeding a threshold preemption rate.
[0298] Clause 28: The method according to any one of Clauses 21 to 27, the method further comprising: sending information to the workload scheduler device indicating that the preemption rate at the first host device exceeds a threshold preemption rate.
[0299] Clause 29: The method according to Clause 28 further comprises: preempting one or more workloads assigned to the first host device based on one or more network changes, cluster exits, higher-priority edge computing workload launches, or local application launches, wherein sending the information indicating that the preemption rate at the first host device exceeds the threshold preemption rate is associated with preempting the one or more workloads.
[0300] Clause 30: The method according to any one of Clauses 21 to 29, wherein the first set of one or more computation metrics includes one or more CPU metrics, one or more GPU metrics, one or more NPU metrics, one or more memory metrics, or one or more storage metrics; the first set of one or more communication metrics includes one or more connectivity metrics, one or more throughput metrics, one or more latency metrics, or one or more link condition metrics; the first set of one or more power metrics includes one or more power source metrics or one or more battery power metrics; and the first set of one or more reliability metrics includes one or more preemption metrics, one or more mobility metrics, or one or more usage metrics.
[0301] Clause 31: The method according to Clause 30, wherein the one or more preemption metrics include an indication of the number of preemptions associated with network changes, cluster exits, higher priority edge computing workload launches, or local application launches; the one or more mobility metrics include one or more channel change metrics, one or more topology change metrics, or one or more cluster exit metrics; and the one or more usage metrics include one or more usage duration metrics associated with one or more local applications, one or more compute resource usage metrics associated with the one or more local applications, an indication of one or more existing edge computing workloads, or one or more percentage metrics associated with the amount of resources used for the one or more existing edge computing workloads.
[0302] Clause 32: The method according to any one of Clauses 21 to 31, wherein the one or more parameters associated with the workload include workload type, an indication of affinity to the workload, a requested completion time, a requested power source or battery power metric, a requested software or hardware capability, one or more weights associated with the first joint assessment, or a requested SLA.
[0303] Clause 33: A method for performing connection edge workload scheduling at a client device, the method comprising: sending information indicating one or more parameters associated with the workload via a request associated with the workload; and receiving information associated with the workload from a first host device based on at least a first joint evaluation associated with the one or more parameters: a first set of one or more computation metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device.
[0304] Clause 34: The method according to Clause 33 further includes: receiving from a workload scheduler device an indication of pausing a workload request associated with a session-oriented workload type based on one or more network congestion metrics.
[0305] Clause 35: The method according to any one of Clauses 33 to 34, the method further comprising: sending information to the workload scheduler device indicating one or more network congestion metrics associated with a cluster of edge devices including the first host device.
[0306] Clause 36: The method according to any one of Clauses 33 to 35, the method further comprising: receiving an indication from a workload scheduler device to pause a workload request based on a preemption rate associated with a workload assigned to an edge device including the first host device exceeding a threshold preemption rate.
[0307] Clause 37: The method according to any one of Clauses 33 to 36, wherein the first set of one or more computation metrics includes one or more CPU metrics, one or more GPU metrics, one or more NPU metrics, one or more memory metrics, or one or more storage metrics; the first set of one or more communication metrics includes one or more connectivity metrics, one or more throughput metrics, one or more latency metrics, or one or more link condition metrics; the first set of one or more power metrics includes one or more power source metrics or one or more battery power metrics; and the first set of one or more reliability metrics includes one or more preemption metrics, one or more mobility metrics, or one or more usage metrics.
[0308] Clause 38: The method according to Clause 37, wherein the one or more preemption metrics include an indication of the number of preemptions associated with network changes, cluster exits, higher priority edge computing workload launches, or on-premises application launches; the one or more mobility metrics include one or more channel change metrics, one or more topology change metrics, or one or more cluster exit metrics; and the one or more usage metrics include one or more usage duration metrics associated with one or more on-premises applications, one or more compute resource usage metrics associated with the one or more on-premises applications, an indication of one or more existing edge computing workloads, or one or more percentage metrics associated with the amount of resources used for the one or more existing edge computing workloads.
[0309] Clause 39: The method according to any one of Clauses 33 to 38, wherein the one or more parameters associated with the workload include workload type, indication of affinity to the workload, requested completion time, requested power source or battery power metric, requested software or hardware capability, one or more weights associated with the first joint assessment, or requested SLA.
[0310] Clause 40: A workload scheduler device, the workload scheduler device comprising: a processing system including processor circuitry and memory circuitry storing code, the processing system being configured to cause the workload scheduler device to: receive information indicating one or more parameters associated with the workload via a request associated with the workload; and send an instruction to assign the workload to at least a first host device based on at least a first joint evaluation associated with the one or more parameters: a first set of one or more computational metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device.
[0311] Clause 41: The workload scheduler device according to Clause 40, wherein the processing system is further configured to cause the workload scheduler device to: receive from the first host device information associated with the first set of one or more computing metrics, the first set of one or more communication metrics, the first set of one or more power metrics, and the first set of one or more reliability metrics.
[0312] Clause 42: A workload scheduler device according to any one of Clauses 40 to 41, wherein the processing system is further configured to cause the workload scheduler device to: obtain a set of scores for a set of host devices including the first host device based on a corresponding joint evaluation associated with each host device in the set of host devices, wherein each score in the set of scores is for a corresponding host device in the set of host devices, and wherein the assignment of the workload to at least the first host device is based on a first score for the first host device being relatively greater than one or more scores for the remaining host devices in the set of host devices excluding the first host device.
[0313] Clause 43: The workload scheduler device according to Clause 42, wherein the processing system is further configured to cause the workload scheduler device to: receive from each host device in the set of host devices information associated with: a corresponding set of one or more computing metrics associated with the host device, a corresponding set of one or more communication metrics associated with the host device, a corresponding set of one or more power metrics associated with the host device, and a corresponding set of one or more reliability metrics associated with the host device, wherein the corresponding joint evaluation associated with each host device in the set of host devices is based on the information received from each host device in the set of host devices.
[0314] Clause 44: A workload scheduler device according to any one of Clauses 42 to 43, wherein, in order to obtain the set of scores for the set of host devices, the processing system is configured to cause the workload scheduler device to: obtain a first score for the first host device based on a first joint evaluation; and obtain a second score for the second host device based on a second joint evaluation associated with the one or more parameters: a second set of one or more computational metrics associated with the second host device in the set of host devices, a second set of one or more communication metrics associated with the second host device, a second set of one or more power metrics associated with the second host device, and a second set of one or more reliability metrics associated with the second host device, wherein the first score is relatively greater than the second score.
[0315] Clause 45: A workload scheduler device pursuant to any one of Clauses 42 to 44, wherein each of the fraction sets is a weighted sum of a corresponding set of one or more computation metrics, a corresponding set of one or more communication metrics, a corresponding set of one or more power metrics, and a corresponding set of one or more reliability metrics.
[0316] Clause 46: The workload scheduler device according to Clause 45, wherein, in order to obtain the respective weighted sum, a first weight is applied to the respective set of one or more computation metrics, a second weight is applied to the respective set of one or more communication metrics, a third weight is applied to the respective set of one or more power metrics, and a fourth weight is applied to the respective set of one or more reliability metrics.
[0317] Clause 47: The workload scheduler device according to Clause 46, wherein the processing system is further configured to cause the workload scheduler device to: obtain indications of the first weight, the second weight, the third weight, and the fourth weight based on historical data associated with workload scheduling across the set of host devices or the one or more parameters associated with the workload.
[0318] Clause 48: A workload scheduler device according to any one of Clauses 40 to 47, wherein the processing system is further configured to cause the workload scheduler device to: obtain a set of host devices from the set of a plurality of host devices in association with each host device in the set of a plurality of host devices evaluated according to the one or more parameters and one or more variations of the workload, wherein the set of host devices includes the first host device.
[0319] Clause 49: The workload scheduler device according to Clause 48, wherein, in order to evaluate each of the set of multiple host devices, the processing system is configured to cause the workload scheduler device to: evaluate the feasibility of the workload for the respective host device based on the one or more parameters, a respective set of one or more variants of the workload, and the capabilities of the respective host device in the set of multiple host devices.
[0320] Clause 50: A workload scheduler device pursuant to Clause 49, wherein the capability of the respective host device is associated with one or more percentage metrics associated with the amount of resources used for one or more existing edge computing workloads at the respective host device, one or more memory usage metrics, one or more storage usage metrics, one or more power metrics at the respective host device, the software or hardware capabilities of the respective host device, or one or more communication metrics associated with over-the-air signaling between the respective host device and client devices associated with the workload.
[0321] Clause 51: A workload scheduler device according to any one of Clauses 48 to 50, wherein the processing system is further configured to cause the workload scheduler device to: include the first host device in the set of host devices based on the fact that the workload is feasible for the first host device, wherein the workload is feasible for the first host device based on the one or more parameters, a first set of one or more variations of the workload and a first capability of the first host device; and exclude the second host device from the set of host devices based on the fact that the workload is not feasible for a second host device in the set of multiple host devices, wherein the workload is not feasible for the second host device based on the one or more parameters, a second set of one or more variations of the workload and a second capability of the first host device.
[0322] Clause 52: A workload scheduler device according to any one of Clauses 40 to 51, wherein the processing system is further configured to cause the workload scheduler device to: receive from the first host device a rejection of the assignment of the workload to the first host device based on one or more percentage metrics associated with the amount of resources used for computing the workload at one or more edges including the workload at the first host device exceeding one or more threshold percentages.
[0323] Clause 53: The workload scheduler device according to Clause 52, wherein the processing system is further configured to cause the workload scheduler device to: send an instruction for an updated assignment of the workload to at least a second host device in association with the rejection of the assignment of the workload to the first host device.
[0324] Clause 54: A workload scheduler device according to any one of Clauses 40 to 53, wherein the processing system is further configured to cause the workload scheduler device to: receive information indicating that the first host device is processing an edge computing workload, the edge computing workload including the workload assigned to the first host device; and send link configuration information to the first host device or a first network device associated with the first host device, the link configuration information being associated with the first host device processing the edge computing workload to redirect the first host device from the second network device to the first network device.
[0325] Clause 55: A workload scheduler device according to any one of Clauses 40 to 54, wherein the processing system is further configured to cause the workload scheduler device to: receive information indicating one or more network congestion metrics associated with a cluster of edge devices including the first host device; and send an indication of pausing a workload request associated with a session-oriented workload type based on the one or more network congestion metrics.
[0326] Clause 56: A workload scheduler device according to any one of Clauses 40 to 55, wherein the processing system is further configured to cause the workload scheduler device to: receive information indicating that the preemption rate associated with a workload assigned to a cluster of edge devices including the first host device exceeds a threshold preemption rate; and send an indication to pause a workload request based on the preemption rate exceeding the threshold preemption rate.
[0327] Clause 57: A workload scheduler device pursuant to any one of Clauses 40 to 56, wherein the first set of one or more computing metrics includes one or more CPU metrics, one or more GPU metrics, one or more NPU metrics, one or more memory metrics, or one or more storage metrics; the first set of one or more communication metrics includes one or more connectivity metrics, one or more throughput metrics, one or more latency metrics, or one or more link condition metrics; the first set of one or more power metrics includes one or more power source metrics or one or more battery power metrics; and the first set of one or more reliability metrics includes one or more preemption metrics, one or more mobility metrics, or one or more usage metrics.
[0328] Clause 58: The workload scheduler device pursuant to Clause 57, wherein the one or more preemption metrics include an indication of the number of preemptions associated with network changes, cluster exits, higher-priority edge computing workload launches, or on-premises application launches; the one or more mobility metrics include one or more channel change metrics, one or more topology change metrics, or one or more cluster exit metrics; and the one or more usage metrics include one or more usage duration metrics associated with one or more on-premises applications, one or more compute resource usages associated with the one or more on-premises applications, an indication of one or more existing edge computing workloads, or one or more percentage metrics associated with the amount of resources used for the one or more existing edge computing workloads.
[0329] Clause 59: A workload scheduler device pursuant to any one of Clauses 40 to 58, wherein the one or more parameters associated with the workload include workload type, an indication of affinity to the workload, a requested completion time, a requested power source or battery power metric, a requested software or hardware capability, one or more weights associated with the first joint assessment, or a requested SLA.
[0330] Clause 60: A first host device, the first host device comprising: a processing system including processor circuitry and memory circuitry storing code, the processing system being configured to cause the first host device to: send to a workload scheduler device information associated with: a first set of one or more computation metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device; and receive from the workload scheduler device an instruction to assign the workload to at least the first host device based on at least a first joint evaluation associated with one or more parameters related to the workload: the first set of one or more computation metrics, the first set of one or more communication metrics, the first set of one or more power metrics, and the first set of one or more reliability metrics.
[0331] Clause 61: The first host device according to Clause 60, wherein the processing system is further configured to cause the first host device to: send information associated with the workload to a client device requesting the workload, based on the assignment to at least the first host device.
[0332] Clause 62: The first host device according to Clause 60, wherein the processing system is further configured to cause the first host device to: send a rejection of the assignment of the workload to the first host device to the workload scheduler device based on one or more percentage metrics associated with the amount of resources used for one or more edge computing workloads including the workload at the first host device exceeding one or more threshold percentages.
[0333] Clause 63: A first host device according to any one of Clauses 60 to 62, wherein the processing system is further configured to cause the first host device to: send information to the workload scheduler device indicating that the first host device is processing an edge computing workload, the edge computing workload including the workload assigned to the first host device; and receive link configuration information, the link configuration information relating to the first host device processing the edge computing workload to redirect the first host device from the second network device to the first network device.
[0334] Clause 64: A first host device according to any one of Clauses 60 to 63, wherein the processing system is further configured to cause the first host device to: receive from the workload scheduler device an indication of pausing a workload request associated with a session-oriented workload type based on one or more network congestion metrics.
[0335] Clause 65: A first host device according to any one of Clauses 60 to 64, wherein the processing system is further configured to cause the first host device to: send information to the workload scheduler device indicating one or more network congestion metrics associated with a cluster of edge devices including the first host device.
[0336] Clause 66: A first host device according to any one of Clauses 60 to 65, wherein the processing system is further configured to cause the first host device to: receive an indication from the workload scheduler device to pause a workload request based on a preemption rate associated with a workload assigned to a cluster of edge devices including the first host device exceeding a threshold preemption rate.
[0337] Clause 67: A first host device according to any one of Clauses 60 to 66, wherein the processing system is further configured to cause the first host device to: send information to the workload scheduler device indicating that the preemption rate at the first host device exceeds a threshold preemption rate.
[0338] Clause 68: The first host device as described in Clause 67, wherein the processing system is further configured to cause the first host device to preempt one or more workloads assigned to the first host device based on one or more network changes, cluster exits, startup of higher-priority edge computing workloads, or startup of local applications, wherein sending the information indicating that the preemption rate at the first host device exceeds the threshold preemption rate is associated with preempting the one or more workloads.
[0339] Clause 69: The first host device pursuant to any one of Clauses 60 to 68, wherein the first set of one or more computing metrics includes one or more CPU metrics, one or more GPU metrics, one or more NPU metrics, one or more memory metrics, or one or more storage metrics; the first set of one or more communication metrics includes one or more connectivity metrics, one or more throughput metrics, one or more latency metrics, or one or more link condition metrics; the first set of one or more power metrics includes one or more power source metrics or one or more battery power metrics; and the first set of one or more reliability metrics includes one or more preemption metrics, one or more mobility metrics, or one or more usage metrics.
[0340] Clause 70: The first host device as described in Clause 69, wherein the one or more preemption metrics include an indication of the number of preemptions associated with network changes, cluster exits, higher-priority edge computing workload launches, or local application launches; the one or more mobility metrics include one or more channel change metrics, one or more topology change metrics, or one or more cluster exit metrics; and the one or more usage metrics include one or more usage duration metrics associated with one or more local applications, one or more computing resource usage metrics associated with the one or more local applications, an indication of one or more existing edge computing workloads, or one or more percentage metrics associated with the amount of resources used for the one or more existing edge computing workloads.
[0341] Clause 71: A first host device pursuant to any one of Clauses 60 to 70, wherein the one or more parameters associated with the workload include workload type, indication of affinity to the workload, requested completion time, requested power source or battery power metric, requested software or hardware capability, one or more weightings associated with the first joint assessment, or a requested SLA.
[0342] Clause 72: A client device comprising: a processing system including processor circuitry and memory circuitry storing code, the processing system being configured to cause the client device to: send information indicating one or more parameters associated with the workload via a request associated with the workload; and receive information associated with the workload from a first host device based on at least a first joint evaluation associated with the one or more parameters: a first set of one or more computational metrics associated with the first host device, a first set of one or more communication metrics associated with the first host device, a first set of one or more power metrics associated with the first host device, and a first set of one or more reliability metrics associated with the first host device.
[0343] Clause 73: The client device as described in Clause 72, wherein the processing system is further configured to cause the client device to: receive from the workload scheduler device an indication of pausing a workload request associated with a session-oriented workload type, based on one or more network congestion metrics.
[0344] Clause 74: A client device according to any one of Clauses 72 to 73, wherein the processing system is further configured to cause the client device to: send information to the workload scheduler device indicating one or more network congestion metrics associated with a cluster of edge devices including the first host device.
[0345] Clause 75: A client device according to any one of Clauses 72 to 74, wherein the processing system is further configured to cause the client device to: receive an indication from a workload scheduler device to pause a workload request based on a preemption rate associated with a workload assigned to a cluster of edge devices including the first host device exceeding a threshold preemption rate.
[0346] Clause 76: A client device pursuant to any one of Clauses 72 to 75, wherein the first set of one or more computing metrics includes one or more CPU metrics, one or more GPU metrics, one or more NPU metrics, one or more memory metrics, or one or more storage metrics; the first set of one or more communication metrics includes one or more connectivity metrics, one or more throughput metrics, one or more latency metrics, or one or more link condition metrics; the first set of one or more power metrics includes one or more power source metrics or one or more battery power metrics; and the first set of one or more reliability metrics includes one or more preemption metrics, one or more mobility metrics, or one or more usage metrics.
[0347] Clause 77: The client device as described in Clause 76, wherein the one or more preemption metrics include an indication of the number of preemptions associated with network changes, cluster exits, higher-priority edge computing workload launches, or local application launches; the one or more mobility metrics include one or more channel change metrics, one or more topology change metrics, or one or more cluster exit metrics; and the one or more usage metrics include one or more usage duration metrics associated with one or more local applications, one or more compute resource usage metrics associated with the one or more local applications, an indication of one or more existing edge computing workloads, or one or more percentage metrics associated with the amount of resources used for the one or more existing edge computing workloads.
[0348] Clause 78: A client device pursuant to any one of Clauses 72 to 77, wherein the one or more parameters associated with the workload include workload type, an indication of affinity to the workload, a requested completion time, a requested power source or battery power metric, a requested software or hardware capability, one or more weights associated with the first joint assessment, or a requested SLA.
[0349] Clause 79: A workload scheduler device for connecting edge workload scheduling, the workload scheduler device comprising at least one component for performing the method according to any one of aspects 1 to 20.
[0350] Aspect 80: A non-transitory computer-readable medium storing code for scheduling connected edge workloads, the code including instructions executable by a processing system to perform the method according to any one of aspects 1 to 20.
[0351] Aspect 81: A first host device for connecting edge workload scheduling, the first host device including at least one component for performing the method according to any one of aspects 21 to 32.
[0352] Aspect 82: A non-transitory computer-readable medium storing code for scheduling connected edge workloads, the code including instructions executable by a processing system to perform the method according to any one of aspects 21 to 32.
[0353] Aspect 83: A client device for connecting edge workload scheduling, the client device comprising at least one component for performing the method according to any one of aspects 33 to 39.
[0354] Aspect 84: A non-transitory computer-readable medium storing code for scheduling connected edge workloads, the code including instructions executable by a processing system to perform the method according to any one of aspects 33 to 39.
[0355] As used herein, the term "determine" or "determine" encompasses a wide variety of actions, and therefore, "determine" can include calculation, computation, processing, derivation, investigation, search (such as by searching in a table, database, or other data structure), reasoning, ascertainment, and similar actions. Additionally, "determine" can include receiving (such as receiving information), accessing (such as accessing data stored in memory), and similar actions. Furthermore, "determine" can include parsing, selecting, choosing, building, and other such similar actions.
[0356] As used herein, the phrase “at least one of” or “one or more of” refers to any combination of these items, including a single member. For example, “at least one of a, b, or c” is intended to cover: a, b, c, ab, ac, bc, and abc. As used herein, “or” is intended to be interpreted in an inclusive sense unless otherwise expressly indicated. For example, “a or b” may include only a, only b, or a combination of a and b. Furthermore, as used herein, the phrase referring to “a” element means one or more of such elements that act individually or collectively to perform the stated function. Additionally, “set” means one or more items, and “subset” means less than the entire set, but not empty.
[0357] As used herein, unless otherwise expressly indicated, “based on” is intended to be interpreted in an inclusive sense. For example, unless otherwise expressly indicated, “based on” may be used interchangeably with “at least partially based on,” “associated with,” “associated with,” or “according to.” Specifically, unless the phrase in the context means “based on only one” or an equivalent, it may be based solely on “one” or based on a combination of “one” and one or more other factors, conditions, or information, whether it is “based on one” or “at least partially based on one.”
[0358] As used herein, including in claims, the article “a” preceding a noun is open-ended and is understood to refer to “at least one” or “one or more” of those nouns. Therefore, the terms “a,” “at least one,” “one or more,” and “at least one of one or more” are interchangeable. For example, where a claim enumerates “components” performing one or more functions, each of the individual functions may be performed by a single component or by any combination of multiple components. Thus, the term “component” having a characteristic or performing a function may refer to “at least one of one or more components” having a particular characteristic or performing a particular function. Subsequent references to a component introduced with the article “a” using the terms “the” or “the” can refer to any or all of the one or more components. For example, a component introduced with the article “a” can be understood to mean “one or more components,” and subsequent reference to “the component” in a claim can be understood as equivalent to referring to “at least one of the one or more components.” Similarly, subsequent references to a component introduced with the terms “the” or “the” as “one or more components” can refer to any or all of the one or more components. For example, reference to "the one or more components" in the subsequent claims can be understood as equivalent to reference to "at least one of the one or more components".
[0359] The various exemplary logics, logic blocks, modules, circuits, and algorithmic processes described in conjunction with the specific implementations disclosed herein can be implemented as electronic hardware, computer software, or a combination of both. The interchangeability of hardware and software has been broadly described in terms of functionality and illustrated in the various exemplary components, blocks, modules, circuits, and processes described above. Whether such functionality is implemented using hardware or software depends on the specific application and the design constraints imposed on the overall system.
[0360] Hardware and data processing means for implementing the various exemplary logic, logic blocks, modules, and circuits described in conjunction with the aspects disclosed herein can be implemented or executed using general-purpose single-chip or multi-chip processors, DSPs, ASICs, GPUs, NPUs, FPGAs, or other programmable logic devices, discrete gate or transistor logic units, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor can be a microprocessor, or any processor, controller, microcontroller, or state machine. A processor can also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration. In some specific implementations, specific processes and methods may be performed by circuitry specific to a given function.
[0361] In one or more aspects, the described functionality may be implemented using hardware, digital electronic circuits, computer software, firmware, including the structures disclosed herein and their structural equivalents, or in any combination thereof. Specific implementations of the subject matter described herein may also be implemented as one or more computer programs, such as one or more modules of computer program instructions encoded on a computer storage medium for execution by a data processing apparatus or for controlling the operation of a data processing apparatus.
[0362] If implemented in software, the functionality can be stored or transmitted using one or more instructions or code on a computer-readable medium. The processes of the methods or algorithms disclosed herein can be implemented in a processor-executable software module that can reside on a computer-readable medium. Computer-readable media include both computer storage media and communication media, including any medium that can be implemented to transfer a computer program from one location to another. Storage media can be any available medium accessible to a computer. By way of example, and not limitation, such computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disc storage devices, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and is accessible to a computer. Furthermore, any connection may be properly referred to as a computer-readable medium. As used herein, disks and optical discs include compact optical discs (CDs), laser optical discs, optical discs, digital versatile optical discs (DVDs), floppy disks, and Blu-ray discs. A disk can magnetically reproduce data, and an optical disc can optically reproduce data using lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the operation of a method or algorithm may reside as a set of code and instructions or any combination of code and instructions on a machine-readable medium and a computer-readable medium that may be incorporated into a computer program product.
[0363] Various modifications to the specific embodiments described in this disclosure will be apparent to those skilled in the art, and the general principles defined herein may be applied to other specific embodiments without departing from the spirit or scope of this disclosure. Therefore, the claims are not intended to be limited to the specific embodiments shown herein, but should be granted the broadest scope consistent with this disclosure and the principles and features disclosed herein.
[0364] Additionally, those skilled in the art will readily recognize that the terms “upper” and “lower” are sometimes used to facilitate the description of the drawings and to indicate relative positioning on a correctly oriented page corresponding to the orientation of the drawings, and may not reflect the correct orientation of any device as implemented.
[0365] Some features described in this specification in the context of a single embodiment may also be implemented in combination in that single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. Furthermore, although features may be described above as functioning in some combination and even initially claimed in this way, one or more features from the claimed combination may be removed from that combination, and the claimed combination may involve sub-combinations or variations thereof.
[0366] Similarly, although operations are depicted in a specific order in the figures, this should not be construed as requiring such operations to be performed in the indicated specific order or sequential order, or to perform all illustrated operations to achieve the desired result. Furthermore, the figures may schematically depict one or more example processes in the form of flowcharts. However, other operations not depicted may be incorporated into the schematically illustrated example processes. For example, one or more additional operations may be performed before, after, simultaneously with, or between any of the illustrated operations. In some environments, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be construed as requiring such separation in all embodiments, but rather should be understood as meaning that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products. Additionally, other embodiments are within the scope of the appended claims. In some embodiments, the actions recited in the claims may be performed in a different order and still achieve the desired result.
Claims
1. A workload scheduler device, the workload scheduler device comprising: A processing system, comprising processor circuitry and memory circuitry for storing code, is configured to cause the workload scheduler device to: Receive information indicating one or more parameters associated with the workload via a request associated with the workload; and Instructions for assigning the workload to at least a first host device are sent based on at least a first joint evaluation associated with one or more of the parameters: A first set of one or more computed metrics associated with the first host device. A first set of one or more communication metrics associated with the first host device. A first set of one or more power metrics associated with the first host device, and A first set of one or more reliability metrics associated with the first host device.
2. The workload scheduler device of claim 1, wherein the processing system is further configured to cause the workload scheduler device to: Receive information associated with the following from the first host device: The first set of one or more computed metrics, The first set of one or more communication metrics, The first set of one or more power metrics, and The first set of one or more reliability metrics.
3. The workload scheduler device of claim 1, wherein the processing system is further configured to cause the workload scheduler device to: A set of scores for a set of host devices including the first host device is obtained based on a corresponding joint evaluation associated with each host device in the set of host devices, wherein each score in the set of scores is for a corresponding host device in the set of host devices, and wherein the assignment of workloads to at least the first host device is based on a first score for the first host device being relatively greater than one or more scores for the remaining host devices in the set of host devices excluding the first host device.
4. The workload scheduler device of claim 3, wherein the processing system is further configured to cause the workload scheduler device to: Receive information associated with the following from each host device in the set of host devices: A corresponding set of one or more computed metrics associated with the host device. A corresponding set of one or more communication metrics associated with the host device. A corresponding set of one or more power metrics associated with the host device, and A corresponding set of one or more reliability metrics associated with the host device. The corresponding joint evaluation associated with each host device in the set of host devices is based on the information received from each host device in the set of host devices.
5. The workload scheduler device of claim 3, wherein, in order to obtain the set of fractions for the set of host devices, the processing system is configured to cause the workload scheduler device to: The first score for the first host device is obtained based on the first joint evaluation; and A second score for a second host device in the set of host devices is obtained based on a second joint evaluation associated with one or more of the parameters: A second set of one or more computed metrics associated with the second host device. A second set of one or more communication metrics associated with the second host device. A second set of one or more power metrics associated with the second host device, and A second set of one or more reliability metrics associated with the second host device. The first score is relatively larger than the second score.
6. The workload scheduler device of claim 3, wherein each score in the score set is a corresponding weighted sum of the following: A corresponding set of one or more computational metrics. A corresponding set of one or more communication metrics. A corresponding set of one or more power metrics, and A set of one or more reliability metrics.
7. The workload scheduler device of claim 6, wherein, in order to obtain the corresponding weighted sum: The first weighting is applied to the corresponding set of one or more computed metrics. The second weighting is applied to the corresponding set of one or more communication metrics. The third weighting is applied to the corresponding set of one or more power metrics, and The fourth weighting is applied to the corresponding set of one or more reliability metrics.
8. The workload scheduler device of claim 7, wherein the processing system is further configured to cause the workload scheduler device to: Indications for the first weighting, the second weighting, the third weighting, and the fourth weighting are obtained based on historical data associated with workload scheduling across the set of host devices or the one or more parameters associated with the workload.
9. The workload scheduler device of claim 1, wherein the processing system is further configured to cause the workload scheduler device to: A set of host devices is obtained from the plurality of host devices in association with evaluating each of the plurality of host devices based on the one or more parameters and one or more variations of the workload, wherein the set of host devices includes the first host device.
10. The workload scheduler device of claim 9, wherein, in order to evaluate each of the plurality of host devices, the processing system is configured to cause the workload scheduler device to: The feasibility of the workload for the respective host device is evaluated based on one or more parameters, a corresponding set of one or more variants of the workload, and the capabilities of the respective host device among the plurality of host devices.
11. The workload scheduler device of claim 10, wherein the capability of the respective host device is associated with one or more percentage metrics associated with the amount of resources used for one or more existing edge computing workloads at the respective host device, one or more memory usage metrics, one or more storage usage metrics, one or more power metrics at the respective host device, the software or hardware capabilities of the respective host device, or one or more communication metrics associated with over-the-air signaling between the respective host device and client devices associated with the workload.
12. The workload scheduler device of claim 9, wherein the processing system is further configured to cause the workload scheduler device to: The first host device is included in the set of host devices based on the feasibility of the workload for the first host device, wherein the workload is feasible for the first host device based on one or more parameters, a first set of one or more variations of the workload, and a first capability of the first host device; and The second host device is excluded from the set of host devices based on the fact that the workload is not feasible for the second host device among the plurality of host devices, wherein the workload is not feasible for the second host device based on one or more parameters, a second set of one or more variations of the workload, and a second capability of the first host device.
13. The workload scheduler device according to claim 1, wherein: The first set of one or more computation metrics includes one or more central processing unit (CPU) metrics, one or more graphics processing unit (GPU) metrics, one or more neural processing unit (NPU) metrics, one or more memory metrics, or one or more storage metrics; The first set of one or more communication metrics includes one or more connectivity metrics, one or more throughput metrics, one or more latency metrics, or one or more link condition metrics; The first set of one or more power metrics includes one or more power source metrics or one or more battery power metrics; and The first set of one or more reliability metrics includes one or more preemption metrics, one or more mobility metrics, or one or more usage metrics.
14. The workload scheduler device according to claim 13, wherein: The one or more preemption metrics include an indication of the amount of preemption associated with network changes, cluster exits, the launch of higher-priority edge computing workloads, or the launch of local applications. The one or more mobility metrics include one or more channel change metrics, one or more topology change metrics, or one or more cluster exit metrics; and The one or more usage metrics include one or more usage duration metrics associated with one or more local applications, one or more computing resource usages associated with the one or more local applications, an indication of one or more existing edge computing workloads, or one or more percentage metrics associated with the amount of resources used for the one or more existing edge computing workloads.
15. The workload scheduler device of claim 1, wherein the one or more parameters associated with the workload include workload type, an indication of affinity to the workload, a requested completion time, a requested power source or battery power metric, a requested software or hardware capability, one or more weights associated with the first joint assessment, or a requested service level agreement (SLA).
16. A first host device, the first host device comprising: The processing system, comprising processor circuitry and memory circuitry for storing code, is configured to cause the first host device to: Send the following information to the workload scheduler device: A first set of one or more computed metrics associated with the first host device. A first set of one or more communication metrics associated with the first host device. A first set of one or more power metrics associated with the first host device, and A first set of one or more reliability metrics associated with the first host device; as well as Instructions for assigning workloads to at least the first host device are received from the workload scheduler device based on at least a first joint evaluation associated with one or more parameters: The first set of one or more computed metrics, The first set of one or more communication metrics, The first set of one or more power metrics, and The first set of one or more reliability metrics.
17. The first host device of claim 16, wherein the processing system is further configured to cause the first host device to: Based on the assignment to at least the first host device, information associated with the workload is sent to the client device requesting the workload.
18. The first host device of claim 16, wherein the processing system is further configured to cause the first host device to: A rejection of the assignment of the workload to the first host device is sent to the workload scheduler device based on one or more percentage metrics associated with the amount of resources used for one or more edge computing workloads including the workload at the first host device exceeding one or more threshold percentages.
19. The first host device of claim 61, wherein the processing system is further configured to cause the first host device to: Sending information to the workload scheduler device indicating that the first host device is processing an edge computing workload, the edge computing workload including the workload assigned to the first host device; and Receive link configuration information, which is associated with the first host device processing the edge computing workload, and guide the first host device from the second network device to the first network device.
20. The first host device of claim 16, wherein the processing system is further configured to cause the first host device to: The workload scheduler device receives an indication of pausing a workload request associated with a session-oriented workload type, based on one or more network congestion metrics.
21. The first host device of claim 16, wherein the processing system is further configured to cause the first host device to: The workload scheduler device sends information indicating one or more network congestion metrics associated with the cluster of edge devices, including the first host device.
22. The first host device of claim 16, wherein the processing system is further configured to cause the first host device to: Based on the preemption rate associated with the workload assigned to the cluster of edge devices including the first host device exceeding a threshold preemption rate, an indication to pause the workload request is received from the workload scheduler device.
23. The first host device of claim 16, wherein the processing system is further configured to cause the first host device to: The workload scheduler device sends information indicating that the preemption rate at the first host device exceeds a threshold preemption rate.
24. A method for performing connection-edge workload scheduling at a workload scheduler device, the method comprising: Receive information indicating one or more parameters associated with the workload via a request associated with the workload; as well as Instructions for assigning the workload to at least a first host device are sent based on at least a first joint evaluation associated with one or more of the parameters: A first set of one or more computed metrics associated with the first host device. A first set of one or more communication metrics associated with the first host device. A first set of one or more power metrics associated with the first host device, and A first set of one or more reliability metrics associated with the first host device.
25. The method according to claim 24, further comprising: A rejection of the assignment of the workload to the first host device is received from the first host device based on one or more percentage metrics associated with the amount of resources used for one or more edge computing workloads including the workload at the first host device exceeding one or more threshold percentages.
26. The method according to claim 25, further comprising: An instruction to update the assignment of the workload to at least a second host device is sent in connection with the rejection of the assignment to the first host device.
27. The method of claim 24, further comprising: Receive information indicating that the first host device is processing an edge computing workload, the edge computing workload including the workload assigned to the first host device; as well as Link configuration information is sent to the first host device or a first network device associated with the first host device, the link configuration information being associated with the first host device processing the edge computing workload to direct the first host device from the second network device to the first network device.
28. The method according to claim 24, further comprising: Receive information indicating one or more network congestion metrics associated with a cluster of edge devices including the first host device; as well as Instructions for pausing workload requests associated with session-oriented workload types are sent based on one or more network congestion metrics.
29. A method for performing connection edge workload scheduling at a first host device, the method comprising: Send the following information to the workload scheduler device: A first set of one or more computed metrics associated with the first host device. A first set of one or more communication metrics associated with the first host device. A first set of one or more power metrics associated with the first host device, and A first set of one or more reliability metrics associated with the first host device; as well as Instructions for assigning workloads to at least the first host device are received from the workload scheduler device based on at least a first joint evaluation associated with one or more parameters: The first set of one or more computed metrics, The first set of one or more communication metrics, The first set of one or more power metrics, and The first set of one or more reliability metrics.
30. The method according to claim 29, further comprising: Based on the assignment to at least the first host device, information associated with the workload is sent to the client device requesting the workload.