WO2018232746A1 - 用于边缘云中的资源管理的方法和装置 - Google Patents

用于边缘云中的资源管理的方法和装置 Download PDF

Info

Publication number
WO2018232746A1
WO2018232746A1 PCT/CN2017/089812 CN2017089812W WO2018232746A1 WO 2018232746 A1 WO2018232746 A1 WO 2018232746A1 CN 2017089812 W CN2017089812 W CN 2017089812W WO 2018232746 A1 WO2018232746 A1 WO 2018232746A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
reconfigurable
resources
hardware accelerator
functional unit
Prior art date
Application number
PCT/CN2017/089812
Other languages
English (en)
French (fr)
Inventor
万燕
龚朝华
Original Assignee
上海诺基亚贝尔股份有限公司
诺基亚通信公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海诺基亚贝尔股份有限公司, 诺基亚通信公司 filed Critical 上海诺基亚贝尔股份有限公司
Priority to PCT/CN2017/089812 priority Critical patent/WO2018232746A1/zh
Priority to CN201780091555.3A priority patent/CN110709818B/zh
Priority to EP17914467.0A priority patent/EP3644180A4/en
Priority to US16/625,287 priority patent/US11645090B2/en
Publication of WO2018232746A1 publication Critical patent/WO2018232746A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/0833Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network energy consumption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0203Power saving arrangements in the radio access network or backbone network of wireless communication networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15057FPGA field programmable gate array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • Embodiments of the present disclosure relate to an Edge Cloud, and more particularly to a method, apparatus, and computer program product for resource management in an edge cloud.
  • the edge cloud will be the solution for future wireless cellular communication systems including Mobile Edge Computing (MEC) and Cloud Radio Access Network (RAN).
  • MEC Mobile Edge Computing
  • RAN Cloud Radio Access Network
  • the characteristics of the edge cloud can be embodied as: edge computing, central processing, virtualization, dynamic computing resource management, and multi-standard and multi-radio access technology (RAT) support.
  • RAT multi-standard and multi-radio access technology
  • the Pure Generic Processing (GPP) platform cannot meet the real-time performance requirements that are the main features of traditional RAN systems.
  • GPP Pure Generic Processing
  • a physical layer with high real-time requirements and complex encryption algorithms can be implemented in a hardware accelerator, while other layers of the RAN as well as other functions can be implemented in the GPP platform.
  • GPP resources and hardware accelerator resources constitute a pool of heterogeneous computing resources in the edge cloud.
  • Embodiments of the present disclosure propose methods, apparatus, computer readable storage media, and computer program products for resource management in an edge cloud.
  • a brief summary of the various embodiments is provided below to provide a basic understanding of some aspects of various embodiments.
  • the content described in the Summary of the Invention is not intended to identify key elements or to describe the scope of the various embodiments. Rather, the description herein is merely to present some concepts in a simplified form.
  • a first aspect of the present disclosure provides a resource for managing resources in an edge cloud architecture
  • the resource includes a hardware accelerator resource
  • the hardware accelerator resource includes a reconfigurable partition with an external data interface.
  • the apparatus includes: an external control interface separate from the external data interface, a partial reconfiguration core (PRC) coupled to the external control interface, and an Internet Content Adaptation Protocol (ICAP) port connected to the reconfigurable partition; wherein the PRC is configured To: receive configuration control signaling and an image of a reconfigurable module (RM) via an external control interface, and perform configuration of the RM in a reconfigurable partition selected from the reconfigurable partitions via the ICAP port based on configuration control signaling Or reconfigure.
  • PRC partial reconfiguration core
  • ICAP Internet Content Adaptation Protocol
  • the hardware accelerator resource includes a plurality of reconfigurable partitions, and each of the plurality of reconfigurable partitions has a separate external data interface.
  • the hardware accelerator resource is a field programmable gate array (FPGA) based hardware resource.
  • FPGA field programmable gate array
  • the configuration control signaling is generated based on resource occupancy information of the RM and/or power consumption information of the hardware accelerator.
  • a second aspect of the present disclosure provides a method in a resource controller for managing resources in an edge cloud architecture, the resources including hardware accelerator resources and GPP resources.
  • the method includes obtaining resource occupancy of a reconfigurable functional unit associated with a hardware accelerator resource or a GPP resource, and/or power consumption of a hardware accelerator associated with a hardware accelerator resource, and/or power consumption of a server associated with the GPP resource And performing processing on the reconfigurable functional unit based on the acquired information, and processing includes at least one of configuration, reconfiguration, and migration.
  • a third aspect of the present disclosure provides a method for managing resources in an edge cloud architecture, the resources including hardware accelerator resources and GPP resources, and the edge cloud architecture further including a first agent associated with hardware accelerator resources, and with GPP The second agent associated with the resource.
  • the method is performed at a first agent or a second agent and includes: receiving a resource occupancy and power consumption report request from a resource controller; and transmitting a message to the resource controller in response to the received resource occupancy and power consumption report request Resource usage and power consumption reporting related to associated resources.
  • a fourth aspect of the present disclosure provides a method in a database for managing resources in an edge cloud architecture.
  • the resource includes hardware accelerator resources and GPP resources, and the method includes receiving an initial deployment request from the resource controller, wherein the initial deployment request includes a list of reconfigurable functional units; and transmitting the reconfigurable functionality included in the list to the resource controller Resource usage and power consumption information of the unit.
  • a fifth aspect of the present disclosure provides an apparatus comprising corresponding components for performing respective operations of the method according to the second aspect of the present disclosure.
  • a sixth aspect of the present disclosure provides an apparatus comprising corresponding components for performing respective operations of the method according to the third aspect of the present disclosure.
  • a seventh aspect of the present disclosure provides an apparatus comprising corresponding components for performing respective operations of the method according to the fourth aspect of the present disclosure.
  • An eighth aspect of the present disclosure provides an apparatus comprising a processor and a memory coupled to the processor, the memory including instructions stored therein, the instructions, when executed by the processor, cause the apparatus to perform according to the present disclosure Any of the methods described in the second, third, and fourth aspects.
  • a ninth aspect of the present disclosure provides a computer readable storage medium having program code stored therein, the program code, when executed by a device, causing the device to perform any of the second to fourth aspects of the present disclosure Said method.
  • a tenth aspect of the present disclosure provides an edge cloud system including at least one of the devices according to the first aspect, the fifth to eighth aspects of the present disclosure.
  • a method, apparatus, computer readable storage medium, computer program product or edge cloud system of an embodiment of the present disclosure enables new virtualization for hardware accelerator resources to be employed, and/or to make resource management of edge clouds more efficient, The system consumes less energy.
  • Figure 1 shows a schematic diagram of an alternative for virtualization of a hardware accelerator
  • FIG. 2 shows an architectural schematic of an edge cloud in accordance with an embodiment of the present disclosure
  • FIG. 3 illustrates example operations performed by the PRC in FIG. 2, in accordance with an embodiment of the present disclosure
  • FIG. 4 illustrates a flow diagram of a method for resource management in an edge cloud, in accordance with an embodiment of the present disclosure
  • FIG. 5 illustrates an example system structure for resource management in an edge cloud, in accordance with an embodiment of the present disclosure
  • FIG. 6 illustrates an example of an information item in a database in accordance with an embodiment of the present disclosure
  • FIG. 7 illustrates an example process for resource management in an edge cloud, in accordance with an embodiment of the present disclosure
  • FIG. 8 illustrates a flow diagram of another method for resource management in an edge cloud, in accordance with an embodiment of the present disclosure
  • FIG. 9 illustrates a flow diagram of yet another method for resource management in an edge cloud, in accordance with an embodiment of the present disclosure.
  • FIG. 10 shows a schematic structural diagram of another apparatus for resource management in an edge cloud, according to an embodiment of the present disclosure.
  • first, second, etc. are used only to distinguish one element from another. In fact, the first element can also be called the second element, and vice versa. It is also to be understood that the phrase “comprises” or “comprising” or “comprising” or “an”
  • the pure GPP platform cannot meet the real-time performance requirements of the RAN system.
  • the inventors of the present disclosure have found through extensive research that the GPP platform with the addition of a hardware accelerator is a potential option for the edge cloud hardware architecture.
  • a physical layer with high real-time requirements and complex encryption algorithms can be implemented in a hardware accelerator, while other layers of the RAN as well as other functions can be implemented in the GPP platform.
  • the following technical problems need to be solved:
  • Fully reconfigurable computing resources may include FPGA resources based on partial reconfiguration techniques and GPP resources based on virtualization technology.
  • reconfigurable entities such as reconfigurable FPGAs in hardware accelerators and virtual machines in GPP platforms are involved. All reconfigurable entities connected to the internal switching and reconfiguration controller can communicate with each other.
  • a partial reconfiguration technique is used to reconfigure the link to complete the reconfiguration operation from the reconfiguration controller.
  • a double data rate (DDR) memory 101 functions as an external memory and is used to temporarily store an image of a reconfigurable module (RM).
  • the reconfiguration controller 120 transmits reconfiguration control signaling and an image of the RM to the reconfigurable FPGA 100 via, for example, the 10GbE interface 102.
  • the data portion (i.e., image) of the RM is then buffered to an external memory such as DDR 101, and control signaling is sent to the partial reconfiguration core (PRC) module 103.
  • PRC partial reconfiguration core
  • the PRC 103 When the PRC 103 receives the reconfiguration command, it will acquire an image of the reconfigurable block from the external memory (DDR 101) and perform module reconfiguration in the selected reconfiguration partition 130 or 140. With the reconfiguration link 110, the modules implemented on the FPGA board 100 can be reconfigured in real time and support real-time migration between the reconfigurable FPGA 100 and GPP resources (not shown).
  • a resource control scheme has been proposed to control CPU resource scheduling and virtual base station migration. These include the use of a pool resource manager (PRM) and local resources to reduce the tidal effects of OPEX and CAPEX usage.
  • PRM pool resource manager
  • LRM Two-level resource management mechanism for the Manager
  • the goal of PRM is to perform host consolidation and reduce the number of hosts (load fusion) that are used in idle time. At busy times, the virtual BS hosted by the overloaded machine can be migrated to another machine under the control of the PRM.
  • the main responsibility of PRM is to be responsible for the migration of virtual BSs between hosts.
  • the goal of LRM is to handle load changes and load balancing between cores within the host.
  • the main responsibility of the LRM is to make the migration decision of the virtual BS in the host.
  • the PRM compares the processing load of each host with the overload threshold and the underload threshold, and then decides to migrate all virtual BSs to another host.
  • the resource control scheme is directed to the GPP platform for controlling CPU resource scheduling and virtual base station migration without considering accelerator resources in the cloud RAN system, and does not provide a method for managing heterogeneous computing resources.
  • Embodiments of the present disclosure propose new mechanisms for managing heterogeneous resources in an edge cloud.
  • the approaches presented in this disclosure include: solutions for improving virtualization of hardware accelerators (eg, FPGA-based accelerators), and unified resource management schemes for heterogeneous computing resources in edge clouds.
  • the virtualization of the accelerator is based on a partial reconfiguration technique, and the partially reconfigured link includes an external memory for storing reconfigurable FPGA images.
  • the external memory is removed and the reconfigurable FPGA image can be stored in a unified database rather than in the distributed memory of the accelerator board itself. This improvement simplifies the reconfiguration process and saves latency in transferring images to external memory.
  • the partially reconfigured link has the same interface for the data stream and the reconfigured stream, which leads to potential conflicts.
  • separate interfaces for partially reconfiguring data and an external communication interface for reconfigurable modules are designed. This makes the partial reconfiguration process have no effect on existing modules running on the same FPGA chip. This avoids potential data packet collisions and improves the performance of the reconfiguration module.
  • a new database structure is designed to store both virtual machine (VM) images and RM images.
  • VM virtual machine
  • RM RM images
  • the target is divided into a static module entry section and a dynamic module entry section.
  • a static module is a module that is implemented exclusively in a GPP or an accelerator
  • a dynamic module is a part that can be implemented in both GPP and hardware accelerator depending on the configuration of the heterogeneous controller. This partitioning makes it easy to control heterogeneous resources (eg, checking resource occupancy and power consumption for candidate entries).
  • a new mechanism for managing heterogeneous resources in an edge cloud is proposed.
  • This mechanism can be used in combination with other embodiments described above or separately.
  • the criteria of system QoS priority and minimum power are adopted.
  • heterogeneous resource controllers build edge clouds based on the system architecture. It takes an image of the required module and configures it in a virtual machine on the CPU or in a configurable partition in the hardware accelerator.
  • the heterogeneous resource controller can be determined based on the following criteria: first, the system's QoS requirements are met; and then the total power is kept to a minimum if the system QoS requirements are met.
  • decisions based on system requirements changes, which modules to migrate, and where to migrate can also be performed based on QoS prioritization and power minimum criteria.
  • FIG. 2 An example of an architecture 200 of a heterogeneous computing resource based edge cloud is illustrated in FIG. 2, in accordance with one embodiment of the present disclosure. Both the virtual radio access network and the virtual MEC functional elements are implemented in heterogeneous computing resources. In the present disclosure, functional elements are also referred to as functional modules or modules.
  • heterogeneous computing resources in edge cloud 200 include not only GPP platform 201 but also hardware accelerator 202.
  • the GPP platform 201 provides virtual CPUs, shared memory and other general purpose hardware resources.
  • Hardware accelerator 202 provides, for example, a configurable FPGA 212 and its peripherals. Functional and protocol layers with high real-time requirements or high complexity can be implemented in configurable hardware accelerator 202. Other general purpose programs and highly scalable functions can be implemented in the virtualized GPP platform 201.
  • Hardware accelerator 202 may be coupled to the GPP platform in the form of, for example, but not limited to, a Bus and Interface Standard (PCIe) card insertion server, or as a standalone hardware accelerator array.
  • the interface between the GPP platform 201 and the hardware accelerator 202 may be, for example, PCIe mode or 10GbE mode.
  • edge cloud 200 the virtual MEC 203 and the virtual RAN 204 or 205 can be implemented in the virtual machines 206-209.
  • the hosted hypervisor 210 provides virtualization and drivers for the virtual machines 206-209.
  • Hardware accelerator 202 and GPP 201 provide hardware for the edge cloud.
  • Connection 220 provides high speed internal and external connections in the edge cloud.
  • edge cloud 200 can support an access network network architecture such as pico cells, femto cells, WIFIs, macro cells, micro cells, and the like. Functions such as LTE, 5G, fixed access, and applications can be implemented in virtual machines (VMs), while those with high real-time requirements or high complexity can be configurable modules (RM) in configurable hardware accelerators 202. Implemented in .
  • the edge cloud 200 can be connected to the core network 290.
  • hardware accelerator 202 includes a reconfigurable partition (eg, 240, 250) having an external data interface (eg, 241, 251).
  • a reconfigurable partition eg, 240, 250
  • an external data interface eg, 241, 251
  • each reconfigurable partition 240-250 is shown with its own external data interface (241, 251), embodiments of the present disclosure are not limited thereto.
  • multiple reconfigurable partitions may have a common external data interface.
  • hardware accelerator 202 includes a reconfiguration link 230, as shown in FIG.
  • the reconfiguration link 230 includes an external control interface 231 (such as 10GbE) separate from the external data interface (241, 251), a partial reconfiguration core PRC 232 coupled to the external control interface 231, and a reconfigurable partition 240- 250 Internet Content Adaptation Protocol ICAP port 233.
  • an external control interface 231 such as 10GbE
  • configuration and reconfiguration of the RM in hardware accelerator 202 may be performed by reconfiguring link 230.
  • the PRC 232 can be configured to perform the operations of blocks 310-320 shown in FIG. That is, at block 310, an image of configuration control signaling and RM is received via external control interface 231, and at block 320, based on the configuration control signaling, the reselectable from reconfigurable partitions 240-250 via ICAP port 233 Perform configuration or reconfiguration of the RM in the configuration partition (for example, 240).
  • This example of the present disclosure is compared to the partially reconfigured link scheme shown in FIG.
  • the solution of the embodiment removes the external memory 101 of FIG. 1 for caching reconfigurable FPGA images.
  • the image of the reconfigurable FPGA can be flexibly obtained from any remote node.
  • the new approach of this example embodiment simplifies the reconfiguration process. It also saves the delay for transferring images to external memory.
  • the reconfigurable FPGA image can be stored in a unified database along with the virtual machine image to facilitate image management.
  • a separate interface is designed for the data stream and the control stream, ie, PRC 232.
  • the configuration control signaling and the image of the RM are received via an external control interface 231 separate from the external data interfaces 241, 251, avoiding conflicts with data transmission. This improves the performance of the reconfiguration module and simplifies the interface design.
  • the configuration control signaling received by the PRC 232 via the external control interface 231 may be generated based on resource occupancy information of the RM and/or power consumption information of the hardware accelerator.
  • the configuration control signaling can come from, for example, the resource controller 260 in the edge cloud 200.
  • a method for managing resources in an edge cloud architecture (eg, architecture 200 in FIG. 2) in a resource controller, including hardware accelerator resources and GPP resources, in accordance with an embodiment of the present disclosure is described below.
  • the method 400 can be performed by, for example, the resource controller 260 of FIG. 2, or a unit having similar functionality. To simplify the description, method 400 is described below with reference to resource controller 260 and edge cloud architecture 200 in FIG.
  • the resource controller 260 obtains at least one of the following: resource occupancy of a reconfigurable functional unit associated with hardware accelerator resource 202 or GPP resource 201, associated with hardware accelerator resource 202. The power consumption of hardware accelerator 212, and the power consumption of the server associated with GPP resource 201.
  • the resource controller 260 performs processing of the reconfigurable functional unit based on the acquired information, the processing including at least one of configuration, reconfiguration, and migration.
  • the reconfigurable functional unit may be, for example but not limited to, an RM or a VM.
  • edge cloud architecture 200 also includes hardware accelerator resources 202 An associated first agent, and a second agent associated with GPP resource 201. And in this embodiment, at block 410, the resource controller 260 can obtain resource occupancy and power consumption information for the associated hardware accelerator or server from the first agent and the second agent.
  • FIG. 5 An example system structure 500 that can be used to implement this embodiment of the present disclosure is shown in FIG. In Figure 5, an example of a variety of heterogeneous resources is shown.
  • the heterogeneous resource controller 260 controls configuration/reconfiguration/migration of reconfigurable functional units (eg, RM/VM) based on resource occupancy reports and power consumption reports from each of the available agents.
  • reconfigurable functional units eg, RM/VM
  • agent 513 which may be referred to as an a-agent located in accelerator 510 that is responsible for configuration/reconfiguration/migration of the RM and reports resource usage for each RM And the power consumption of each accelerator 510.
  • agent 520 located in the server that is responsible for controlling the configuration/reconfiguration/migration of the VM and reporting the resource usage of each VM and each server Power consumption.
  • agent 520 which may be referred to as a c-agent located in the server that is responsible for controlling the configuration/reconfiguration/migration of the VM and reporting the resource usage of each VM and each server Power consumption.
  • accelerator PCIe card 530 ie, hardware accelerator and GPP combined by PCIe card
  • the two agents 533 and 534 control the accelerator and the server, respectively.
  • the resource controller 260 can send resource occupancy and power consumption report requests to, for example, the agent 513 (or 533) and/or the agent 523 (or 534); and from the agent 513 and/or agent 523 receives the resource occupancy and power consumption report as a response to the report request.
  • resource controller 260 may obtain resource occupancy and power consumption information by receiving an external control signal from an external control module (not shown).
  • the resource controller 260 can obtain resource occupancy and power consumption information from a database.
  • the database may for example be the database 540 in FIG.
  • the resource controller 260 can send an initial deployment request to the database 540, wherein the initial deployment request includes a list of reconfigurable functional units; and the re-reset specified in the list received from the database 540 Configure resource consumption and power consumption information of the functional unit.
  • the database 540 can store implementation locations, resource usage, power consumption, and associated RM/VM images of reconfigurable functional units.
  • the database can be divided into two parts. The two parts respectively comprise information for static functional units that can only be implemented in hardware accelerator resources or can only be implemented in GPP resources, and for being able to be implemented in hardware accelerator resources or GPP resources according to system requirements. Dynamic functional unit information. An example of an information entry 610 for a static module and an information entry 620 for a dynamic module is shown in FIG.
  • the information entry 610 for the static functional unit may include, but is not limited to: an index 611 of the static functional unit, a name 612, a location 613, a resource occupancy 614, a power consumption 615, a supported throughput 616. And real-time performance 617.
  • “Location” 613 indicates where the static functional unit is configured (GPP or Accelerator).
  • "Resource occupancy” 614 and “power consumption” 615 indicate the CPU/FPGA resources and power consumption that the static functional unit occupies when configured, respectively.
  • "Supported Throughput” 616 and "Real Time Performance” 617 indicate QoS parameters. It should be understood that in some embodiments, some of the information in the entry 610 may be omitted and/or the entry 610 may include additional information.
  • the information item 620 for the dynamic function unit includes: an index, a name, and a location, resource occupancy, power consumption, and support of the dynamic function unit when the hardware function unit is configured in the hardware accelerator resource and the GPP resource, respectively.
  • Throughput and real-time performance The 621 part records the location/resource occupancy/power consumption/performance when the dynamic functional unit is configured/reconfigured in the FPGA of the accelerator; and the 622 part is recorded when the dynamic functional unit is configured/reconfigured in the GPP/ Resource occupancy / power consumption / performance.
  • the resource controller 260 can perform configuration, reconfiguration, or migration of the reconfigurable functional unit based on the acquired information such that system quality of service (QoS) is prioritized and overall power is satisfied Booking requirements.
  • QoS quality of service
  • resource controller 260 can perform reconfigurable functional units based on the acquired information in accordance with quality of service (QoS) prioritization and power minimization criteria. Configuration, reconfiguration, or migration.
  • the resource controller 260 when managing computing resources of the edge cloud, can satisfy two criteria: the first criterion is QoS priority, which means that when performing heterogeneous resource configuration/reconfiguration operations The QoS requirements of the system should be met first; the second criterion is minimum power, which means that when deploying the system or performing dynamic configuration/reconfiguration, the overall power should be kept to a minimum when the QoS requirements are met.
  • QoS priority QoS priority
  • minimum power which means that when deploying the system or performing dynamic configuration/reconfiguration, the overall power should be kept to a minimum when the QoS requirements are met.
  • the resource controller 260 can determine (a list of) reconfigurable functional units to be configured, reconfigured, or migrated based on the acquired information, in accordance with QoS prioritization and power minimization criteria; from the database Acquiring an image of the determined reconfigurable functional unit; and performing configuration, reconfiguration, or migration of the determined reconfigurable functional unit using the acquired image.
  • resource controller 260 may perform the configuration, reconfiguration, or migration of the determined reconfigurable functional unit through a proxy (eg, 513-5124 in FIG. 5).
  • resource controller 260 can send a reconfiguration operation request to an agent associated with the respective resource based on one or more predetermined criteria to perform a reconfiguration or migration operation on the determined reconfigurable functional unit. Examples of such criteria include, but are not limited to:
  • Criterion 1 When the overall system resource usage is below the first threshold, the reconfiguration or migration operation is such that the hardware accelerator or server used by the reconfigurable functional unit is reduced, ie the reconfigurable functional unit is concentrated on fewer hardware accelerators. Or in the server to achieve power minimization, and
  • Criterion 2 When the overall system resource occupancy is above a second threshold, the reconfiguration or migration operation is such that the hardware accelerator or server to which the reconfigurable functional unit is distributed is increased, ie the reconfigurable functional unit is dispersed to more Hardware accelerator or server to meet system requirements.
  • the resource controller 260 can calculate based on the report from the agent when the total system resource occupancy is below the resource threshold (threshold - low) The total power consumption of the system is selected and the optimal configuration list is selected to minimize the overall power consumption.
  • Resource controller 260 A "dynamic reconfiguration request" can be sent to the database 540 to request an image of the determined reconfigurable functional unit, and an image of the requested reconfigurable functional unit is read from the database 540.
  • resource controller 260 can begin VM/RM reconfiguration/migration by sending a "dynamic reconfiguration operation request" to the corresponding agent.
  • the VM/RM can be centralized into fewer servers or fewer accelerators, so that idle servers and idle accelerators can enter a power save mode.
  • some VMs that were originally implemented on the GPP can also be migrated to the RM in the accelerator, and vice versa.
  • the agent when it can complete the VM/RM reconfiguration/migration operation one by one or in parallel, it can send a "dynamic reconfiguration operation complete" to the resource controller 260 to inform the reconfiguration/migration operation to complete. That is, resource controller 260 can optionally receive a reconfiguration/migration operation completion message from the proxy.
  • the resource controller 260 can perform a process similar to the above when the total system resource occupancy is above the resource threshold (threshold-high). The difference is that when the reconfiguration/migration is complete, the VM/RM is spread across more servers or more accelerators to meet system requirements.
  • method 400 can also include block 430 in which resource controller 260 updates database 540 with information of reconfigurable or migrated reconfigurable functional units.
  • the agent (513, 523, 533, or 534) may send a resource/power report of the reconfigurable functional unit that was reconfigured or migrated back to the resource controller 260, which may then notify the database 540 to complete the entry. Update operation.
  • an example process 700 for resource control which may be considered a particular embodiment of method 400, is illustrated in accordance with an embodiment of the present disclosure.
  • the example process involves a signaling process between the resource controller 260, the database 540, and the agent (one or more of 513, 523, 533, 534).
  • the resource controller 260 touches Initial deployment (710).
  • the resource controller 260 sends (711) an "initial deployment request" to the database 540, which includes a list of configuration modules.
  • the database 540 receives the request, it sends (712) the resource controller 260 the resource occupancy and power consumption information of the requested configuration module via "resource/power information.”
  • resource controller 260 can calculate (not shown) all of the provided throughput and perform performance analysis.
  • the resource controller 260 can send (713) an "initial deployment image request" to the database 540 and (e.g., one by one) read (714) the requested image in the request list.
  • resource controller 260 can send (715) an "initial VM/RM configuration request" to the corresponding agent (513, 523, 533, or 534) to establish the VM in a dedicated GPP platform or Establish RM in a dedicated accelerator.
  • the associated agent (513, 523, 533 or 534) configures (716) the virtual machine or RM in the GPP/accelerator and sends (717) "Initial VM/RM Configuration Complete" to the resource controller 260 to inform the initial deployment that carry out.
  • the requested VM/RM should be configured (eg, one by one) as described above.
  • the resource controller 260 can select another configuration list and perform the above process again.
  • resource controller 260 can (e.g., periodically) send (720) "VM/RM Report Request" to the designated or each agent and receive (721) resource occupancy and power consumption reports from the agent. . Thereafter, resource controller 260 can send (722) an "entry update request" to database 540 to update the entry information for the corresponding VM/RM image. Database 540 performs an update of the database entry (723) and sends (724) an "Entry Update Complete" message to resource controller 260. This operation can be performed periodically.
  • resource controller 260 can perform dynamic reconfiguration/migration of VM or/and RM (731). This dynamic reconfiguration/migration can be triggered by an external signal (730) or by a resource/power report from an agent (513, 523, 533 or 534).
  • the resource controller 260 can calculate the total power consumption of the system based on the report from the agent and select the optimal configuration list to minimize the overall power consumption. The resource controller 260 can then send (732) a "dynamic reconfiguration request" to the database 540 and begin reading (733) the requested image from the database 540. Once a complete image is retrieved from the database, resource controller 260 can begin VM/RM reconfiguration/migration by sending (734) a "dynamic reconfiguration operation request" to the corresponding agent.
  • a "dynamic reconfiguration operation complete” is sent (736) to the resource controller 260 to notify completion of the reconfiguration/migration operation. Thereafter, the VM/RM is centralized into fewer servers or fewer accelerators. In one embodiment, to save system power, even some of the VMs implemented on the GPP can be migrated to the RM in the accelerator based on the above process. This allows idle servers and idle accelerators to enter power save mode.
  • resource controller 260 can send (740) a "VM/RM Report Request” to a designated or each agent and receive (741) a resource occupancy and power consumption report from the agent. Thereafter, resource controller 260 can send (742) an "entry update request" to database 540 to update the entry information for the corresponding VM/RM image. The database 540 performs an update of the database entry (743) and sends (744) an "entry update complete" message to the resource controller 260.
  • the external control module can trigger a system reconfiguration/migration operation through an external control entity.
  • the external control entity can be an editor such as OpenStack.
  • the external editing controller can send a reconfiguration/migration signal to the resource controller 260, which will search for idle resources and/or centralized heterogeneous computing. Resources to establish high quality communication links for special emergency needs.
  • FIG. 8 illustrates another method 800 for managing resources in an edge cloud architecture, such as architecture 200 in FIG. 2, in accordance with an embodiment of the present disclosure.
  • the resources may include, for example, hardware accelerator resources and GPP resources.
  • the edge cloud architecture further includes a first agent (eg, 513 or 533 in FIG. 5) associated with the hardware accelerator resource, and a second agent (eg, 523 or 534 in FIG. 5) associated with the GPP resource.
  • the method can be performed at the first agent or the second agent.
  • the embodiment will be described in conjunction with the agent 513/523 and the example architecture 500 in FIG. 5, however, as can be understood by those skilled in the art based on the teachings herein, the method can also be used in other devices having similar functions. Execution.
  • the agent 513/523 receives a resource occupancy and power consumption report request from the resource controller 260; and at block 820, in response to the received resource occupancy and power consumption report request, the agent 513/523 A resource occupancy and power consumption report related to the associated resource is sent to resource controller 260.
  • the resource occupancy and transmission of the power consumption report enables the resource controller 260 to effectively control the reconfiguration or migration of the reconfigurable functional unit RM or VM, enabling efficient use of resources and reducing system energy consumption.
  • the agent 511/323 may perform reconfiguration or migration of the reconfigurable functional unit RM or VM under the control of the resource controller 260.
  • the agent 513/523 can receive a configuration request from the resource controller 260 that includes a list of reconfigurable functional units to be configured, reconfigured, or migrated; at block 840, The proxy 513/523 performs configuration, reconfiguration, or migration of the reconfigurable functional units in the list based on the received configuration request.
  • the agent 513 / 523 may send a configuration complete message to the resource controller 260 at block 850 upon completion of the configuration, reconfiguration, or migration. An example of this operation has been described above in connection with 715-717 or 734-736 of FIG.
  • FIG. 9 illustrates yet another method 900 for managing resources in an edge cloud architecture, such as architecture 200 in FIG. 2, in accordance with an embodiment of the present disclosure.
  • the resources may include, for example, hardware accelerator resources and GPP resources.
  • the method can be in a database (such as the data in Figure 5) Executed in library 540).
  • a database such as the data in Figure 5
  • Executed in library 540 Executed in library 540.
  • the embodiment will be described in conjunction with the database 540 and the example architecture 500 in FIG. 5, however, as will be understood by those skilled in the art based on the teachings herein, the method can also be performed at other devices having similar functions. .
  • database 540 receives an initial deployment request from resource controller 260, wherein the initial deployment request includes a list of reconfigurable functional units; and at block 920, database 540 sends a list to resource controller 260 Resource occupancy and power consumption information for reconfigurable functional units included.
  • the resource occupancy and transmission of the power consumption report enables the resource controller 260 to effectively control the configuration, reconfiguration, or migration of the reconfigurable functional unit RM or VM, enabling efficient use of resources and reducing system power consumption.
  • the information items in the database may have the structure shown in Figure 6, i.e., the information of the database is divided into information for static functional units and information for dynamic functional units. This structure facilitates the management and control of information.
  • database 540 may receive an image request for reconfigurable functional unit from resource controller 260 at block 930; and at block 940, in response to the request, to the resource controller 260 sends an image of the corresponding reconfigurable functional unit.
  • Storing images of configurable functional units in database 540 may simplify the reconfiguration process and save time delays for transferring images to external memory relative to the scheme of storing images of configurable functional units with DDR 101 in FIG.
  • the data 540 may receive an information update request for the reconfigurable functional unit from the resource controller 260 at block 950; and at block 960, based on the information update request, the update may Reconfigure information about a functional unit (for example, resource usage, power consumption, and one or more of the images).
  • database 540 may send an information update complete message to resource controller 260 upon completion of the update.
  • the structure of a first example apparatus for managing resources in an edge cloud architecture is described below.
  • the edge cloud architecture can be, for example but not limited to, as shown in FIG. 2, and the resources can include hardware accelerator resources and GPP resources.
  • the first example device 1 can be implemented It is a resource controller (such as resource controller 260 in Figure 2 or Figure 5) or a part thereof.
  • the first example apparatus may perform the method 400 described with reference to FIG. 4, but is not limited to performing the method 400. Also, the method 400 can be performed by the first example apparatus, but is not limited to being performed by the first example apparatus. For example, at least some of the operations of method 400 can be performed by other devices.
  • the first example apparatus may include an information acquisition unit and a configuration control unit.
  • the information acquisition unit is configured to obtain at least one of: resource occupancy of a reconfigurable functional unit associated with the hardware accelerator resource or the GPP resource, power consumption of a hardware accelerator associated with the hardware accelerator resource And power consumption of a server associated with the GPP resource.
  • the configuration control unit is configured to perform processing of the reconfigurable functional unit based on the acquired information, the processing including at least one of configuration, reconfiguration, and migration.
  • the first example apparatus can further include an information update control unit configured to update information of the reconfigured or migrated reconfigurable functional unit to a database (eg, database 540 of FIG. 5).
  • a database eg, database 540 of FIG. 5
  • the edge cloud architecture can be, for example but not limited to, as shown in FIG. 2, and the resources can include hardware accelerator resources and GPP resources.
  • the edge cloud architecture also includes a first agent associated with the hardware accelerator resource and a second agent associated with the GPP resource.
  • the second example apparatus may be implemented as a first agent or a second agent (e.g., 513-533, 534 in Figure 5) or a portion thereof.
  • the second example apparatus may perform the method 800 described with reference to FIG. 8, but is not limited to performing the method 800. Also the method 800 can be performed by the second example apparatus, but is not limited to being performed by the second example apparatus. For example, at least some of the operations of method 800 can be performed by other devices.
  • the second example apparatus can include a first receiving unit and a first transmitting unit.
  • the first receiving unit is configured to receive a resource occupancy and power consumption report request from a resource controller.
  • the first transmitting unit is configured to respond to received resource occupancy and power consumption Reporting a request to send a resource occupancy and power consumption report related to the associated resource to the resource controller.
  • the second example apparatus may alternatively or additionally include a second receiving unit, a configuration unit and a second transmitting unit.
  • the second receiving unit can be configured to receive a configuration request from the resource controller, the configuration request including a list of reconfigurable functional units to be configured, reconfigured, or migrated.
  • the configuration unit can be configured to perform configuration, reconfiguration, migration of the reconfigurable functional unit in the list based on the received configuration request.
  • the second sending unit can be configured to send a configuration complete message to the resource controller upon completion of configuration, reconfiguration, or migration.
  • the edge cloud architecture can be, for example but not limited to, as shown in FIG. 2, and the resources can include hardware accelerator resources and GPP resources.
  • the third example apparatus can be implemented as a database (e.g., 540 in Figure 5) or a portion thereof.
  • the third example apparatus may perform the method 900 described with reference to FIG. 9, but is not limited to performing the method 900.
  • the method 900 can be performed by the third example apparatus, but is not limited to being performed by the third example apparatus. For example, at least some of the operations of method 900 can be performed by other devices.
  • the third example apparatus may include a receiving unit and a transmitting unit.
  • the receiving unit can be configured to receive an initial deployment request from the resource controller, wherein the initial deployment request includes a list of reconfigurable functional units, and the transmitting unit can be configured to send the reconfigurable functionality included in the list to the resource controller Resource usage and power consumption information of the unit.
  • the third example device may store information for the static functional unit and information for the dynamic functional unit separately for ease of management.
  • the information for the static functional unit and the information for the dynamic functional unit may have, for example but without limitation, the structure shown in FIG. 6.
  • the receiving unit is further configurable to receive from the resource controller An image request to reconfigurable functional unit
  • the transmitting unit may be further configured to transmit an image of the reconfigurable functional unit to the resource controller in response to the image request.
  • the third example apparatus may further include an update request receiving unit, an update unit, and a reporting unit.
  • the update request receiving unit may be configured to receive an information update request of the reconfigurable functional unit from the resource controller.
  • the update unit may be configured to update the information of the reconfigurable functional unit based on the information update request.
  • the reporting unit can be configured to send an information update complete message to the resource controller upon completion of the update.
  • FIG. 10 shows a simplified block diagram of an apparatus 1000 suitable for implementing embodiments of the present disclosure.
  • Apparatus 1000 can be used to implement a reconfiguration link (e.g., reconfiguration link 230 in FIG. 2), a resource controller (e.g., resource controller 260 in FIG. 5), an agent (e.g., in FIG. 5) operating as described above.
  • device 1000 includes one or more processors 1010, one or more memories 1020 coupled to processor 1010, and one or more transmitters and/or receivers coupled to processor 1310 (TX/ RX) 1040.
  • Processor 1010 may be of any suitable type suitable for use in a local technology environment and may include, but is not limited to, general purpose computers, special purpose computers, microcontrollers, digital signal controllers (DSPs), and controller-based multi-core controller architectures. One or more multiple. Device 1000 may also include multiple processors, such as an application specific integrated circuit that is time dependent on the clock of the synchronous host processor.
  • Memory 1020 can be of any suitable type suitable for use in a local technical environment and can be implemented using any suitable data storage technology, including, by way of non-limiting example, non-transitory computer readable media, semiconductor based memory devices, magnetic Storage devices and systems, optical storage devices and systems, fixed storage, and removable storage. Although only one memory unit is shown in FIG. 10, it may be in device 1000. There are multiple physically different memory cells.
  • Memory 1020 stores at least a portion of program 1030.
  • the TX/RX 1040 is used for bilateral communication.
  • the communication interface in the figure may represent any interface needed to communicate with other network elements.
  • Program 1030 includes program instructions that, when executed by an associated processor, cause device 1000 to perform operations in accordance with embodiments of the present disclosure, as described with reference to Figures 2-9. That is, embodiments of the present disclosure may be implemented by computer software executable by the processor 1010 and the device 1000, or by a combination of software and hardware. For example, when device 1000 acts as a resource controller, processor 1010 executes instructions 1030 stored in memory 1020 such that the resource controller implements method 400 described above with respect to Figures 4-7. All of the features described above with reference to FIGS. 2-9 are applicable to device 1000, and are not described herein again.
  • An aspect of the present disclosure also provides an edge cloud system.
  • the edge cloud system may have, for example, the architecture shown in FIG. 2 or FIG. 5, and includes a reconfiguration link 230, a first example device, a second example device, a third example device, and in accordance with an embodiment of the present disclosure. At least one of the devices 1000 is for management of resources.
  • the various example embodiments of the present disclosure can be implemented in hardware or special purpose circuits, software, logic, or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which can be executed by a controller, microprocessor or other computing device.
  • firmware or software which can be executed by a controller, microprocessor or other computing device.
  • embodiments of the present disclosure may also be described in the context of machine-executable instructions, such as in a program module that is executed in a device on a real or virtual processor of a target.
  • program modules include routines, programs, libraries, objects, classes, components, data structures, and the like that perform particular tasks or implement particular abstract data structures.
  • the functionality of the program module can be The described program modules are merged or split between modules.
  • Machine-executable instructions for program modules can be executed within a local or distributed device. In a distributed device, program modules can be located in both local and remote storage media.
  • Computer program code for implementing the methods of the present disclosure can be written in one or more programming languages.
  • the computer program code can be provided to a general purpose computer, a special purpose computer or a processor of other programmable data processing apparatus such that the program code, when executed by a computer or other programmable data processing apparatus, causes a flowchart and/or block diagram.
  • the functions/operations specified in are implemented.
  • the program code can execute entirely on the computer, partly on the computer, as a stand-alone software package, partly on the computer and partly on the remote computer or entirely on the remote computer or server.
  • a machine-readable medium can be any tangible medium that contains or stores a program for or relating to an instruction execution system, apparatus, or device.
  • the machine readable medium can be a machine readable signal medium or a machine readable storage medium.
  • a machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More detailed examples of machine readable storage media include electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only Memory (EPROM or flash memory), optical storage device, magnetic storage device, or any suitable combination thereof.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Mathematical Physics (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)

