[go: up one dir, main page]

CN108141407A - 移动边缘计算动态加速分配 - Google Patents

移动边缘计算动态加速分配 Download PDF

Info

Publication number
CN108141407A
CN108141407A CN201580083256.6A CN201580083256A CN108141407A CN 108141407 A CN108141407 A CN 108141407A CN 201580083256 A CN201580083256 A CN 201580083256A CN 108141407 A CN108141407 A CN 108141407A
Authority
CN
China
Prior art keywords
hardware
iot
operating environment
task
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580083256.6A
Other languages
English (en)
Other versions
CN108141407B (zh
Inventor
S·T·巴勒莫
S·J·谭
V·扬
H·穆斯塔法
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN108141407A publication Critical patent/CN108141407A/zh
Application granted granted Critical
Publication of CN108141407B publication Critical patent/CN108141407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation 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 hardware capabilities
    • 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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Advance Control (AREA)
  • Logic Circuits (AREA)

Abstract

这里大体上描述用于动态硬件加速的系统和方法的实施例。一种方法可以包括从在操作环境中执行的多个任务中识别候选任务,所述操作环境在硬件外壳内,所述候选任务服从硬件优化;响应于识别所述候选任务,在所述操作环境中实例化硬件组件,以针对所述任务执行硬件优化,所述硬件组件先前不能被所述操作环境访问;以及由所述操作环境执行服从所述硬件组件上的所述硬件优化的一类任务。

Description

移动边缘计算动态加速分配
技术领域
实施例涉及边缘计算。一些实施例涉及在启用物联网(IoT)服务时处理边缘设备处的任务。
背景技术
IoT设备是网络中的设备,通常包括传感器和有限的计算能力。IoT设备具有广泛的适用性,并且每个IoT设备通常专门针对其特定的使用和环境。IoT设备用于家庭、企业、工业应用、车辆、安全、优化和改善连通性。IoT设备直接相互通信,并且通过网关与其他网络和更广泛的互联网进行通信。
附图说明
在附图中,不一定按比例绘制,相似的数字可以在不同的视图中描述相似的部件。具有不同字母后缀的相似数字可表示相似组件的不同实例。作为示例,附图通常以非限制的方式说明本文中讨论的各种实施例。
图1示出了包括可以被分配给逻辑网关虚拟机(VM)的硬件加速器的设备。
图2示出了被分配硬件元件时的设备的转换的示例。
图3示出了支持IoT服务的移动边缘计算(MEC)和IoT网关的优化层级。
图4示出了根据一些实施例的示出用于动态硬件加速的技术的流程图。
图5大体示出了机器的框图的示例,在其上可以根据一些实施例执行本文所讨论的技术(例如,方法)中的任何一个或多个。
具体实施方式
从云计算到IoT服务的边缘计算的当前转变是由于以下驱动的:需要具有更接近IoT设备的更多处理能力以及提供大概定位的计算能力的降低成本。通过靠近无线和移动用户旨在提供不同的服务环境和无线接入网络(RAN)内的云计算能力,诸如针对移动边缘计算(MEC)的欧洲电信标准协会(ETSI)的那些标准的标准正在解决这种模式转变。由于边缘和IoT设备之间在基于云的处理上的提高的响应性,MEC可能允许IoT服务和应用程序的更好的性能。然而,如IoT数据存储的趋势,处理和分析向网络边缘移动,目前的系统常常无法优化支持IoT服务的MEC资源。
这里讨论的设备、方法和系统通过将基于需求的硬件加速动态分配给托管IoT网关的特定移动边缘计算(MEC)服务器或给负责IoT流量聚合、处理和存储的本地网关来优化IoT流量聚合、处理和服务供应。这些设备、方法和技术提供动态处理并提供边缘附近的处理(即更接近IoT数据源),这又优化了网络资源。所讨论的设备、方法和系统通过动态地将基于需求的硬件加速分配给特定的边缘计算网关或者共置的MEC服务器边缘计算网关来提供优化边缘计算能力的资源(例如,IoT流量聚合、处理和服务供应)。网关可以层级布置以减少边缘计算服务器或网关与IoT设备之间的延迟。
在示例中,IoT网关是具有计算和存储能力的边缘网络实体,并具有IoT数据聚合的作用和到云的连接。IoT网关可以根据处理能力以部分或完整的方式运行数据分析。IoT网关可能位于网络的不同级别,取决于IoT网络密度、部署要求和应用需求。在示例中,该系统包括多个实现基于边缘的计算的IoT网关,所述IoT网关在地理上布置的IoT网关或IoT设备之间进行通信以减少网关之间或网关与IoT设备之间的延迟。
图1示出了在硬件120中包括可被分配给逻辑网关虚拟机(VM)104的硬件加速器102的设备100。如图所示,硬件加速器最初未被分配102A,并且随后被分配102B到VM 104。设备100可以包括单个VM或多个VM(例如,VM 104、VM 106等)。每个VM可以操作针对各种IoT设备的网关。设备100包括操作系统118和包括针对不同类型的服务或任务(诸如视频处理、面部识别、音频处理等)的一个或多个硬件加速器(例如,硬件加速器102)的硬件120。硬件加速器102可以是专用的(例如,固定功能、硬连线等)或可编程逻辑(例如,现场可编程门阵列(FPGA))。
设备100包括可以在VM 104、操作系统118或硬件120中操作的过程监视器108。设备100的其他组件可以在VM 104、操作系统118或硬件120上运行,包括调度器110、硬件控制器112以及可选的硬件配置116以及用于配置转换的处理114。在一个示例中,系统100的组件处于单个机箱中。也就是说,系统100不是云类型架构,也不是由远程连接的组件组成,而是具有虚拟化层的更传统的硬件堆栈。
处理监视器108可以识别服从硬件优化的候选任务。在该示例中,候选任务可以在操作环境(例如,虚拟机或虚拟机的网关)中操作。硬件控制器112可以实例化VM 104中的硬件加速器102A,如加速器102B所示(针对候选任务或与候选任务相似的任务)。调度器110可以执行服从硬件优化的一类任务(例如,使用硬件加速器102B)。例如,第一视频处理(例如,面部识别)任务可以在VM 104上发起,源自IoT设备并通过网关接收。第一视频处理任务可以被处理监视器108识别为可以由加速器102A辅助的任务。硬件控制器112可以将加速器102A分配给VM 104。然后,调度器110可以使用分配给VM 104的加速器102B来执行第二视频处理任务(例如,如果第一视频处理任务已经完成)。因此,在示例中,一类任务是可以从相同的硬件加速器102受益的那些任务。
可以以各种方式确定任务对硬件加速的服从性。例如,任务可以尝试访问特定于特定硬件加速的硬件接口。一般来说,如果硬件加速不可用,访问将失败,并且任务可能会回退到通用处理器解决方案。因此,该请求可被拦截并匹配(例如,使用翻译数据库114)到特定的硬件加速器。在示例中,任务可以由请求协议标记(例如,在IoT请求协议中)。这样的标记可以被映射(例如,使用数据库114)到特定的硬件加速器。在示例中,具体的指令可以被映射到硬件加速设备。因此,如果这样的指令是由任务发起的,则该任务可以被分类为可修改为硬件加速。如果没有找到任务或由任务发起的活动到硬件120上的硬件加速器102的映射,则该任务不可修改为硬件加速。
硬件控制器112可访问硬件配置116数据库以确定什么资源是VM 104潜在可用的。在示例中,硬件配置数据库116包括FPGA配置。因此,可用的FPGA资源可以专门针对VM 104的硬件加速需求而定制。在该示例中,由任何配置提供的FPGA的任何结果功能可以是可用于VM 104的分立硬件加速器,并且可映射以确定任务服从硬件加速。以这种方式,获得用于各种任务的硬件加速的灵活性可以增加,而不会以许多专用组件加重硬件120的负担。
操作中的系统100的示例可以包括窗帘IoT控制器,其接收语音命令以升起帘。IoT设备上的麦克风捕获命令,但是处理被卸载到网关设备,系统100。系统100开始执行用于语音处理的任务,以从用户的话语中提取命令。由于在同一房间内有其他具有语音命令的IoT设备,所以这些请求中有几个同时进入系统100。处理监视器108观察到VM 104的处理资源在处理这些请求时承受负荷。对应于请求的语音识别任务被处理监视器108识别为引起处理负载。过程监视器108(或硬件控制器112)还识别出这些任务可修改为硬件加速。一旦做出该确定,硬件控制器112就将未分配的加速器102A分配给VM 104,而不中断操作系统118或VM 104。如上所述,加速器102A可以是FPGA。为了处理语音识别,硬件控制器112可以从硬件配置数据库116获得FPGA配置,并在将其作为加速器102B分配给VM 104之前对加速器102A进行编程。在分配之后,调度器110对于加速器102B执行语音识别任务。在示例中,原始任务可能已经在分配之前执行。然而,使用加速器102B的任务类别由调度器以硬件加速运行。以这种方式,边缘资源(例如,网关)可以以更有效的方式处理更广泛的各种IoT任务,而无需过多或异乎寻常的硬件。语音示例是示例性的,并且可以利用定制功能动态地加速其他功能。其他可能改进的任务包括可能进入ASIC或其他定制硬件的东西,例如用于操纵视频、传感器、信号或其他数据。
图2示出了设备100被分配硬件元件时的转换的示例。图2包括用于优化MEC能力以借助硬件加速来支持IoT服务的系统200。例如,在系统200针对指定任务进行优化后,硬件加速器202被添加到MEC VM1。在示例中,添加硬件加速器202与以上关于在VM 104中实例化硬件加速器102A的图1讨论一致,并且将理解的是,可以使用其他技术来添加、分配或重新分配硬件加速器202。系统200示出了通过将硬件加速器202添加到系统200来优化基于邻近度的IoT边缘计算的动态加速分配。其他硬件可以被包括在系统200中,包括外部存储器、访问网络的NIC、包括VM队列的主机处理器、高速缓存、存储器控制器、以及核心、硬件加速组件、以及包含任务/加速组件的加速复合体。
图1和2说明了单个机柜设备(如网关)内硬件分配的灵活性。但是,可能会出现本地网关没有足够资源或正确类型的资源来处理IoT请求的情况。然而,边缘网络设备中的层级边缘网络拓扑和各种硬件能力可以允许将任务转移到可用或有能力的设备,同时仍然实现通过云计算的边缘计算的计算效率。
图3示出了支持设备服务的MEC 308A和IoT网关的优化层级系统300。在示例中,层级系统300最小化用户设备或IoT设备与处理设备之间的延迟。IoT网关与MEC 308A之间的共存为IoT中的视频分析或其他处理呈现了机会。IoT网关(例如,虚拟机304上的网关)可以起到来自IoT摄像机的视频流量聚合器的作用。IoT网关可以处理视频流量或依靠层级系统300中的其他网关或运行虚拟IoT网关进行视频处理(例如,脸部识别、计算机视觉等)的MEC。IoT网关(例如,在VM 304上)可以使用用于视频处理的硬件加速器,例如来自硬件302。IoT网关还可以使用其他网关或MEC来进行分析、存储和智能高速缓存能力。
IoT网关可以具有层级部署,包括直接连接到IoT设备的本地网关314A,在相同子网内连接它们,半本地网关316A直接连接相同子网内的本地网关,并充当这些网关的聚合器,以及网络无线网络边缘处的全局网关308A与无线AP或增强节点B(eNodeB)共置。取决于IoT设备的通信能力,IoT网关318A可以是到本地(例如,314B)或半本地(例如,316B)网关的聚合器,或者可以与IoT设备直接通信(例如,318B)。
在示例中,各种类型的网关可以在系统中用作IoT网关。例如,物理网关312包括专用于网关角色的网络设备(例如全局网关308B)。在示例中,这适用于本地网关(例如314A)和半本地网关(例如316A)。另一种类型的网关可以包括共存网关,诸如专用于在连接性方面操作网关角色但与其他设备(例如,微型服务器)共存用于处理、存储或分析的网络设备。共存网关可适用于本地网关、半本地网关或全局网关。又一个IoT网关可能包括逻辑网关。逻辑网关可以包括实现网关功能的虚拟设备(例如,运行在网络设备上的虚拟机)。逻辑网关可能适用于全局网关、半本地网关或本地网关。
IoT域306可以包括与全局网关308A(例如,MEC)通信的一个或多个IoT网关(例如,IoT网关318B、本地IoT网关314B或半本地IoT网关316B)。全局网关308A可以与无线网络域中的AP或eNodeB进行通信,而无线网络域又可以与更大的无线核心域310或互联网或其他网络进行通信。
在示例中,系统300包括可用于在虚拟环境中分配的硬件加速设备302,如上所述。硬件加速设备302可以包括专用硬件(例如硬连线)或可编程硬件(例如FPGA等)加速。系统300可将硬件加速302分配给IoT服务任务或多个任务(例如,安全性、压缩、媒体处理等)以改善(通用CPU处理器所分配的用于完成相同的任务或多个任务所需要的)速度、功能、功率或所花费的时间。在另一个示例中,硬件加速可以动态分配给虚拟边缘计算资源,诸如不关闭现有系统。在示例中,用于基于渲染的IoT服务来优化基于边缘的计算资源的系统包括被配置为处理邻近定位的IoT计算需求的边缘计算虚拟机。该系统可以包括处理器以运行CPU利用率处理和违规任务处理。CPU利用率处理可以包括确定边缘计算虚拟机的总体CPU利用率,并且违规任务处理可以包括确定利用边缘计算虚拟机的大多数CPU的任务。该系统可以包括在提供边缘计算虚拟机的相同服务器主机内可用的各种可分配(例如,单根I/O虚拟化(SR-IOV))硬件加速(例如,专用安全、压缩、或媒体加速;或可编程逻辑加速)。该系统可以包括被配置为确定哪个可用硬件加速是可用的的加速复合体,以及那些可用硬件加速中的哪个硬件加速在被分配给所提供的边缘计算虚拟机时将导致整体CPU利用率降低,诸如导致CPU利用率低于预定限制的降低。硬件加速可能基于所需的工作负载而不同。IoT服务的示例包括MEC服务器处的网络实时通信(WebRTC),用于管理远程用户IoT应用程序与用户可远程监视的智能空间之间的视频会话(例如,在涉及eHealth或远程病人监视的情况下)。在另一个示例中,IoT服务可以包括人脸识别,例如为了安全目的识别人。
另一个IoT服务可以包括零售促销,其中本地网关可以追踪用户位置并将该用户位置发送到层级中的上层网关(例如,可以与MEC共置的网关)以基于身份向用户发送优惠券、位置或其他用户特性(例如,通过智能电话的RFID身份、面部识别、用户输入的信息等)。在示例中,IoT服务可以包括基于农业的IoT服务,例如用于远程监视不同地区的农场的设备。例如,IoT网关可以将与湿度、泄漏、温度等相关的传感器数据发送到MEC服务器,并且可以在MEC处处理分析以给出趋势或发送警报。在又一示例中,增强现实(例如,基于传感器的)可以是IoT服务,并且本地网关可以将传感器信息发送给MEC,并且MEC可以运行分析并推送适合用户位置和上下文的视频。另一个增强现实示例可以包括用户的拉模式。
如上所述,虽然给定的网关可以经由动态硬件加速分配来优化,但是有时通常服务IoT设备的给定网关(例如,由于网络邻近度、低延迟、负载均衡等)可能不具有可用于任务的适当硬件加速器。在这些场景中,网关网络的层级可用于平衡网络效率和硬件可用性。在示例中,本地网关可以搜索附近的本地网关以获得硬件可用性。在示例中,搜索是通过确定目标任务服从使用的硬件加速器来定制的。在示例中,搜索涉及任务请求本身。在示例中,搜索在层级上前进,给予更接近IoT请求者的节点以偏好。在这些示例中,接近度可能是物理接近度,或者可能是在延迟、带宽或两者的组合中测量的。在示例中,成本(例如,财务或其他)可能是考虑因素。例如,如果从相邻设备借用的延迟少于保持本地的成本,则可以进行传送,否则可能保持本地。在示例中,硬件优化过程可以从本地定制硬件移出并转移到邻居,有利于在本地实例化更繁重的任务。
图4示出了示出根据一些实施例的用于动态硬件加速的技术400的流程图。技术400包括操作402以识别在服从硬件优化的操作环境中执行的候选任务。例如,候选任务可以包括来自IoT设备的任务或服务,并且操作环境可以包括系统的虚拟机。虚拟机可以是系统中多个虚拟机中的一个。硬件优化可以包括将硬件加速器从系统的硬件分配给虚拟机。技术400包括操作404以在操作环境中实例化硬件组件以针对候选任务执行硬件优化。硬件组件可以包括硬件加速器,该硬件加速器被配置为优化或改善与候选任务的类型任务相对应的任务的类型。在示例中,实例化硬件组件包括在操作环境内启动到硬件组件的接口。启动接口可以包括通过虚拟机监视器(VMM)将硬件组件分配给虚拟机,并且操作环境可以是虚拟机。分配硬件组件可以包括不中断由操作环境执行多个任务。在另一个示例中,实例化硬件可以包括在对应于任务类别的数据库中找到组件配置并且使用组件配置来配置硬件组件。该示例可以包括将配置的硬件组件分配给操作环境。在示例中,一旦定制硬件已经被编程到FPGA中或以硬件实例化,则设备的状态可以被交换入/出以促进跨想要使用那个相同设备的不同VM的多任务共享。
技术400包括操作406以执行服从硬件组件上的硬件优化的一类任务。操作环境可以实现IoT网关,例如在虚拟机上。IoT网关可能包含MEC设备。
该技术可以包括其他操作,例如识别第二候选任务的操作,未能针对服从与第二候选任务相同的硬件优化的第二类任务实例化第二硬件组件,在IoT层级中找到第二IoT服务设备(例如,另一个IoT网关、服务器、设备等),以及将第二类任务传送给第二IoT服务设备。寻找第二IoT服务设备可以包括搜索层级,所述层级从操作环境(例如,IoT网关)所属的层级结束处开始并继续至层级的另一端。该技术可以包括通过测量处理器的利用率并且当利用率超过阈值时识别候选任务来识别候选任务的操作。该任务可包括服务或处理。硬件组件可以包括现场可编程门阵列(FPGA)。
该技术可以包括通过尝试使用对应于一类硬件组件(例如硬件加速器)的操作环境的接口来确定候选任务是否服从硬件优化。在另一个示例中,当任务的标记包括数据库中的对应类别的硬件组件时,候选任务可服从硬件优化。标记可以包括发起候选任务的请求设备(例如,IoT设备)进行的通知,该通知标识该任务服从硬件优化。标记可以包括任务中的一组指令,并且当该组指令与规则集匹配时,该任务可以服从硬件优化。
图5大体示出机器900的框图的示例,其中根据一些实施例可以在其上执行本文所讨论技术(例如,方法)中的任何一个或多个。在替代实施例中,机器900可以作为独立设备操作或可以连接(例如联网)到其他机器。在联网部署中,机器900可以在服务器-客户端网络环境中以服务器机器、客户端机器或两者的能力运行。在示例中,机器900可以用作对等(P2P)(或其他分布式)网络环境中的对等机器。机器900可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络设备、网络路由器、交换机或网桥、或者任何能够执行指令(顺序或其他)的机器,其指定该机器要执行的动作。此外,尽管仅示出单个机器,但术语“机器”也应被理解为包括单独或联合执行一组(或多组)指令以执行本文讨论的任何一种或多种方法的机器的任何集合,如云计算、软件即服务(SaaS)、其他计算机集群配置。
如本文所述,示例可以包括逻辑或多个组件、模块或机构,或者可以在其上操作。模块是在操作时能够执行指定操作的有形实体(例如,硬件)。模块包括硬件。在示例中,硬件可以被具体配置为执行特定操作(例如,硬连线)。在示例中,硬件可以包括可配置执行单元(例如晶体管、电路等)和包含指令的计算机可读介质,其中指令配置执行单元以在操作中执行特定操作。配置可在执行单元或加载机制的指导下发生。因此,当设备运行时,执行单元通信地耦合到计算机可读介质。在这个示例中,执行单元可能是多于一个模块的成员。例如,在操作下,执行单元可以由第一组指令配置为在一个时间点实现第一模块并且由第二组指令重新配置以实现第二模块。
机器(例如,计算机系统)900可以包括硬件处理器902(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合)、主存储器904和静态存储器906,它们中的一些或全部可以经由互连(例如,总线)908彼此通信。机器900还可以包括显示单元910、字母数字输入设备912(例如键盘)和用户界面(UI)导航设备914(例如,鼠标)。在示例中,显示单元910、字母数字输入设备912和UI导航设备914可以是触摸屏显示器。机器900可以另外包括存储设备(例如驱动单元)916、信号发生设备918(例如扬声器)、网络接口设备920以及一个或多个传感器921,诸如全球定位系统(GPS)传感器、指南针、加速计或其他传感器。机器900可以包括诸如串行(例如,通用串行总线(USB)、并行或其他有线或无线(例如红外(IR)、近场通信(NFC)等)连接的输出控制器928,以传达或控制一个或多个外围设备(例如,打印机、读卡器等)。
存储设备916可以包括机器可读介质922,该机器可读介质922是非暂时性的,在该机器可读介质922上存储体现本文描述的技术或功能中的任何一个或多个技术或功能或由其利用的数据结构或指令924(例如,软件)的一个或多个集合。指令924还可以在机器900对其执行期间完全或至少部分地驻留在主存储器904内、在静态存储器906内或在硬件处理器902内。在示例中,硬件处理器902、主存储器904、静态存储器906或存储设备916中的一个或任何组合可以构成机器可读介质。
尽管机器可读介质922被图示为单个介质,但术语“机器可读介质”可以包括单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器),其被配置为存储一个或多个指令924。
术语“机器可读介质”可以包括能够存储、编码或携带供机器900执行并且使机器900执行本公开的技术中的任何一个或多个的指令,或者能够存储、编码或携带由这些指令使用或与这些指令相关联的数据结构的任何介质。非限制性机器可读介质示例可以包括固态存储器以及光学和磁介质。在示例中,集中式机器可读介质包括具有多个具有不变(例如,静止)质量的粒子的机器可读介质。因此,集中的机器可读介质不是短暂传播信号。集中式机器可读介质的具体示例可以包括:非易失性存储器,诸如半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪存设备;磁盘,如内部硬盘和可移动磁盘;磁光盘;和CD-ROM和DVD-ROM盘。
指令924可以进一步通过通信网络926使用传输介质经由网络接口设备920利用多种传输协议(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传输协议(HTTP)等)中的任意一个来发送或接收。示例性通信网络可以包括局域网(LAN)、广域网(WAN),分组数据网络(例如因特网)、移动电话网络(例如蜂窝网络)、普通老式电话(POTS)网络、以及无线数据网络(例如称为的电气和电子工程师协会(IEEE)802.11系列标准,被称为的IEEE 802.16系列标准)、IEEE 802.15.4系列标准、对等(P2P)网络等等。在示例中,网络接口设备920可以包括一个或多个物理插孔(例如,以太网、同轴、或电话插孔)或一个或多个天线以连接到通信网络926。在示例中,网络接口设备920可以包括多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一个来进行无线通信。术语“传输介质”应被理解为包括能够存储、编码或携带用于由机器900执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这种软件的通信。
各种注释和示例
这些非限制性示例中的每一个可以独立存在,或者可以以各种排列来组合或与一个或多个其他示例组合。
示例1是用于动态硬件加速的系统,所述方法包括:过程监视器,用于从在操作环境中执行的多个任务中识别候选任务,操作环境在硬件外壳内,候选任务服从硬件优化;硬件控制器,其用于响应于识别候选任务,在操作环境中实例化硬件组件,以针对任务执行硬件优化;以及调度器,用于在硬件组件上执行服从硬件优化的一类任务。
在示例2中,示例1的主题可选地包括,其中操作环境是硬件外壳的虚拟机。
在示例3中,示例2的主题可选地包括,其中虚拟机是硬件外壳的多个虚拟机中的一个。
在示例4中,示例1-3中的任何一个或多个的主题可选地包括,其中操作环境是操作系统。
在示例5中,示例1-4中的任何一个或多个的主题可选地包括,其中操作环境实现物联网(IoT)网关。
在示例6中,示例5的主题可选地包括,其中IoT网关是移动边缘计算(MEC)设备。
在示例7中,示例6的主题可选地包括,其中候选任务是由来自IoT网关所服务的IoT设备的请求发起的多个任务中的一个。
在示例8中,示例5-7中的任何一个或多个的主题可选地包括,其中IoT网关是服务IoT设备集的多个IoT服务设备中的一个。
在示例9中,示例8的主题可选地包括,其中多个IoT服务设备被分层级安排,其中直接服务IoT设备集的IoT网关在层级的一端处而网络边缘服务器在层级的另一端处。
在示例10中,示例9的主题可选地包括,其中:过程监视器从多个任务中识别第二候选任务;硬件控制器未能针对服从与第二候选任务相同的硬件优化的第二类任务而实例化第二硬件组件;调度器用于:在层级中找到能够实例化硬件组件的第二IoT服务设备;以及将第二类任务转移到第二IoT服务设备。
在示例11中,示例10的主题可选地包括,其中为了找到第二IoT服务设备,调度器将搜索层级,从IoT网关所属层级的端开始,继续至层级的另一端。
在示例12中,示例1-11中的任何一个或多个的主题可选地包括,其中为了标识候选任务,过程监视器用于:测量处理器的利用率;以及在利用率超过阈值时识别任务。
在示例13中,示例1-12中的任何一个或多个的主题可选地包括,其中任务是过程。
在示例14中,示例1-13中的任何一个或多个的主题可选地包括,其中当候选任务尝试使用对应于一类硬件组件的操作环境的接口时,其服从硬件优化。
在示例15中,示例1-14中的任何一个或多个的主题可选地包括,其中当任务的标记包括数据库中的对应类别的硬件组件时,候选任务服从硬件优化。
在示例16中,示例15的主题可选地包括,其中该标记是发起该任务的请求设备进行的通知,该通知标识该任务服从硬件优化。
在示例17中,示例15-16中的任何一个或多个的主题可选地包括,其中该标记包括该任务中的一组指令,并且其中当该组指令匹配规则集时该任务服从硬件优化。
在示例18中,示例1-17中的任何一个或多个的主题可选地包括,其中为了实例化硬件组件,硬件控制器在操作环境内启动到硬件组件的接口。
在示例19中,示例18的主题可选地包括,其中为了启动接口,硬件控制器通过虚拟机监视器(VMM)将硬件组件分配给虚拟机,该操作环境是虚拟机。
在示例20中,示例19的主题可选地包括,其中为了分配硬件组件,硬件控制器不中断由操作环境执行多个任务。
在示例21中,示例1至20中的任何一个或多个的主题可选地包括,其中为了实例化硬件组件,硬件控制器用于:在数据库中找到与该类任务相对应的组件配置;使用组件配置来配置硬件组件;以及将所配置的硬件组件分配给操作环境。
在示例22中,示例21的主题可选地包括,其中硬件组件是现场可编程门阵列(FPGA)。
示例23是一种用于动态硬件加速的方法,所述方法包括:从在操作环境中执行的多个任务中识别候选任务,操作环境在硬件外壳内,候选任务服从硬件优化;响应于识别候选任务,在操作环境中实例化硬件组件,以针对任务执行硬件优化,硬件组件先前不能被操作环境访问;以及由操作环境执行服从硬件组件上的硬件优化的一类任务。
在示例24中,示例23的主题可选地包括,其中操作环境是硬件外壳的虚拟机。
在示例25中,示例24的主题可选地包括,其中虚拟机是硬件外壳的多个虚拟机中的一个。
在示例26中,示例23-25中的任何一个或多个的主题可选地包括,其中操作环境是操作系统。
在示例27中,示例23-26中的任何一个或多个的主题可选地包括,其中操作环境实现物联网(IoT)网关。
在示例28中,示例27的主题可选地包括,其中IoT网关是移动边缘计算(MEC)设备。
在示例29中,示例28的主题可选地包括,其中候选任务是由来自IoT网关所服务的IoT设备的请求发起的多个任务中的一个。
在示例30中,示例27-29中的任何一个或多个的主题可选地包括,其中IoT网关是服务IoT设备集的多个IoT服务设备中的一个。
在示例31中,示例30的主题可选地包括,其中多个IoT服务设备被分层级安排,其中直接服务IoT设备集的IoT网关在层级的一端处而网络边缘服务器在层级的另一端处。
在示例32中,示例31的主题可选地包括:从多个任务中识别第二候选任务;未能针对服从与第二候选任务相同的硬件优化的第二类任务而实例化第二硬件组件;在层级中找到能够实例化硬件组件的第二IoT服务设备;以及将第二类任务转移到第二IoT服务设备。
在示例33中,示例32的主题可选地包括,其中找到第二IoT服务设备包括搜索层级,从IoT网关所属层级的端开始,继续至层级的另一端。
在示例34中,示例23-33中的任何一个或多个的主题可选地包括,其中识别候选任务包括:测量处理器的利用率;以及在利用率超过阈值时识别任务。
在示例35中,示例23-34中的任何一个或多个的主题可选地包括,其中任务是过程。
在示例36中,示例23-35中的任何一个或多个的主题可选地包括,其中当候选任务尝试使用对应于一类硬件组件的操作环境的接口时,其服从硬件优化。
在示例37中,示例23-36中的任何一个或多个的主题可选地包括,其中当任务的标记包括数据库中的对应类别的硬件组件时,候选任务服从硬件优化。
在示例38中,示例37的主题可选地包括,其中该标记是发起该任务的请求设备进行的通知,该通知标识该任务服从硬件优化。
在示例39中,示例37-38中的任何一个或多个示例的主题可选地包括,其中该标记包括该任务中的一组指令,并且其中当该组指令匹配规则集时该任务服从硬件优化。
在示例40中,示例23-39中的任何一个或多个的主题可选地包括,其中实例化硬件组件包括在操作环境内启动到硬件组件的接口。
在示例41中,示例40的主题可选地包括,其中启动接口包括通过虚拟机监视器(VMM)将硬件组件分配给虚拟机,操作环境是虚拟机。
在示例42中,示例41的主题可选地包括,其中分配硬件组件不中断由操作环境执行多个任务。
在示例43中,示例23-42中的任何一个或多个的主题可选地包括,其中实例化硬件组件包括:在数据库中找到与该类任务相对应的组件配置;使用组件配置来配置硬件组件;以及将所配置的硬件组件分配给操作环境。
在示例44中,示例43的主题可选地包括,其中硬件组件是现场可编程门阵列(FPGA)。
在示例45中,示例23-44中的任何一个或多个的主题可选地包括-M15。
在示例46中,示例23-45中的任何一个或多个的主题可选地包括-M15。
示例47是包括指令的至少一个机器可读介质,所述指令在被执行时使机器执行用于动态硬件加速的操作,所述操作包括:从在操作环境中执行的多个任务中识别候选任务,操作环境在硬件外壳内,候选任务服从硬件优化;响应于识别候选任务,在操作环境中实例化硬件组件,以针对任务执行硬件优化,硬件组件先前不能被操作环境访问;以及由操作环境执行服从硬件组件上的硬件优化的一类任务。
在示例48中,示例47的主题可选地包括,其中操作环境是硬件外壳的虚拟机。
在示例49中,示例48的主题可选地包括,其中虚拟机是硬件外壳的多个虚拟机中的一个。
在示例50中,示例47-49中的任何一个或多个示例的主题可选地包括,其中操作环境是操作系统。
在示例51中,示例47-50中的任何一个或多个的主题可选地包括,其中操作环境实现物联网(IoT)网关。
在示例52中,示例51的主题可选地包括,其中IoT网关是移动边缘计算(MEC)设备。
在示例53中,示例52的主题可选地包括,其中候选任务是由来自IoT网关所服务的IoT设备的请求发起的多个任务中的一个。
在示例54中,示例51-53中的任何一个或多个的主题可选地包括,其中IoT网关是服务IoT设备集的多个IoT服务设备中的一个。
在示例55中,示例54的主题可选地包括,其中多个IoT服务设备被分层级安排,其中直接服务IoT设备集的IoT网关在层级的一端处而网络边缘服务器在层级的另一端处。
在示例56中,示例55的主题可选地包括:从多个任务中识别第二候选任务;未能针对服从与第二候选任务相同的硬件优化的第二类任务而实例化第二硬件组件;在层级中找到能够实例化硬件组件的第二IoT服务设备;以及将第二类任务转移到第二IoT服务设备。
在示例57中,示例56的主题可选地包括,其中找到第二IoT服务设备包括搜索层级,从IoT网关所属层级的端开始,继续至层级的另一端。
在示例58中,示例47-57中的任何一个或多个的主题可选地包括,其中识别候选任务包括:测量处理器的利用率;以及在利用率超过阈值时识别任务。
在示例59中,示例47-58中的任何一个或多个的主题可选地包括,其中任务是过程。
在示例60中,示例47-59中的任何一个或多个的主题可选地包括,其中当候选任务尝试使用对应于一类硬件组件的操作环境的接口时,其服从硬件优化。
在示例61中,示例47-60中的任何一个或多个的主题可选地包括,其中当任务的标记包括数据库中的对应类别的硬件组件时,候选任务服从硬件优化。
在示例62中,示例61的主题可选地包括,其中该标记是发起该任务的请求设备进行的通知,该通知标识该任务服从硬件优化。
在示例63中,示例61-62中的任何一个或多个的主题可选地包括,其中该标记包括该任务中的一组指令,并且其中当该组指令匹配规则集时该任务服从硬件优化。
在示例64中,示例47-63中的任何一个或多个示例的主题可选地包括,其中实例化硬件组件包括在操作环境内启动到硬件组件的接口。
在示例65中,示例64的主题可选地包括,其中启动接口包括通过虚拟机监视器(VMM)将硬件组件分配给虚拟机,操作环境是虚拟机。
在示例66中,示例65的主题可选地包括,其中分配硬件组件不中断由操作环境执行多个任务。
在示例67中,示例47-66中的任何一个或多个的主题可选地包括,其中实例化硬件组件包括:在数据库中找到与该类任务相对应的组件配置;使用组件配置来配置硬件组件;以及将所配置的硬件组件分配给操作环境。
在示例68中,示例67的主题可选地包括,其中硬件组件是现场可编程门阵列(FPGA)。
示例69是一种用于动态硬件加速的系统,所述系统包括:用于从在操作环境中执行的多个任务中识别候选任务的单元,操作环境在硬件外壳内,候选任务服从硬件优化;用于响应于识别候选任务,在操作环境中实例化硬件组件,以针对任务执行硬件优化的单元,硬件组件先前不能被操作环境访问;以及用于由操作环境执行服从硬件组件上的硬件优化的一类任务的单元。
在示例70中,示例69的主题可选地包括,其中操作环境是硬件外壳的虚拟机。
在示例71中,示例70的主题可选地包括,其中虚拟机是硬件外壳的多个虚拟机中的一个。
在示例72中,示例69-71中的任何一个或多个示例的主题可选地包括,其中操作环境是操作系统。
在示例73中,示例69-72中的任何一个或多个的主题可选地包括,其中操作环境实现物联网(IoT)网关。
在示例74中,示例73的主题可选地包括,其中IoT网关是移动边缘计算(MEC)设备。
在示例75中,示例74的主题可选地包括,其中候选任务是由来自IoT网关所服务的IoT设备的请求发起的多个任务中的一个。
在示例76中,示例73-75中的任何一个或多个的主题可选地包括,其中IoT网关是服务IoT设备集的多个IoT服务设备中的一个。
在示例77中,示例76的主题可选地包括,其中多个IoT服务设备被分层级安排,其中直接服务IoT设备集的IoT网关在层级的一端处而网络边缘服务器在层级的另一端处。
在示例78中,示例77的主题可选地包括:用于从多个任务中识别第二候选任务的单元;用于未能针对服从与第二候选任务相同的硬件优化的第二类任务而实例化第二硬件组件的单元;用于在层级中找到能够实例化硬件组件的第二IoT服务设备的单元;以及用于将第二类任务转移到第二IoT服务设备的单元。
在示例79中,示例78的主题可选地包括,其中找到第二IoT服务设备包括搜索层级,从IoT网关所属层级的端开始,继续至层级的另一端。
在示例80中,示例69-79中的任何一个或多个的主题可选地包括,其中识别候选任务包括:用于测量处理器的利用率的单元;以及用于在利用率超过阈值时识别任务的单元。
在示例81中,示例69-80中的任何一个或多个的主题可选地包括,其中任务是过程。
在示例82中,示例69-81中的任何一个或多个示例的主题可选地包括,其中当候选任务尝试使用对应于一类硬件组件的操作环境的接口时,其服从硬件优化。
在示例83中,示例69-82中的任何一个或多个的主题可选地包括,其中当任务的标记包括数据库中的对应类别的硬件组件时,候选任务服从硬件优化。
在示例84中,示例83的主题可选地包括,其中该标记是发起该任务的请求设备进行的通知,该通知标识该任务服从硬件优化。
在示例85中,示例83-84中的任何一个或多个的主题可选地包括,其中该标记包括该任务中的一组指令,并且其中当该组指令匹配规则集时该任务服从硬件优化。
在示例86中,示例69-85中的任何一个或多个的主题可选地包括,其中实例化硬件组件包括在操作环境内启动到硬件组件的接口。
在示例87中,示例86的主题可选地包括,其中启动接口包括通过虚拟机监视器(VMM)将硬件组件分配给虚拟机,操作环境是虚拟机。
在示例88中,示例87的主题可选地包括,其中分配硬件组件不中断由操作环境执行多个任务。
在示例89中,示例69-88中的任何一个或多个的主题可选地包括,其中实例化硬件组件包括:用于在数据库中找到对应于该类任务的组件配置的单元;用于使用组件配置来配置硬件组件的单元;以及用于将所配置的硬件组件分配给操作环境的单元。
在示例90中,示例89的主题可选地包括,其中硬件组件是现场可编程门阵列(FPGA)。
在示例91中,示例69-90中的任何一个或多个的主题可选地包括MF15。
在示例92中,示例69-91中的任何一个或多个的主题可选地包括MF15。
这里描述的方法示例可以是至少部分地机器或计算机实现的。一些示例可以包括用指令编码的计算机可读介质或机器可读介质,所述指令可操作来配置电子设备以执行如上面的示例中描述的方法。这些方法的实现可以包括代码,诸如微码、汇编语言代码、更高级的语言代码等。这种代码可以包括用于执行各种方法的计算机可读指令。该代码可以形成计算机程序产品的部分。此外,在示例中,代码可以有形地存储在一个或多个易失性、非暂时性、或非易失性有形计算机可读介质上,诸如在执行期间或在其他时间。这些有形计算机可读介质的示例可以包括但不限于硬盘、可移动磁盘、可移动光盘(例如,压缩光盘和数字视频光盘)、磁、存储卡或棒、随机存取存储器(RAM)、只读存储器(ROM)等。

Claims (24)

1.一种用于动态硬件加速的系统,所述方法包括:
过程监视器,用于从在操作环境中执行的多个任务中识别候选任务,所述操作环境在硬件外壳内,所述候选任务服从硬件优化;
硬件控制器,用于响应于识别所述候选任务,在所述操作环境中实例化硬件组件,以针对所述任务执行硬件优化;以及
调度器,用于在所述硬件组件上执行服从所述硬件优化的一类任务。
2.根据权利要求1所述的系统,其中所述操作环境实现物联网(IoT)网关。
3.根据权利要求2所述的系统,其中所述IoT网关是服务IoT设备集的多个IoT服务设备中的一个。
4.根据权利要求3所述的系统,其中所述多个IoT服务设备被分层级安排,其中直接服务所述IoT设备集的IoT网关在所述层级的一端处而网络边缘服务器在所述层级的另一端处。
5.根据权利要求4所述的系统,其中:
所述过程监视器从所述多个任务中识别第二候选任务;
所述硬件控制器未能针对服从与所述第二候选任务相同的硬件优化的第二类任务而实例化第二硬件组件;
所述调度器用于:
在所述层级中找到能够实例化所述硬件组件的第二IoT服务设备;
以及
将所述第二类任务转移到所述第二IoT服务设备。
6.根据权利要求1所述的系统,其中为了识别所述候选任务,所述过程监视器用于:
测量处理器的利用率;以及
当所述利用率超过阈值时识别所述任务。
7.根据权利要求1所述的系统,其中当所述任务的标记包括数据库中的对应类别的硬件组件时,所述候选任务服从硬件优化。
8.根据权利要求1所述的系统,其中为了实例化所述硬件组件,所述硬件控制器用于:
在数据库中找到与所述一类任务相对应的组件配置;
使用所述组件配置来配置所述硬件组件;以及
将所配置的硬件组件分配给所述操作环境。
9.一种用于动态硬件加速的方法,所述方法包括:
从在操作环境中执行的多个任务中识别候选任务,所述操作环境在硬件外壳内,所述候选任务服从硬件优化;
响应于识别所述候选任务,在所述操作环境中实例化硬件组件,以针对所述任务执行硬件优化,所述硬件组件先前不能被所述操作环境访问;以及
由所述操作环境执行服从所述硬件组件上的所述硬件优化的一类任务。
10.根据权利要求9所述的方法,其中所述操作环境实现物联网(IoT)网关。
11.根据权利要求10所述的方法,其中所述IoT网关是服务IoT设备集的多个IoT服务设备中的一个。
12.根据权利要求11所述的方法,其中所述多个IoT服务设备被分层级安排,其中直接服务所述IoT设备集的IoT网关在所述层级的一端处而网络边缘服务器在所述层级的另一端处。
13.根据权利要求12所述的方法,包括:
从所述多个任务中识别第二候选任务;
未能针对服从与所述第二候选任务相同的硬件优化的第二类任务而实例化第二硬件组件;
在所述层级中找到能够实例化所述硬件组件的第二IoT服务设备;以及
将所述第二类任务转移到所述第二IoT服务设备。
14.根据权利要求9所述的方法,其中识别所述候选任务包括:
测量处理器的利用率;以及
当所述利用率超过阈值时识别所述任务。
15.根据权利要求9所述的方法,其中当所述任务的标记包括数据库中的对应类别的硬件组件时,所述候选任务服从硬件优化。
16.根据权利要求9所述的方法,其中实例化所述硬件组件包括:
在数据库中找到与所述一类任务相对应的组件配置;
使用所述组件配置来配置所述硬件组件;以及
将所配置的硬件组件分配给所述操作环境。
17.包括指令的至少一个机器可读介质,所述指令在被执行时使所述机器执行用于动态硬件加速的操作,所述操作包括:
从在操作环境中执行的多个任务中识别候选任务,所述操作环境在硬件外壳内,所述候选任务服从硬件优化;
响应于识别所述候选任务,在所述操作环境中实例化硬件组件,以针对所述任务执行硬件优化,所述硬件组件先前不能被所述操作环境访问;以及
由所述操作环境执行服从所述硬件组件上的所述硬件优化的一类任务。
18.根据权利要求17所述的至少一种机器可读介质,其中所述操作环境实现物联网(IoT)网关。
19.根据权利要求18所述的至少一种机器可读介质,其中所述IoT网关是服务IoT设备集的多个IoT服务设备中的一个。
20.根据权利要求19所述的至少一种机器可读介质,其中所述多个IoT服务设备被分层级安排,其中直接服务所述IoT设备集的IoT网关在所述层级的一端处而网络边缘服务器在所述层级的另一端处。
21.根据权利要求20所述的至少一种机器可读介质,包括:
从所述多个任务中识别第二候选任务;
未能针对服从与所述第二候选任务相同的硬件优化的第二类任务而实例化第二硬件组件;
在所述层级中找到能够实例化所述硬件组件的第二IoT服务设备;以及
将所述第二类任务转移到所述第二IoT服务设备。
22.根据权利要求17所述的至少一种机器可读介质,其中识别所述候选任务包括:
测量处理器的利用率;以及
当所述利用率超过阈值时识别所述任务。
23.根据权利要求17所述的至少一种机器可读介质,其中当所述任务的标记包括数据库中的对应类别的硬件组件时,所述候选任务服从硬件优化。
24.根据权利要求17所述的至少一种机器可读介质,其中实例化所述硬件组件包括:
在数据库中找到与所述一类任务相对应的组件配置;
使用所述组件配置来配置所述硬件组件;以及
将所配置的硬件组件分配给所述操作环境。
CN201580083256.6A 2015-10-21 2015-10-21 移动边缘计算动态加速分配 Active CN108141407B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/092416 WO2017066936A1 (en) 2015-10-21 2015-10-21 Mobile edge compute dynamic acceleration assignment

Publications (2)

Publication Number Publication Date
CN108141407A true CN108141407A (zh) 2018-06-08
CN108141407B CN108141407B (zh) 2021-03-19

Family

ID=58556574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580083256.6A Active CN108141407B (zh) 2015-10-21 2015-10-21 移动边缘计算动态加速分配

Country Status (6)

Country Link
US (1) US10929189B2 (zh)
EP (1) EP3366011B1 (zh)
JP (1) JP6388896B2 (zh)
CN (1) CN108141407B (zh)
SG (1) SG10201608495TA (zh)
WO (1) WO2017066936A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109257432A (zh) * 2018-10-12 2019-01-22 桂林电子科技大学 一种任务切换方法、计算机装置及可读存储介质
CN109976876A (zh) * 2019-03-20 2019-07-05 联想(北京)有限公司 加速器管理方法和装置
CN111782897A (zh) * 2020-07-07 2020-10-16 中国联合网络通信集团有限公司 用户权益管理方法、服务器、系统、设备及介质
US10929189B2 (en) 2015-10-21 2021-02-23 Intel Corporation Mobile edge compute dynamic acceleration assignment
CN112732442A (zh) * 2021-01-11 2021-04-30 重庆大学 一种边缘计算负载均衡的分布式模型及其求解方法
CN116349216A (zh) * 2020-09-23 2023-06-27 西门子股份公司 边缘计算方法及系统、边缘设备和控制服务器

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10791177B2 (en) * 2015-12-24 2020-09-29 Intel Corporation System to monitor and control sensor devices
CN105979007B (zh) * 2016-07-04 2020-06-02 华为技术有限公司 加速资源处理方法、装置及网络功能虚拟化系统
US10372486B2 (en) * 2016-11-28 2019-08-06 Amazon Technologies, Inc. Localized device coordinator
US10783016B2 (en) 2016-11-28 2020-09-22 Amazon Technologies, Inc. Remote invocation of code execution in a localized device coordinator
US20180277123A1 (en) * 2017-03-22 2018-09-27 Bragi GmbH Gesture controlled multi-peripheral management
US11025722B2 (en) * 2017-04-15 2021-06-01 Microsoft Technology Licensing, Llc IoT device jobs
CN108990112B (zh) * 2017-05-31 2021-01-15 华为技术有限公司 通信网络中的任务处理方法和通信装置
EP3644180A4 (en) * 2017-06-23 2020-06-17 Nokia Solutions and Networks Oy METHOD AND APPARATUS FOR MANAGING RESOURCES IN A PERIPHERAL CLOUD
US11416300B2 (en) 2017-06-29 2022-08-16 Intel Corporaton Modular accelerator function unit (AFU) design, discovery, and reuse
WO2019071101A1 (en) * 2017-10-06 2019-04-11 Convida Wireless, Llc ACTIVATION OF A FOG SERVICE LAYER WITH APPLICATION TO INTELLIGENT TRANSPORT SYSTEMS
US11502948B2 (en) 2017-10-16 2022-11-15 Mellanox Technologies, Ltd. Computational accelerator for storage operations
US11005771B2 (en) 2017-10-16 2021-05-11 Mellanox Technologies, Ltd. Computational accelerator for packet payload operations
US10841243B2 (en) 2017-11-08 2020-11-17 Mellanox Technologies, Ltd. NIC with programmable pipeline
CN109818868B (zh) * 2017-11-20 2021-06-22 中兴通讯股份有限公司 一种实现边缘网络能力开放的方法、装置、设备及存储介质
US10708240B2 (en) 2017-12-14 2020-07-07 Mellanox Technologies, Ltd. Offloading communication security operations to a network interface controller
KR102039242B1 (ko) * 2018-02-08 2019-10-31 한국과학기술원 Mec 환경에서 전력 절감을 위한 동적 가상 객체 배치 방법 및 시스템
US20190319815A1 (en) * 2018-04-17 2019-10-17 Flex Ltd. Distributed rules engine
CN108667920B (zh) * 2018-04-26 2020-08-11 浪潮集团有限公司 一种雾计算环境业务流量加速系统及其业务流量加速方法
WO2020005276A1 (en) * 2018-06-29 2020-01-02 Intel IP Corporation Technologies for cross-layer task distribution
CN108924228B (zh) * 2018-07-06 2022-11-04 中国联合网络通信集团有限公司 基于边缘计算的工业互联网优化系统
CN108924938B (zh) * 2018-08-27 2022-03-22 南昌大学 一种用于无线充电边缘计算网络计算能效的资源分配方法
CN109491776B (zh) * 2018-11-06 2022-05-31 北京百度网讯科技有限公司 任务编排方法和系统
US11200331B1 (en) 2018-11-21 2021-12-14 Amazon Technologies, Inc. Management of protected data in a localized device coordinator
US10824469B2 (en) * 2018-11-28 2020-11-03 Mellanox Technologies, Ltd. Reordering avoidance for flows during transition between slow-path handling and fast-path handling
GB201819616D0 (en) * 2018-11-30 2019-01-16 Graphcore Ltd Virtualised gateways
JP2020098445A (ja) * 2018-12-18 2020-06-25 未來市股▲ふん▼有限公司 ディスパッチ方法及びエッジコンピューティングシステム
US11169853B2 (en) 2018-12-28 2021-11-09 Intel Corporation Technologies for providing dynamic selection of edge and local accelerator resources
JP7280476B2 (ja) 2019-01-30 2023-05-24 日本電信電話株式会社 クラスタリングシステムおよびクラスタリング方法
CN109919033B (zh) * 2019-01-31 2022-09-20 中山大学 一种基于边缘计算的自适应城市寻人方法
US11372654B1 (en) 2019-03-25 2022-06-28 Amazon Technologies, Inc. Remote filesystem permissions management for on-demand code execution
US10542586B2 (en) * 2019-03-29 2020-01-21 Intel Corporation Technologies for providing hardware resources as a service with direct resource addressability
US11184439B2 (en) 2019-04-01 2021-11-23 Mellanox Technologies, Ltd. Communication with accelerator via RDMA-based network adapter
US11334382B2 (en) * 2019-04-30 2022-05-17 Intel Corporation Technologies for batching requests in an edge infrastructure
DE112020004736T5 (de) * 2019-10-04 2022-07-07 Intel Corporation Edge-computing-technologien für transportschichtüberlastregelung und point-of-presence-optimierungen auf grundlage erweiterter vorab-dienstgüte-benachrichtigungen
US11550636B2 (en) * 2019-11-14 2023-01-10 Vmware, Inc. Internet of things solution deployment in hybrid environment
CN114095153B (zh) 2020-08-05 2024-12-17 迈络思科技有限公司 密码数据通信装置
IL276538B2 (en) 2020-08-05 2023-08-01 Mellanox Technologies Ltd A cryptographic device for data communication
CN112311642B (zh) * 2020-12-23 2021-04-02 奥特酷智能科技(南京)有限公司 基于环形组网的汽车以太网冗余调度方法
US11934658B2 (en) 2021-03-25 2024-03-19 Mellanox Technologies, Ltd. Enhanced storage protocol emulation in a peripheral device
US11871338B2 (en) 2021-04-29 2024-01-09 International Business Machines Corporation Distributed multi-access edge service delivery
US11778514B2 (en) 2021-09-20 2023-10-03 T-Mobile Innovations Llc Data router connectivity to wireless communication slices
US12250246B2 (en) 2021-09-23 2025-03-11 International Business Machines Corporation Perform edge processing by selecting edge devices based on security levels
US12003660B2 (en) * 2021-12-31 2024-06-04 Avila Technology, LLC Method and system to implement secure real time communications (SRTC) between WebRTC and the internet of things (IoT)
US12117948B2 (en) 2022-10-31 2024-10-15 Mellanox Technologies, Ltd. Data processing unit with transparent root complex
US12007921B2 (en) 2022-11-02 2024-06-11 Mellanox Technologies, Ltd. Programmable user-defined peripheral-bus device implementation using data-plane accelerator (DPA)
US20240249849A1 (en) * 2023-01-23 2024-07-25 Proximie Inc. Hybrid media distribution for telehealth sessions
US20240251112A1 (en) * 2023-01-23 2024-07-25 Proximie Inc. Hybrid media distribution for telehealth sessions

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1523844A (zh) * 2003-02-20 2004-08-25 国际商业机器公司 用于在计算网格中创建服务实例的方法和系统
CN103310301A (zh) * 2013-05-29 2013-09-18 天津开发区先特网络系统有限公司 一种社区戒毒智能信息采集终端和采集方法
US20140189312A1 (en) * 2012-12-27 2014-07-03 Kia Leong TAN Programmable hardware accelerators in cpu
US20140189862A1 (en) * 2012-12-27 2014-07-03 Empire Technology Developmentc LLC Virtual machine monitor (vmm) extension for time shared accelerator management and side-channel vulnerability prevention
WO2014182900A1 (en) * 2013-05-08 2014-11-13 Convida Wireless, Llc Method and apparatus for the virtualization of resources using a virtualization broker and context information
CN104200406A (zh) * 2014-09-11 2014-12-10 唐福磊 一种基于物联网的综合服务平台

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8917738B2 (en) * 2009-04-27 2014-12-23 Lsi Corporation Multicasting traffic manager in a network communications processor architecture
US9069622B2 (en) 2010-09-30 2015-06-30 Microsoft Technology Licensing, Llc Techniques for load balancing GPU enabled virtual machines
US8957903B2 (en) * 2010-12-20 2015-02-17 International Business Machines Corporation Run-time allocation of functions to a hardware accelerator
US9448846B2 (en) * 2011-12-13 2016-09-20 International Business Machines Corporation Dynamically configurable hardware queues for dispatching jobs to a plurality of hardware acceleration engines
WO2014120157A1 (en) 2013-01-30 2014-08-07 Empire Technology Development Llc Dynamic reconfiguration of programmable hardware
CN104253701A (zh) * 2013-06-28 2014-12-31 北京艾普优计算机系统有限公司 计算机网络的运行方法和网关装置以及服务器装置
WO2015042684A1 (en) * 2013-09-24 2015-04-02 University Of Ottawa Virtualization of hardware accelerator
US10440080B2 (en) 2013-10-18 2019-10-08 Telefonaktiebolaget Lm Ericsson (Publ) Software-defined media platform
CN103617191B (zh) * 2013-11-07 2017-06-16 北京奇虎科技有限公司 使用硬件加速实现浏览器渲染的方法和浏览器
US9639396B2 (en) * 2014-09-16 2017-05-02 Nxp Usa, Inc. Starvation control in a data processing system
US20160323143A1 (en) * 2015-05-02 2016-11-03 Hyeung-Yun Kim Method and apparatus for neuroplastic internet of things by cloud computing infrastructure as a service incorporating reconfigurable hardware
US9983857B2 (en) * 2015-06-16 2018-05-29 Architecture Technology Corporation Dynamic computational acceleration using a heterogeneous hardware infrastructure
US10929189B2 (en) 2015-10-21 2021-02-23 Intel Corporation Mobile edge compute dynamic acceleration assignment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1523844A (zh) * 2003-02-20 2004-08-25 国际商业机器公司 用于在计算网格中创建服务实例的方法和系统
CN100484119C (zh) * 2003-02-20 2009-04-29 国际商业机器公司 用于在计算网格中创建服务实例的方法、系统和装置
US20140189312A1 (en) * 2012-12-27 2014-07-03 Kia Leong TAN Programmable hardware accelerators in cpu
US20140189862A1 (en) * 2012-12-27 2014-07-03 Empire Technology Developmentc LLC Virtual machine monitor (vmm) extension for time shared accelerator management and side-channel vulnerability prevention
WO2014182900A1 (en) * 2013-05-08 2014-11-13 Convida Wireless, Llc Method and apparatus for the virtualization of resources using a virtualization broker and context information
CN103310301A (zh) * 2013-05-29 2013-09-18 天津开发区先特网络系统有限公司 一种社区戒毒智能信息采集终端和采集方法
CN104200406A (zh) * 2014-09-11 2014-12-10 唐福磊 一种基于物联网的综合服务平台

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10929189B2 (en) 2015-10-21 2021-02-23 Intel Corporation Mobile edge compute dynamic acceleration assignment
CN109257432A (zh) * 2018-10-12 2019-01-22 桂林电子科技大学 一种任务切换方法、计算机装置及可读存储介质
CN109257432B (zh) * 2018-10-12 2021-01-12 桂林电子科技大学 一种任务切换方法、计算机装置及可读存储介质
CN109976876A (zh) * 2019-03-20 2019-07-05 联想(北京)有限公司 加速器管理方法和装置
CN111782897A (zh) * 2020-07-07 2020-10-16 中国联合网络通信集团有限公司 用户权益管理方法、服务器、系统、设备及介质
CN111782897B (zh) * 2020-07-07 2023-05-23 中国联合网络通信集团有限公司 用户权益管理方法、服务器、系统、设备及介质
CN116349216A (zh) * 2020-09-23 2023-06-27 西门子股份公司 边缘计算方法及系统、边缘设备和控制服务器
CN112732442A (zh) * 2021-01-11 2021-04-30 重庆大学 一种边缘计算负载均衡的分布式模型及其求解方法
CN112732442B (zh) * 2021-01-11 2023-08-25 重庆大学 一种边缘计算负载均衡的分布式模型及其求解方法

Also Published As

Publication number Publication date
US10929189B2 (en) 2021-02-23
EP3366011A1 (en) 2018-08-29
EP3366011A4 (en) 2019-04-24
US20180246768A1 (en) 2018-08-30
SG10201608495TA (en) 2017-05-30
JP6388896B2 (ja) 2018-09-12
EP3366011B1 (en) 2022-04-06
CN108141407B (zh) 2021-03-19
JP2017079062A (ja) 2017-04-27
WO2017066936A1 (en) 2017-04-27

Similar Documents

Publication Publication Date Title
CN108141407A (zh) 移动边缘计算动态加速分配
Wu Cloud-edge orchestration for the Internet of Things: Architecture and AI-powered data processing
US11231965B2 (en) Systems and methods for cloud computing data processing
Cao et al. Edge computing: a primer
US11831563B1 (en) Multi-tiered data processing service
WO2021247448A1 (en) Federated learning optimizations
Porkodi et al. Resource provisioning for cyber–physical–social system in cloud-fog-edge computing using optimal flower pollination algorithm
WO2022171066A1 (zh) 基于物联网设备的任务分配方法、网络训练方法及装置
US11005925B2 (en) Load balancing with power of random choices
US10200240B2 (en) Method for configuring an M2M system
US11687817B2 (en) System and method for providing data computation via quantum computers
Donida Labati et al. Computational intelligence in cloud computing
Hossain et al. IoTbed: A Generic Architecture for Testbed as a Service for Internet of Things-Based Systems.
CN105357085A (zh) 一种智能家居实现系统及方法、家居网关
Luntovskyy et al. Intelligent networking and bio-inspired engineering
Kanwal et al. A Safe and Reliable Method for Data Exchange in the Cloud
Tran-Dang et al. Cooperative and Distributed Intelligent Computation in Fog Computing
CN104166581B (zh) 一种面向增量制造设备的虚拟化方法
US20190385091A1 (en) Reinforcement learning exploration by exploiting past experiences for critical events
Luntovskyy SLMA and novel software technologies for Industry 4.0
Gilbert The role of artificial intelligence for network automation and security
Zeppezauer et al. Virtualizing communication for hybrid and diversity-aware collective adaptive systems
US11822681B1 (en) Data processing system with virtual machine grouping based on commonalities between virtual machines
US11182226B1 (en) Data processing system with application grouping based on inter-application communication
US20230419099A1 (en) Dynamic resource allocation method for sensor-based neural networks using shared confidence intervals

Legal Events

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