Abstract

本公开的实施例提出了用于边缘云中的资源管理的方法和装置。一种方法包括:获取以下信息中的至少一项:与硬件加速器资源或者通用处理(GPP)资源关联的可重新配置功能单元的资源占用,与硬件加速器资源关联的硬件加速器的功率消耗,以及与GPP资源关联的服务器的功率消耗;以及基于所获取的信息执行对可重新配置功能单元的处理,所述处理包括配置、重新配置和迁移中的至少一个。本公开的实施例的方法和装置使得边缘云的资源管理更加高效,系统能耗更低,并且/或者使得能够采用针对硬件加速器资源的更高效的虚拟化机制。

Description

用于边缘云中的资源管理的方法和装置 技术领域
本公开的实施例涉及边缘云(Edge Cloud),并且更具体地涉及用于边缘云中的资源管理的方法、装置和计算机程序产品。
背景技术
边缘云将是用于未来的包括移动边缘计算(MEC)和云无线电接入网络(RAN)的无线蜂窝通信系统的解决方案。边缘云的特征可以体现为:边缘计算、中央处理、虚拟化、动态计算资源管理、以及多标准和多无线电接入技术(RAT)支持。
在边缘云架构中,纯通用处理(GPP)平台不能够满足作为传统RAN系统的主要特征的实时性能要求。研究表明,向GPP平台添加硬件加速器是用于边缘云硬件架构的一种潜在的选项。例如,具有高实时要求和复杂的加密算法的物理层可以在硬件加速器中实施,而RAN的其它层以及其它功能可以在GPP平台中实施。GPP资源和硬件加速器资源(以及可能的其它类型资源)构成了边缘云中的异构计算资源池。
发明内容
本公开的实施例提出了用于边缘云中的资源管理的方法、装置、计算机可读存储介质和计算机程序产品。下面给出了对各实施例的简要概述,以提供对各种实施例的一些方面的基本理解。发明内容部分所记载的内容并非旨在标识关键元素的要点或描述各种实施例的范围。相反,在此描述的内容仅仅是为了以简化形式呈现一些概念,作为对下文具体描述的前序。
本公开的第一方面提供了一种用于管理边缘云架构中的资源的 装置,资源包括硬件加速器资源,硬件加速器资源包括具有外部数据接口的可重新配置分区。该装置包括:与外部数据接口分离的外部控制接口,耦合到外部控制接口的部分重新配置核心(PRC),以及连接到可重新配置分区的因特网内容适配协议(ICAP)端口;其中PRC被配置为:经由外部控制接口接收配置控制信令和可重新配置模块(RM)的图像,以及基于配置控制信令经由ICAP端口在从可重新配置分区中选择的可重新配置分区中执行对RM的配置或者重新配置。
在一个实施例中,硬件加速器资源包括多个可重新配置分区,并且多个可重新配置分区中的每个可重新配置分区具有单独的外部数据接口。
在另一实施例中,硬件加速器资源为基于现场可编程门阵列(FPGA)的硬件资源。
在又一实施例中,配置控制信令是基于RM的资源占用信息和/或硬件加速器的功率消耗信息而生成的。
本公开的第二方面提供了一种在资源控制器中的用于管理边缘云架构中的资源的方法,资源包括硬件加速器资源和GPP资源。该方法包括:获取与硬件加速器资源或者GPP资源关联的可重新配置功能单元的资源占用,和/或与硬件加速器资源关联的硬件加速器的功率消耗,以及/或者与GPP资源关联的服务器的功率消耗;以及基于所获取的所述信息执行对可重新配置功能单元的处理,并且处理包括配置、重新配置和迁移中的至少一个。
本公开的第三方面提供了一种用于管理边缘云架构中的资源的方法,资源包括硬件加速器资源和GPP资源,并且边缘云架构还包括与硬件加速器资源关联的第一代理、以及与GPP资源关联的第二代理。该方法在第一代理或者第二代理处执行,并且包括:从资源控制器接收资源占用和功率消耗报告请求;以及响应于所接收的资源占用和功率消耗报告请求,向资源控制器发送与所关联的资源有关的资源占用和功率消耗报告。
本公开的第四方面提供了一种在数据库中的用于管理边缘云架构中的资源的方法。资源包括硬件加速器资源和GPP资源,并且该方法包括:从资源控制器接收初始部署请求,其中初始部署请求包括可重新配置功能单元的列表;以及向资源控制器发送列表中包括的可重新配置功能单元的资源占用和功率消耗信息。
本公开的第五方面提供了一种装置,该装置包括相应的部件,用于执行根据本公开的第二方面所述的方法的相应操作。
本公开的第六方面提供了一种装置,该装置包括相应的部件,用于执行根据本公开的第三方面所述的方法的相应操作。
本公开的第七方面提供了一种装置,该装置包括相应的部件,用于执行根据本公开的第四方面所述的方法的相应操作。
本公开的第八方面提供了一种装置,该装置包括处理器和与该处理器耦合的存储器,该存储器包含存储在其中的指令,指令在由该处理器执行时使得该装置执行根据本公开的第二、三、四方面所述的任一方法。
本公开的第九方面提供了一种具有存储在其中的程序代码的计算机可读存储介质,程序代码在由装置执行时促使该装置执行根据本公开的第二方面到第四方面中任一方面所述的方法。
本公开的第十方面提供了一种边缘云系统,所述边缘云系统包括根据本公开的第一方面、第五到八方面中所述的装置中的至少一个。
本公开的实施例的方法、装置、计算机可读存储介质、计算机程序产品或者边缘云系统,使得能够采用针对硬件加速器资源的新的虚拟化,并且/或者,使得边缘云的资源管理更加高效,系统能耗更低。
尽管在附图中通过示例的方式示出了特定的实施例,然而,应当理解,本文的具体实施例的描述不意在将实施例限制为所公开的具体形式。
附图说明
从下文的公开内容和权利要求中,本公开的目的、优点和其他特征将变得更加明显。这里仅出于示例的目的,参考附图来给出示例性实施例的非限制性描述,在附图中:
图1示出了用于硬件加速器的虚拟化的可选方案的示意图;
图2示出了根据本公开的实施例的边缘云的架构示意图;
图3示出了根据本公开的实施例的由图2中的PRC执行的示例操作;
图4示出了根据本公开的实施例的用于边缘云中的资源管理的方法的流程图;
图5示出了根据本公开的实施例的用于边缘云中的资源管理的示例系统结构;
图6示出了根据本公开的实施例的数据库中的信息条目的示例;
图7示出了根据本公开的实施例的用于边缘云中的资源管理的示例处理;
图8示出了根据本公开的实施例的用于边缘云中的资源管理的另一方法的流程图;
图9示出了根据本公开的实施例的用于边缘云中的资源管理的又一方法的流程图;以及
图10示出了根据本公开的实施例的用于边缘云中的资源管理的另一装置的示意性结构图。
具体实施方式
在以下描述中,出于说明的目的而阐述许多细节。然而,本领域普通技术人员将认识到可以在不使用这些具体细节的情况下实现本公开的实施例。因此,本公开不旨在于受限于所示实施例、而是将被赋予与本文描述的原理和特征一致的最宽的范围。
应当理解,说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用仅是指示所描述的实施例可以包括特定特征、结 构或特性,但是不要求每个实施例都包括该特定特征、结构或特性。此外,这样的短语不一定指代相同的实施例。此外,所有这些实施例仅为本领域技术人员更好地理解和进一步实施本公开而给出,而不是用于限制本公开的范围。例如,作为一个实施例的一部分示出或描述的特征可以与另一个实施例一起使用以产生又一个实施例。为了清楚起见,在本说明书中描述的实际实现的一些特征可以被省略.
另外,术语“第一”、“第二”等仅被用来将一个元素与另一个元素区分开来。而实际上第一元素也能够被称为第二元素,反之亦然。另外还应当理解“包括”,“包含”仅被用来说明所陈述的特征、元素、功能或者部件的存在,然而并不排除存在一个或者多个其他的特征、元素、功能或者部件。
在边缘云架构中,纯GPP平台不能满足RAN系统的实时性能要求。本公开的发明人通过大量研究发现,添加了硬件加速器的GPP平台是用于边缘云硬件架构的一种潜在的选项。例如,具有高实时要求和复杂的加密算法的物理层可以在硬件加速器中实施,而RAN的其它层以及其它功能可以在GPP平台中实施。而为了实现边缘云中的包括GPP资源和硬件加速器资源的异构计算资源池的管理,需要解决例如如下技术问题:
首先,包括GPP和硬件加速器的所有异构计算资源应当被虚拟化,并且被边缘云中的功能实体共享。在GPP平台上实现计算资源的虚拟化比较容易,诸如KVM,vmWare,Linux容器等的虚拟化软件可以提供GPP平台上的虚拟化。然而,目前关于硬件加速器的虚拟化的研究却很少。
而且,由于经虚拟化的GPP资源和经虚拟化的加速器资源应当充当用于边缘云的计算资源,因此,需要统一的计算资源控制器来管理边缘云中的这些资源。
一种用于虚拟化的可选方案是:使用用于完全可重新配置的计算资源的控制机制,其中基于FPGA的部分重新配置技术来实现硬 件加速器的虚拟化。完全可重新配置的计算资源可以包括基于部分重新配置技术的FPGA资源和基于虚拟化技术的GPP资源。在完全可重新配置的云RAN中,涉及诸如硬件加速器中的可重新配置的FPGA和GPP平台中的虚拟机的可重新配置实体。连接到内部交换和重新配置控制器的所有可重新配置实体可以彼此通信。在该虚拟化方案中,利用部分重新配置技术建立了重新配置链路以完成来自重新配置控制器的重新配置操作。
在图1中示出了可重新配置FPGA 100和重新配置链路110的结构。如图1所示,该方案中,双数据速率(DDR)存储器101充当外部存储器并且被用于临时存储可重新配置模块(RM)的图像。重新配置控制器120通过,例如,10GbE的接口102,向可重新配置FPGA 100发送重新配置控制信令以及RM的图像。然后RM的数据部分(即,图像),被缓存到诸如DDR 101的外部存储器,而控制信令则被发送到部分重新配置核心(PRC)模块103。当PRC 103接收到重新配置命令时,其将从外部存储器(DDR 101)获取可重新配置块的图像,并且在选中的重新配置分区130或者140中执行模块重新配置。利用重新配置链路110,在FPGA板100上实现的模块能够被实时地重新配置,并且支持可重新配置FPGA 100和GPP资源(未示出)间的实时的迁移。
尽管该方案能够实现硬件加速器的虚拟化,然而其虚拟化结构存在如下不足。其一,由于在外部存储器(诸如DDR)中存储RM的图像,导致占用硬件加速器板上的存储器资源,并且增加重新配置的时间。其二,由于部分重新配置链路对于数据流和图像流具有相同的接口,这可能带来数据分组和图像分组间的潜在冲突,尤其是在一个RM准备在一个重新配置分区中被重新配置而同时另一个RM正在同一FPGA芯片上其自己的分区中运行时。
另外,针对纯GPP平台,已经提出了资源控制方案,用以控制CPU资源调度和虚拟基站迁移。其中包括为了减少OPEX和CAPEX使用的潮汐效应,使用一种包括池资源管理器(PRM)和本地资源 管理器(LRM)的两级的资源管理机制。PRM的目标是执行主机合并、并且减少在闲时中被使用的主机的数目(负载融合)。在繁忙时,被过载的机器所托管的虚拟BS可以在PRM的控制下被迁移到另外的机器。PRM的主要职责是负责主机间的虚拟BS的迁移。LRM的目标是处理主机内的核心之间的负载变化和负载的平衡。即,LRM的主要职责是进行主机内虚拟BS的迁移决策。基于来自LRM的CPU使用报告,PRM将每个主机的处理负载和过载阈值和欠载阈值进行比较,然后决定将所有的虚拟BS迁移到另一主机。然而该方案中同样存在一些限制。例如,该资源控制方案针对GPP平台,用于控制CPU资源调度和虚拟基站迁移,而并没有考虑云RAN系统中的加速器资源,并且没有提供用于管理异构计算资源的方法。
本公开的实施例提出了用于管理边缘云中的异构资源的新机制。概括而言,在本公开中提出的方案包括:用于改进硬件加速器(例如基于FPGA的加速器)的虚拟化的方案,以及用于边缘云中的异构计算资源的统一的资源管理方案。
如前所述,在虚拟化的一种可选方案中,加速器的虚拟化基于部分重新配置技术,并且部分重新配置链路包括外部存储器,以用于存储可重新配置的FPGA图像。在本公开的一些实施例中,去除了该外部存储器,并且可以将可重新配置的FPGA图像存储在统一的数据库中,而不是加速器板自身的分布式的存储器中。这一改进可以简化重新配置过程,并且节省将图像传送到外部存储器的时延。
另外,在如前所述的该可选方案中,部分重新配置链路对于数据流和重新配置流具有相同的接口,这导致潜在的冲突。而在本公开的一些实施例中,设计了分别用于部分重新配置数据的独立的接口和用于可重新配置模块的外部通信接口。这使得部分重新配置过程对于在同一FPGA芯片上运行的现有模块没有影响。这可以避免潜在的数据分组冲突并且改进重新配置模块的性能。
在本公开的又一些实施例中,设计了新的数据库结构用以存储虚拟机(VM)图像和RM图像两者。其中,关于VM/RM的信息条 目被分为静态模块条目部分和动态模块条目部分。静态模块为专门地在GPP或者加速器中实现的模块,而动态模块为取决于异构控制器的配置可以在GPP和硬件加速器两者中实现的部分。该划分使得异构资源控制(例如,检查针对候选条目的资源占用和功率消耗)变得容易。
在本公开另一实施例中,提出用于管理边缘云中的异构资源的新的机制。该机制能够和以上所述的其它实施例结合使用或者单独使用。在该机制中,对于异构资源管理,采用系统QoS优先和总体功率最小的准则。例如,在系统部署阶段,异构资源控制器基于系统架构建立边缘云。其获取需要的模块的图像,并且在CPU上的虚拟机中或者硬件加速器中的可配置分区中进行配置。关于在边缘云中部署哪些类型的模块,异构资源控制器可以基于以下准则来进行确定:首先满足系统的QoS要求;并且然后在系统QoS要求满足的前提下,保持总功率最小。再例如,在模块迁移阶段,基于系统要求的改变,要迁移哪个模块以及迁移到哪里的决策也可以基于QoS优先和功率最小的准则来执行。
下面将结合附图描述本公开的若干示例实施例。
在图2中示出了根据本公开的一个实施例的、基于异构计算资源的边缘云的架构200的示例。虚拟无线电接入网络和虚拟MEC功能元件均在异构计算资源中实现。在本公开中,功能元件也被称为功能模块或者模块。
考虑到功率效率和处理能力,边缘云200中的异构计算资源不仅包括GPP平台201还包括硬件加速器202。GPP平台201提供虚拟CPU,共享存储器和其他通用硬件资源。硬件加速器202提供例如可配置的FPGA 212及其外部设备。具有高实时性要求或者高复杂度的功能和协议层可以在可配置的硬件加速器202中实现。其他通用程序和高可扩展功能可以在虚拟化的GPP平台201中实现。硬件加速器202可以以,例如但不限于,总线和接口标准(PCIe)卡插入服务器的形式与GPP平台连接,或者充当独立的硬件加速器阵列。 GPP平台201和硬件加速器202之间的接口,例如,可以是PCIe模式或者10GbE模式的。
在图2所示的边缘云200中,虚拟MEC 203和虚拟RAN 204或者205可以在虚拟机206-209中实现。托管的管理程序210提供用于虚拟机206-209的虚拟化和驱动器。硬件加速器202和GPP 201提供边缘云的硬件。连接220提供边缘云中的高速的内部和外部连接。基于动态计算资源配置和重新配置,边缘云200可以支持诸如微微小区、毫微微小区、WIFI,宏小区、微小区等的接入网网络架构。诸如LTE、5G、固定接入和应用的功能可以在虚拟机(VM)中实现,而高实时性要求或者高复杂度的那些功能可以在可配置的硬件加速器202中的可配置模块(RM)中实现。该边缘云200可以连接到核心网络290。
在一些实施例中,硬件加速器202包括具有外部数据接口(例如241、251)的可重新配置分区(例如,240、250)。尽管在图2中,每个可重新配置分区240-250被示出为具有其自己的外部数据接口(241、251),然而本公开的实施例并不限于此。例如,在另一实施例中,多个可重新配置分区可以具有公共的外部数据接口。
在一些实施例中,硬件加速器202包括重新配置链路230,如图2所示。该重新配置链路230包括与外部数据接口(241、251)分离的外部控制接口231(诸如10GbE)、耦合到外部控制接口231的部分重新配置核心PRC 232、以及连接到可重新配置分区240-250的因特网内容适配协议ICAP端口233。
在一个实施例中,硬件加速器202中的RM的配置和重新配置可以通过重新配置链路230来执行。例如,该PRC 232可以被配置为执行图3所示的块310-320的操作。即,在块310,经由外部控制接口231接收配置控制信令和RM的图像,以及在块320,基于该配置控制信令经由ICAP端口233在从可重新配置分区240-250中选择的可重新配置分区(例如240)中执行RM的配置或者重新配置。
与图1中所示的部分重新配置链路方案相比,本公开的该示例 实施例的方案去除了图1中的用于缓存可重新配置的FPGA图像的外部存储器101。可重新配置FPGA的图像可以灵活地从任何远程节点获取。该示例实施例的新方案简化了重新配置过程。并节省了用于将图像传送到外部存储器的时延。替代地,可重新配置FPGA图像可以和虚拟机图像一起被存储在统一的数据库中,以利于图像管理。
此外,与图1所示的在数据流和控制流之间使用相同接口的方案不同的是,在本公开的该示例实施例中,针对数据流和控制流设计了独立的接口,即PRC 232经由与外部数据接口241、251分离的外部控制接口231来接收配置控制信令和RM的图像,避免了与数据传输的冲突。这能够改进重新配置模块的性能并简化接口设计。
在一些实施例中,PRC 232经由外部控制接口231接收的配置控制信令可以是基于该RM的资源占用信息、以及/或者硬件加速器的功率消耗信息而生成的。该配置控制信令可以来自,例如,边缘云200中的资源控制器260。
以下参考图4来描述根据本公开的实施例的在资源控制器中的用于管理边缘云架构(例如图2中的架构200)中的资源的方法,该资源包括硬件加速器资源和GPP资源。该方法400可以由,例如,图2中的资源控制器260、或者具有类似功能的单元来执行。为简化描述,以下参考图2中的资源控制器260和边缘云架构200来对方法400进行说明。
如图4所示,在块410,资源控制器260获取以下信息中的至少一项:与硬件加速器资源202或者GPP资源201关联的可重新配置功能单元的资源占用、与硬件加速器资源202关联的硬件加速器212的功率消耗、和与GPP资源201关联的服务器的功率消耗。在块420,资源控制器260基于所获取的信息执行对可重新配置功能单元的处理,该处理包括配置、重新配置和迁移中的至少一个。其中可重新配置功能单元可以是,例如但不限于,RM或者VM。
在一些实施例中,边缘云架构200还包括与硬件加速器资源202 关联的第一代理、以及与GPP资源201关联的第二代理。并且在该实施例中,在块410,资源控制器260可以从第一代理和第二代理获取资源占用以及所关联的硬件加速器或者服务器的功率消耗信息。
在图5中示出了可以用于实施本公开的该实施例的示例系统结构500。图5中,示出了多种异构资源的示例。异构资源控制器260基于来自每个可用代理的资源占用报告和功率消耗报告来控制可重新配置功能单元(例如RM/VM)的配置/重新配置/迁移。在硬件加速器510被实现为加速器阵列的情况下,可以存在位于加速器510中的代理513(可称为a-代理),其负责RM的配置/重新配置/迁移,并且报告每个RM的资源占用以及每个加速器510的功率消耗。在存在纯GPP资源的情况下,可以存在位于服务器中的代理520(可称为c-代理),其负责控制VM的配置/重新配置/迁移,并且报告每个VM的资源占用以及每个服务器的功率消耗。在具有加速器PCIe卡530(即硬件加速器和GPP通过PCIe卡组合)的情况下,可以同时具有在服务器中的c-代理534和在加速器卡中的a-代理533。这两个代理533和534分别控制加速器和服务器。
在一个实施例中,在块410,资源控制器260可以向例如代理513(或者533)和/或代理523(或者534)发送资源占用和功率消耗报告请求;以及从该代理513和/或代理523接收作为对该报告请求的响应的资源占用和功率消耗报告。
替代地,或者附加地,在另一实施例中,在块410,资源控制器260可以通过从外部控制模块(未示出)接收外部控制信号来获取资源占用和功率消耗信息。
在又一实施例中,在块410,资源控制器260可以从数据库获取资源占用和功率消耗信息。该数据库例如可以是图5中的数据库540。作为示例而非限制,在块410,资源控制器260可以向该数据库540发送初始部署请求,其中该初始部署请求包括可重新配置功能单元的列表;以及从该数据库540接收列表中指定的可重新配置功能单元的资源占用和功率消耗信息。
在一些实施例中,该数据库540可以存储可重新配置功能单元的实现位置、资源占用、功率消耗、以及相关的RM/VM图像。可选地,为了便于信息管理,数据库可以被分成两部分。这两部分分别包括用于仅能够被实施在硬件加速器资源中或者仅能够被实施在GPP资源中的静态功能单元的信息、和用于能够根据系统要求被实施在硬件加速器资源或者GPP资源中的动态功能单元的信息。在图6中示出了针对静态模块的信息条目610和针对动态模块的信息条目620的示例。
如图6所示,用于静态功能单元的信息条目610可以包括(但不限于):该静态功能单元的索引611、名称612、位置613、资源占用614、功率消耗615、支持的吞吐量616和实时性能617。其中,“位置”613指示该静态功能单元被配置在何处(GPP还是加速器)。“资源占用”614和“功率消耗”615分别指示在该静态功能单元被配置时其所占用的CPU/FPGA资源以及功率消耗。“支持的吞吐量”616和“实时性能”617则指示QoS参数。应该理解的是,在一些实施例中,条目610中的一些信息可以被省略,并且/或者,条目610可以包括另外的信息。
另外,用于动态功能单元的信息条目620包括:该动态功能单元的索引、名称、以及分别被配置在硬件加速器资源时和GPP资源中时该动态功能单元的位置、资源占用、功率消耗、支持的吞吐量和实时性能。其中621部分记录在动态功能单元被配置/重新配置在加速器的FPGA中时的位置/资源占用/功率消耗/性能;而622部分记录在动态功能单元被配置/重新配置在GPP中时的位置/资源占用/功率消耗/性能。
现在返回图4。在一个实施例中,在块420,资源控制器260可以基于所获取的信息来执行可重新配置功能单元的配置、重新配置、或者迁移,使得系统服务质量(QoS)被优先考虑并且整体功率满足预定要求。例如,资源控制器260可以按照服务质量(QoS)优先和功率最小化的准则、基于所获取的信息来执行可重新配置功能单元 的配置、重新配置、或者迁移。也就是说,在一个实施例中,在管理边缘云的计算资源时,资源控制器260可以满足两个准则:第一准则是QoS优先,这意味着在进行异构资源配置/重新配置操作时,系统的QoS要求应当首先被满足;第二准则是功率最小,这意味着在部署系统或者进行动态配置/重新配置时,在满足QoS要求的前提下,要保持总体功率最小。
作为示例,在块420,资源控制器260可以基于所获取的信息、按照QoS优先和功率最小化的准则确定要配置、重新配置、或者迁移的可重新配置功能单元(的列表);从数据库中获取所确定的可重新配置功能单元的图像;以及利用所获取的所述图像执行所确定的可重新配置功能单元的配置、重新配置、或者迁移。
替代地或者附加地,在一些实施例中,资源控制器260可以通过代理(例如图5中的513-5124)来执行所确定的可重新配置功能单元的配置、重新配置、或者迁移。例如,资源控制器260可以基于一个或者多个预定的准则,向与相应的资源关联的代理发送重新配置操作请求,用以对所确定的可重新配置功能单元执行重新配置或者迁移操作。这种准则的示例包括但不限于:
·准则1:在总体系统资源占用低于第一阈值时,重新配置或者迁移操作要使得可重新配置功能单元使用的硬件加速器或者服务器减少,即可重新配置功能单元被集中于更少的硬件加速器或者服务器中,以实现功率最小化,以及
·准则2:在总体系统资源占用高于第二阈值时,重新配置或者迁移操作要使得可重新配置功能单元被分散到的硬件加速器或者服务器增加,即使得可重新配置功能单元被分散到更多的硬件加速器或者服务器,以满足系统要求。
资源的使用存在潮汐效应(从白天到夜间),因此,为了节省系统的总功率,在总的系统资源占用低于资源阈值(阈值-低)时,资源控制器260可以基于来自代理的报告计算系统的总功率消耗,并且选择最优的配置列表以满足总体功率消耗最小。资源控制器260 可以向数据库540发送“动态重新配置请求”以请求所确定的可重新配置功能单元的图像,并且从数据库540读取所请求的可重新配置功能单元的图像。一旦例如从数据库540获取一个完整的图像,资源控制器260可以通过发送“动态重新配置操作请求”到相应的代理来开始VM/RM重新配置/迁移。通过该重新配置或者迁移,VM/RM可以被集中到更少的服务器中或者更少的加速器中,从而空闲的服务器和空闲的加速器可以进入省电模式。在一些实施例中,为了节省系统功率,一些原本在GPP上实现的VM也可以被迁移到加速器中的RM上,反之亦然。
可选地,在代理可以逐个或者并行地完成VM/RM重新配置/迁移操作时,其可以发送“动态重新配置操作完成”到资源控制器260以通知重新配置/迁移操作完成。即,资源控制器260可以可选地从代理接收重新配置/迁移操作完成消息。
类似地,基于潮汐效应(从白天到夜间),为了节省系统的总功率,在总的系统资源占用高于资源阈值(阈值-高)时,资源控制器260可以执行与以上类似的过程。不同的是,在重新配置/迁移完成时,VM/RM被分散到更多的服务器中或者更多的加速器中,以满足系统要求。
在一些实施例中,方法400还可以包括块430,其中资源控制器260向数据库540更新被重新配置或者被迁移的可重新配置功能单元的信息。例如,代理(513、523、533或者534)可以将被重新配置或者被迁移的可重新配置功能单元的资源/功率报告被发送回资源控制器260,然后资源控制器260可以通知数据库540完成条目更新操作。
在图7中,示出了根据本公开的实施例的用于资源控制的示例处理700,该处理可以看作是方法400的特定实施例。该示例处理中涉及资源控制器260,数据库540和代理(513、523、533、534中的一个或者多个)之间的信令过程。
在该示例实施例中,在系统初始部署阶段,资源控制器260触 发初始部署(710)。资源控制器260发送(711)“初始部署请求”到数据库540,该“初始部署请求”中包括配置模块列表。一旦数据库540接收到该请求,其通过“资源/功率信息”将请求的配置模块的资源占用和功率消耗信息发送回(712)资源控制器260。基于该资源占用和功率消耗信息,资源控制器260可以计算(未示出)所有被提供的吞吐量并且进行实施性能分析。
如果系统的QoS能够被满足,则资源控制器260可以发送(713)“初始部署图像请求”到数据库540,并且(例如逐个)读取(714)请求列表中请求的图像。一旦从数据库540获得一个完整的图像,资源控制器260可以发送(715)“初始VM/RM配置请求”到相应的代理(513、523、533或534)以在专用的GPP平台中建立VM或者在专用的加速器中建立RM。相关的代理(513、523、533或534)在GPP/加速器中配置(716)虚拟机或者RM,并且发送(717)“初始VM/RM配置完成”到资源控制器260,以通知初始部署已经完成。被请求的VM/RM应当(例如逐个)如上所述的被完成配置。
如果系统的QoS不能够被满足,则资源控制器260可以选择另一个配置列表,并再次执行以上过程。
配置/重新配置后,资源控制器260可以(例如,周期地)发送(720)“VM/RM报告请求”到指定的或者每个代理,并且从该代理接收(721)资源占用和功率消耗报告。之后,资源控制器260可以发送(722)“条目更新请求”到数据库540以更新相应VM/RM图像的条目信息。数据库540执行数据库条目的更新(723),并且发送(724)“条目更新完成”消息到资源控制器260。该操作可以周期进行。
在初始配置之后,资源控制器260可以执行VM或者/和RM的动态重新配置/迁移(731)。该动态重新配置/迁移可以被外部信号触发(730),或者被来自代理(513、523、533或534)的资源/功率报告所触发。
例如,基于潮汐效应(从白天到夜间),在总的系统资源占用 低于资源阈值(阈值-低)时,资源控制器260可以基于来自代理的报告计算系统的总功率消耗,并且选择最优的配置列表以满足总体功率消耗最小。然后资源控制器260可以向数据库540发送(732)“动态重新配置请求”并且开始从数据库540读取(733)所请求的图像。一旦从数据库获取一个完整的图像,资源控制器260可以通过发送(734)“动态重新配置操作请求”到相应的代理来开始VM/RM重新配置/迁移。在代理完成每个指定的VM/RM的重新配置/迁移操作(735)时,发送(736)“动态重新配置操作完成”到资源控制器260以通知重新配置/迁移操作完成。此后,VM/RM被集中到更少的服务器中或者更少的加速器中。在一个实施例中,为了节省系统功率,基于上述过程,甚至一些GPP上实现的VM也可以被迁移到加速器中的RM上。这使得空闲的服务器和空闲的加速器可以进入省电模式。
与721-724类似地,资源控制器260可以发送(740)“VM/RM报告请求”到指定的或者每个代理,并且从该代理接收(741)资源占用和功率消耗报告。之后,资源控制器260可以发送(742)“条目更新请求”到数据库540以更新相应VM/RM图像的条目信息。数据库540执行数据库条目的更新(743),并且发送(744)“条目更新完成”消息到资源控制器260。
能够理解的是,基于潮汐效应(从白天到夜间),为了节省系统的总功率,在总的系统资源占用高于资源阈值(阈值-高)时,可以执行与以上类似的过程。不同的是,在重新配置/迁移完成时,VM/RM被分散到更多的服务器中或者更多的加速器中,以满足系统要求。
对于重新配置/迁移可以被外部信号触发的情况下,外部控制模块可以通过外部控制实体触发系统重新配置/迁移操作。该外部控制实体可以是诸如OpenStack的编辑器。例如,如果需要在边缘云中建立紧急的高性能通信链路,则外部编辑控制器可以发送重新配置/迁移信号到资源控制器260,其将搜索空闲资源和/或集中异构计算 资源以建立高质量的通信链路用于特殊的紧急需要。
以下参考图8,其示出根据本公开的实施例的用于管理边缘云架构(例如图2中的架构200)中的资源的另一方法800。该资源可以包括例如硬件加速器资源和GPP资源。并且该边缘云架构还包括与硬件加速器资源关联的第一代理(例如图5中的513或者533)、以及与GPP资源关联的第二代理(例如图5中的523或者534)。该方法可以在第一代理或者所述第二代理处执行。以下为便于说明,将结合图5中的代理513/523和示例架构500来描述实施例,然而,如本领域技术人员基于本文的教导可以理解的,该方法也可以在其它具有类似功能的装置处执行。
如图8所示,在块810,代理513/523从资源控制器260接收资源占用和功率消耗报告请求;并且在块820,响应于所接收的资源占用和功率消耗报告请求,代理513/523向资源控制器260发送与所关联的资源有关的资源占用和功率消耗报告。
该资源占用和功率消耗报告的发送使得资源控制器260能够有效地控制可重新配置功能单元RM或者VM的重新配置或者迁移,实现资源的高效利用、降低系统能耗。
在一个实施例中,替代地,或者附加地,代理513/523可以在资源控制器260的控制下执行可重新配置功能单元RM或者VM的重新配置或者迁移。在该实施例中,在块830,代理513/523可以从资源控制器260接收配置请求,该配置请求包括要被配置、重新配置、或者迁移的可重新配置功能单元的列表;在块840,代理513/523基于所接收的该配置请求,对列表中的可重新配置功能单元执行配置、重新配置、或者迁移。可选地,在该配置、重新配置、或者迁移完成时,代理513/523可以在块850向资源控制器260发送配置完成消息。前文已经结合图7的715-717或者734-736描述了该操作的示例。
图9示出根据本公开的实施例的用于管理边缘云架构(例如图2中的架构200)中的资源的又一方法900。该资源可以包括例如硬件加速器资源和GPP资源。该方法可以在数据库(例如图5中的数据 库540)中执行。以下为便于说明,将结合图5中的数据库540和示例架构500来描述实施例,然而,如本领域技术人员基于本文的教导可以理解的,该方法也可以在其它具有类似功能的装置处执行。
如图9所示,在块910,数据库540从资源控制器260接收初始部署请求,其中该初始部署请求包括可重新配置功能单元的列表;并且在块920,数据库540向资源控制器260发送列表中包括的可重新配置功能单元的资源占用和功率消耗信息。
该资源占用和功率消耗报告的发送使得资源控制器260能够有效地控制可重新配置功能单元RM或者VM的配置、重新配置或者迁移,实现资源的高效利用、降低系统能耗。
在一个实施例中,该数据库中的信息条目可以具有图6所示的结构,即,数据库的信息被分为用于静态功能单元的信息和用于动态功能单元的信息。该结构便于信息的管理和控制。
在另一实施例中,替代地,或者附加地,数据库540可以在块930从资源控制器260接收对可重新配置功能单元的图像请求;以及在块940,响应于该请求,向资源控制器260发送相应可重新配置功能单元的图像。
相对于图1中的利用DDR 101存储可配置功能单元的图像的方案,将可配置功能单元的图像存储于数据库540可以简化重新配置过程并节省了用于将图像传送到外部存储器的时延。
在又一实施例中,替代地,或者附加地,该数据540可以在块950从资源控制器260接收可重新配置功能单元的信息更新请求;并且在块960,基于该信息更新请求,更新可重新配置功能单元的信息(例如,资源占用、功率消耗、以及图像中的一项或者多项)。可选地,在块970,在所述更新完成时,数据库540可以向资源控制器260发送信息更新完成消息。
以下描述用于管理边缘云架构中的资源的第一示例装置的结构。该边缘云架构可以例如(但不限于)如图2所示,并且该资源可以包括硬件加速器资源和GPP资源。该第一示例装置1可以实现 为资源控制器(例如图2或者图5中的资源控制器260)或者其一部分。该第一示例装置可以执行参考图4所述的方法400,但是不限于执行该方法400。同样,该方法400可以由该第一示例装置执行,但是不限于由该第一示例装置执行。例如,方法400的至少一些操作可以由其它的装置来执行。
该第一示例装置可以包括信息获取单元和配置控制单元。信息获取单元被配置为获取以下信息中的至少一项:与所述硬件加速器资源或者所述GPP资源关联的可重新配置功能单元的资源占用,与所述硬件加速器资源关联的硬件加速器的功率消耗,以及与所述GPP资源关联的服务器的功率消耗。配置控制单元被配置为基于所获取的信息执行对可重新配置功能单元的处理,该处理包括配置、重新配置和迁移中的至少一个。
结合方法400所给出的与信息获取和配置控制(例如块410-420的操作)有关的描述在此同样适用,为简洁的目的而不再重复。
在另一个实施例中,该第一示例装置可以进一步包括:信息更新控制单元,被配置为向数据库(例如图5的数据库540)更新被重新配置或者被迁移的可重新配置功能单元的信息。
以下描述根据本公开的实施例的用于管理边缘云架构中的资源的第二示例装置的结构。该边缘云架构可以例如(但不限于)如图2所示,并且该资源可以包括硬件加速器资源和GPP资源。该边缘云架构还包括与硬件加速器资源关联的第一代理、以及与GPP资源关联的第二代理。该第二示例装置可以实现为第一代理或者第二代理(例如图5中513-533、534)或者其一部分。该第二示例装置可以执行参考图8所述的方法800,但是不限于执行该方法800。同样该方法800可以由第二示例装置执行,但是不限于由第二示例装置执行。例如,方法800的至少一些操作可以由其它的装置来执行。
该第二示例装置可以包括第一接收单元和第一发送单元。该第一接收单元被配置为从资源控制器接收资源占用和功率消耗报告请求。该第一发送单元被配置为响应于所接收的资源占用和功率消耗 报告请求,向资源控制器发送与所关联的资源有关的资源占用和功率消耗报告。
在另一实施例中,该第二示例装置可以替代地或者附加地包括第二接收单元,配置单元和第二发送单元。其中第二接收单元可以被配置为从资源控制器接收配置请求,所述配置请求包括要被配置、重新配置、或者迁移的可重新配置功能单元的列表。配置单元可以被配置为基于所接收的配置请求,执行列表中的可重新配置功能单元的配置、重新配置、所述迁移。第二发送单元可以被配置为在配置、重新配置、或者迁移完成时,向资源控制器发送配置完成消息。
结合方法400、800和附图4、7、8所提供的与代理有关的描述在此同样适用,并不再重复。
以下描述根据本公开的实施例的用于管理边缘云架构中的资源的第三示例装置的结构。该边缘云架构可以例如(但不限于)如图2所示,并且该资源可以包括硬件加速器资源和GPP资源。该第三示例装置可以实现为数据库(例如图5中540)或者其一部分。第三示例装置可以执行参考图9所述的方法900,但是不限于执行该方法900。同样该方法900可以由第三示例装置执行,但是不限于由第三示例装置执行。例如,方法900的至少一些操作可以由其它的装置来执行。
第三示例装置可以包括接收单元和发送单元。该接收单元可以被配置为从资源控制器接收初始部署请求,其中初始部署请求包括可重新配置功能单元的列表,并且该发送单元可以被配置为向资源控制器发送列表中包括的可重新配置功能单元的资源占用和功率消耗信息。
在一个实施例中,该第三示例装置可以对用于静态功能单元的信息和用于动态功能单元的信息分别存储,以便于管理。用于静态功能单元的信息和用于动态功能单元的信息可以分别具有,例如但不限于,图6所示的结构。
在另一实施例中,接收单元还可以被配置为从资源控制器接收 对可重新配置功能单元的图像请求,并且发送单元还可以被配置为响应于图像请求,向资源控制器发送所述可重新配置功能单元的图像。
替代地或者附加地,在另一实施例中,第三示例装置还可以包括更新请求接收单元,更新单元,以及报告单元。其中,更新请求接收单元可以被配置为从资源控制器接收可重新配置功能单元的信息更新请求。更新单元可以被配置为基于该信息更新请求,更新可重新配置功能单元的信息。报告单元可以被配置为在更新完成时,向资源控制器发送信息更新完成消息。
结合方法400、900和附图4、7、9所提供的与数据库有关的描述在此同样适用,并不再重复。
图10示出了适合实现本公开的实施例的设备1000的简化方框图。设备1000可以用来实现如上所述进行操作的重新配置链路(例如图2中的重新配置链路230)、资源控制器(例如图5中的资源控制器260)、代理(例如图5中的代理513、513、533、534)、数据库(例如图5中的数据库540)、或者其一部分。如图所示,设备1000包括一个或者多个处理器1010,耦合到处理器1010的一个或者多个存储器1020,以及耦合到处理器1310的一个或者多个发送器和/或接收器(TX/RX)1040。
处理器1010可以是适用于本地技术环境的任何合适的类型,并且可以包括但不限于通用计算机、专用计算机、微控制器、数字信号控制器(DSP)以及基于控制器的多核控制器架构中的一个或多个多个。设备1000也可以包括多个处理器,诸如专用集成电路,该专用集成电路在时间上从属于同步主处理器的时钟。
存储器1020可以是适用于本地技术环境的任何合适的类型,并且可以利用任何合适的数据存储技术来实现,作为非限制性示例可以包括例如非瞬态计算机可读介质、基于半导体的存储器件、磁存储器件和系统、光存储器件和系统、固定存储器以及可移除存储器。尽管图10中仅仅示出了一个存储器单元,但是在设备1000中可以 有多个物理不同的存储器单元。
存储器1020存储程序1030的至少一部分。TX/RX 1040用于双边通信。图中的通信接口可以表示用于与其它网元进行通信需要的任何接口。
程序1030包含程序指令,该程序指令在由关联的处理器执行时,使得设备1000执行根据本公开的实施例的操作,如参考附图2-9所述的。即,本公开的实施例可以通过可由处理器1010和装置1000执行的计算机软件来实施,或者由软件和硬件的组合来实施。例如,当设备1000充当资源控制器时,处理器1010执行存储器1020中存储的指令1030,使得资源控制器实现上文参考图4-7所述的方法400。上文参考图2-图9所描述的所有特征均适用于设备1000,在此不再赘述。
本公开的一方面还提供了一种边缘云系统。该边缘云系统可以具有,例如,图2或者图5所示的架构,并且包括根据本公开的实施例中的重新配置链路230、第一示例装置、第二示例装置、第三示例装置和设备1000中的至少一个,用于资源的管理。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
作为示例,本公开的实施例也可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所 描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本公开的上下文中,机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何发明或权利要求的范围,而应解释为对可以针对特定发明的特定实施例的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以整合实施在单个实施例中。反之,在单个实施例的上下文中描述的各种特征也可以分离地在多个实施例或在任意合适的子组合中实施。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题, 但是应当理解,所附权利要求中限定的主题并不限于上文描述的特定特征或动作。相反,上文描述的特定特征和动作是作为实现权利要求的示例形式而被公开的。

Claims (18)

  1. 一种用于管理边缘云架构中的资源的装置,所述资源包括硬件加速器资源,所述硬件加速器资源包括具有外部数据接口的可重新配置分区,并且所述装置包括:
    与所述外部数据接口分离的外部控制接口,
    耦合到所述外部控制接口的部分重新配置核心(PRC),以及
    连接到所述可重新配置分区的因特网内容适配协议(ICAP)端口;
    其中所述PRC被配置为:
    经由所述外部控制接口接收配置控制信令和可重新配置模块(RM)的图像,以及
    基于所述配置控制信令经由所述ICAP端口在从所述可重新配置分区中选择的可重新配置分区中执行对所述RM的配置或者重新配置。
  2. 根据权利要求1所述的装置,其中所述硬件加速器资源包括多个可重新配置分区,并且所述多个可重新配置分区中的每个可重新配置分区具有单独的所述外部数据接口。
  3. 根据权利要求1所述的装置,其中所述硬件加速器资源为基于现场可编程门阵列(FPGA)的硬件资源。
  4. 根据权利要求1所述的装置,其中所述配置控制信令是基于以下中的至少一项生成的:
    所述RM的资源占用信息,以及
    所述硬件加速器的功率消耗信息。
  5. 一种在资源控制器中的用于管理边缘云架构中的资源的方法,所述资源包括硬件加速器资源和通用处理(GPP)资源,所述方法包括:
    获取以下信息中的至少一项:
    与所述硬件加速器资源或者所述GPP资源关联的可重新配 置功能单元的资源占用,
    与所述硬件加速器资源关联的硬件加速器的功率消耗,以及
    与所述GPP资源关联的服务器的功率消耗;以及
    基于所获取的所述信息执行对可重新配置功能单元的处理,所述处理包括配置、重新配置和迁移中的至少一个。
  6. 根据权利要求5所述的方法,其中所述边缘云架构还包括与所述硬件加速器资源关联的第一代理、以及与所述GPP资源关联的第二代理,并且所述获取包括:
    从所述第一代理和所述第二代理获取所述资源占用以及所关联的硬件加速器或者服务器的功率消耗。
  7. 根据权利要求5所述的方法,其中所述获取包括从以下至少之一获取所述信息:
    来自外部控制模块的外部控制信号;以及
    数据库。
  8. 根据权利要求5所述的方法,其中基于所获取的所述信息执行对可重新配置功能单元的处理包括:
    基于所获取的所述信息来执行所述可重新配置功能单元的配置、重新配置、或者迁移,使得系统服务质量(QoS)被优先考虑并且总体功率满足预定要求。
  9. 根据权利要求8所述的方法,其中基于所获取的所述信息来执行所述可重新配置功能单元的配置、重新配置、或者迁移包括:
    基于所获取的所述信息,按照系统QoS优先和总体功率最小化的准则来确定要配置、重新配置、或者迁移的可重新配置功能单元;
    从数据库中获取所确定的所述可重新配置功能单元的图像;以及
    利用所获取的所述图像执行对所确定的所述可重新配置功能单元的配置、重新配置、或者迁移。
  10. 根据权利要求9所述的方法,其中利用所获取的所述图像执行对所确定的所述可重新配置功能单元的配置、重新配置、或者迁 移包括:
    基于以下准则中的至少一个,向相应的代理发送重新配置操作请求,用以使所述代理对所确定的所述可重新配置功能单元执行重新配置或者迁移操作:
    在总体系统资源占用低于第一阈值时,所述重新配置或者迁移操作要使得所述可重新配置功能单元使用的硬件加速器或者服务器减少,以实现功率最小化,以及
    在总体系统资源占用高于第二阈值时,所述重新配置或者迁移操作要使得所述可重新配置功能单元被分散到的硬件加速器或者服务器增加,以满足系统要求。
  11. 根据权利要求7所述的方法,还包括:
    向所述数据库更新被重新配置或者被迁移的可重新配置功能单元的信息。
  12. 一种用于管理边缘云架构中的资源的方法,所述资源包括硬件加速器资源和通用处理(GPP)资源,并且所述边缘云架构还包括与所述硬件加速器资源关联的第一代理、以及与所述GPP资源关联的第二代理,所述方法在所述第一代理或者所述第二代理处执行,并且包括:
    从资源控制器接收资源占用和功率消耗报告请求;以及
    响应于所接收的资源占用和功率消耗报告请求,向所述资源控制器发送与所关联的资源有关的资源占用和功率消耗报告。
  13. 根据权利要求12所述的方法,还包括:
    从所述资源控制器接收配置请求,所述配置请求包括要被配置、重新配置、或者迁移的可重新配置功能单元的列表;以及
    基于所接收的所述配置请求,执行所述列表中的可重新配置功能单元的配置、重新配置、所述迁移。
  14. 一种在资源控制器中的用于管理边缘云架构中的资源的装置,所述资源包括硬件加速器资源和通用处理(GPP)资源,所述装置包括处理器和与所述处理器耦合的存储器,所述存储器包含存储 在其中的指令,所述指令在由所述处理器执行时使得所述装置执行根据权利要求5-11中的任一项所述的方法。
  15. 一种装置,包括处理器和与所述处理器耦合的存储器,所述存储器包含存储在其中的指令,所述指令在由所述处理器执行时使得所述装置执行根据权利要求12-13中的任一项所述的方法。
  16. 一种装置,包括处理器和与所述处理器耦合的存储器,所述存储器包含存储在其中的指令,所述指令在由所述处理器执行时使得所述装置:
    从资源控制器接收初始部署请求,其中所述初始部署请求包括可重新配置功能单元的列表;以及
    向所述资源控制器发送所述列表中包括的可重新配置功能单元的资源占用和功率消耗信息。
  17. 根据权利要求16所述的装置,其中所述数据库分别存储用于仅能够被实施在所述硬件加速器资源中或者仅能够被实施在所述GPP资源中的静态功能单元的信息和用于能够根据系统要求被实施在所述硬件加速器资源或者所述GPP资源中的动态功能单元的信息。
  18. 根据权利要求17所述的装置,其中:
    用于所述静态功能单元的信息包括:所述静态功能单元的索引、名称、位置、资源占用、功率消耗、支持的吞吐量和实时性能;并且
    用于所述动态功能单元的信息包括:所述动态功能单元的索引、名称、以及分别被配置在所述硬件加速器资源和所述GPP资源中时所述动态功能单元的位置、资源占用、功率消耗、支持的吞吐量和实时性能。
PCT/CN2017/089812 2017-06-23 2017-06-23 用于边缘云中的资源管理的方法和装置 WO2018232746A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/CN2017/089812 WO2018232746A1 (zh) 2017-06-23 2017-06-23 用于边缘云中的资源管理的方法和装置
CN201780091555.3A CN110709818B (zh) 2017-06-23 2017-06-23 用于边缘云中的资源管理的方法和装置
EP17914467.0A EP3644180A4 (en) 2017-06-23 2017-06-23 METHOD AND APPARATUS FOR MANAGING RESOURCES IN A PERIPHERAL CLOUD
US16/625,287 US11645090B2 (en) 2017-06-23 2017-06-23 Method and apparatus for resource management in edge cloud

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/089812 WO2018232746A1 (zh) 2017-06-23 2017-06-23 用于边缘云中的资源管理的方法和装置

Publications (1)

Publication Number Publication Date
WO2018232746A1 true WO2018232746A1 (zh) 2018-12-27

Family

ID=64735366

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/089812 WO2018232746A1 (zh) 2017-06-23 2017-06-23 用于边缘云中的资源管理的方法和装置

Country Status (4)

Country Link
US (1) US11645090B2 (zh)
EP (1) EP3644180A4 (zh)
CN (1) CN110709818B (zh)
WO (1) WO2018232746A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110351153A (zh) * 2019-08-19 2019-10-18 蘑菇物联技术(深圳)有限公司 一种基于在线配置和动态下发配置文件的边缘计算系统
CN112217879A (zh) * 2020-09-24 2021-01-12 江苏方天电力技术有限公司 一种基于配电物联网的边缘计算技术和云边协同方法
CN115373507A (zh) * 2022-10-26 2022-11-22 北京品立科技有限责任公司 一种基于电能损耗的整机资源均衡管理方法及系统
WO2024027515A1 (zh) * 2022-08-05 2024-02-08 中国移动通信有限公司研究院 一种信息传输方法、装置、云平台、网元和存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11706617B2 (en) * 2019-01-03 2023-07-18 Cisco Technology, Inc. Authenticating radio access network components using distributed ledger technology
US11625277B2 (en) * 2019-05-20 2023-04-11 Intel Corporation Dynamically augmenting edge resources
US20230076476A1 (en) * 2020-02-28 2023-03-09 Arizona Board Of Regents On Behalf Of Arizona State University A stand-alone accelerator protocol (sap) for heterogeneous computing systems
US20220321403A1 (en) * 2021-04-02 2022-10-06 Nokia Solutions And Networks Oy Programmable network segmentation for multi-tenant fpgas in cloud infrastructures

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102667724A (zh) * 2009-12-24 2012-09-12 国际商业机器公司 利用加速器的、目标指向的工作负载性能管理
CN103947248A (zh) * 2011-11-14 2014-07-23 阿尔卡特朗讯 基带信号处理群集
CN205003656U (zh) * 2015-09-06 2016-01-27 黑龙江傲立辅龙科技开发有限公司 一种可重构硬件透明编程的操作系统

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5677905A (en) * 1995-03-28 1997-10-14 Bell Atlantic Network Services, Inc. Access subnetwork controller for video dial tone networks
US6349346B1 (en) * 1999-09-23 2002-02-19 Chameleon Systems, Inc. Control fabric unit including associated configuration memory and PSOP state machine adapted to provide configuration address to reconfigurable functional unit
US7328335B1 (en) * 2004-10-01 2008-02-05 Xilinx, Inc. Bootable programmable logic device for internal decoding of encoded configuration data
US8019715B2 (en) * 2004-12-31 2011-09-13 Intel Corporation Data partitioning and critical section reduction for bayesian network structure learning
CN1921689B (zh) * 2006-06-19 2010-05-26 Ut斯达康通讯有限公司 利用下行共享信道在utra tdd hcr系统中实现组播的系统和方法
WO2008014493A2 (en) 2006-07-28 2008-01-31 Drc Computer Corporation Configurable processor module accelerator using a progrmmable logic device
US20080130504A1 (en) * 2006-12-04 2008-06-05 D&S Consultants, Inc. Integrated Quality of Service and Resource Management in a Network Edge Device
US8121826B1 (en) * 2009-07-17 2012-02-21 Xilinx, Inc. Graphical user interface for system design
US20110082994A1 (en) * 2009-10-06 2011-04-07 Utah State University Accelerated relocation circuit
US8380911B2 (en) * 2010-09-13 2013-02-19 Lsi Corporation Peripheral device, program and methods for responding to a warm reboot condition
US9329886B2 (en) * 2010-12-10 2016-05-03 Amazon Technologies, Inc. Virtual machine morphing for heterogeneous migration environments
CN102135951B (zh) * 2011-03-07 2013-09-11 哈尔滨工业大学 基于运行时重构的ls-svm算法fpga实现方法
US8792347B2 (en) * 2012-06-01 2014-07-29 Opera Software Ireland Limited Real-time network monitoring and subscriber identification with an on-demand appliance
CN104657215A (zh) * 2013-11-19 2015-05-27 南京鼎盟科技有限公司 云计算中虚拟化节能系统
CN107079415B (zh) * 2014-09-30 2020-11-10 唯亚威通讯技术有限公司 基于云的无线网络的自优化和/或改进的方法和装置
US9722614B2 (en) * 2014-11-25 2017-08-01 Qualcomm Incorporated System and method for managing pipelines in reconfigurable integrated circuit architectures
CN107078956B (zh) * 2014-12-11 2020-10-02 At&T知识产权一部有限合伙公司 多层分布式路由器体系结构及相关方法、系统和介质
EP3089035A1 (en) * 2015-04-30 2016-11-02 Virtual Open Systems Virtualization manager for reconfigurable hardware accelerators
WO2017037687A1 (en) * 2015-09-06 2017-03-09 Mariana Goldhamer Virtualization and central coordination in wireless networks
EP3366011B1 (en) * 2015-10-21 2022-04-06 Intel Corporation Mobile edge compute dynamic acceleration assignment
US10334446B2 (en) * 2016-08-05 2019-06-25 Nxgen Partners Ip, Llc Private multefire network with SDR-based massive MIMO, multefire and network slicing
WO2018031057A1 (en) * 2016-08-12 2018-02-15 Intel IP Corporation Device and method for managing virtualized ran
CN107766146B (zh) * 2016-08-23 2021-11-05 上海诺基亚贝尔股份有限公司 用于资源重配置的方法以及相应的设备
US10223317B2 (en) * 2016-09-28 2019-03-05 Amazon Technologies, Inc. Configurable logic platform
EP3327949A1 (en) * 2016-11-25 2018-05-30 Alcatel Lucent Mimo precoding
US10225230B2 (en) * 2016-12-14 2019-03-05 Raytheon Company System and method for address-mapped control of field programmable gate array (FPGA) via ethernet

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102667724A (zh) * 2009-12-24 2012-09-12 国际商业机器公司 利用加速器的、目标指向的工作负载性能管理
CN103947248A (zh) * 2011-11-14 2014-07-23 阿尔卡特朗讯 基带信号处理群集
CN205003656U (zh) * 2015-09-06 2016-01-27 黑龙江傲立辅龙科技开发有限公司 一种可重构硬件透明编程的操作系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3644180A4 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110351153A (zh) * 2019-08-19 2019-10-18 蘑菇物联技术(深圳)有限公司 一种基于在线配置和动态下发配置文件的边缘计算系统
CN110351153B (zh) * 2019-08-19 2022-01-04 蘑菇物联技术(深圳)有限公司 一种基于在线配置和动态下发配置文件的边缘计算系统
CN112217879A (zh) * 2020-09-24 2021-01-12 江苏方天电力技术有限公司 一种基于配电物联网的边缘计算技术和云边协同方法
CN112217879B (zh) * 2020-09-24 2023-08-01 江苏方天电力技术有限公司 一种基于配电物联网的边缘计算技术和云边协同方法
WO2024027515A1 (zh) * 2022-08-05 2024-02-08 中国移动通信有限公司研究院 一种信息传输方法、装置、云平台、网元和存储介质
CN115373507A (zh) * 2022-10-26 2022-11-22 北京品立科技有限责任公司 一种基于电能损耗的整机资源均衡管理方法及系统
CN115373507B (zh) * 2022-10-26 2023-01-06 北京品立科技有限责任公司 一种基于电能损耗的整机资源均衡管理方法及系统

Also Published As

Publication number Publication date
US11645090B2 (en) 2023-05-09
EP3644180A4 (en) 2020-06-17
EP3644180A1 (en) 2020-04-29
CN110709818A (zh) 2020-01-17
CN110709818B (zh) 2023-06-30
US20200218548A1 (en) 2020-07-09

Similar Documents

Publication Publication Date Title
WO2018232746A1 (zh) 用于边缘云中的资源管理的方法和装置
US11429408B2 (en) System and method for network function virtualization resource management
US10733019B2 (en) Apparatus and method for data processing
US20200218561A1 (en) Methods and apparatus to deploy a hybrid workload domain
CN115269717B (zh) 存储设备、分布式存储系统以及数据处理方法
US9479472B2 (en) Local message queue processing for co-located workers
EP3593253B1 (en) Communication method and device for virtual base stations
US9507624B2 (en) Notification conversion program and notification conversion method
CN109726005B (zh) 用于管理资源的方法、服务器系统和计算机可读介质
US10693801B2 (en) Packet drop reduction in virtual machine migration
US20210141675A1 (en) Hotpluggable runtime
Huang et al. Design and implementation of an edge computing platform architecture using Docker and Kubernetes for machine learning
KR20210124082A (ko) 구성 가능한 일관성 장치들을 위한 시스템 및 방법
US20140289728A1 (en) Apparatus, system, method, and storage medium
CN109697114B (zh) 用于应用迁移的方法和机器
KR20210056655A (ko) 클라우드 엣지 환경에서 예측 기반 마이그레이션 후보 및 대상 선정 방법
EP3504894B1 (en) Method and device for resource reconfiguration
US11868805B2 (en) Scheduling workloads on partitioned resources of a host system in a container-orchestration system
US11893407B2 (en) Overlay container storage driver for microservice workloads
US11614973B2 (en) Assigning devices to virtual machines in view of power state information
WO2023129981A1 (en) Smart edge hypervisor system and method of use
CN116841731A (zh) 一种fpga虚拟化资源调度系统及方法
CN117950816A (zh) 作业调度方法、装置和芯片
García Lloreda Small cell cloud proof of concept implementation and monitoring schemes analysis

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17914467

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2017914467

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017914467

Country of ref document: EP

Effective date: 20200123