CN102521021A - 经由事件流管理的绿色计算 - Google Patents

经由事件流管理的绿色计算 Download PDF

Info

Publication number
CN102521021A
CN102521021A CN2011103396473A CN201110339647A CN102521021A CN 102521021 A CN102521021 A CN 102521021A CN 2011103396473 A CN2011103396473 A CN 2011103396473A CN 201110339647 A CN201110339647 A CN 201110339647A CN 102521021 A CN102521021 A CN 102521021A
Authority
CN
China
Prior art keywords
event
incident
assembly
incidents
task manager
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
CN2011103396473A
Other languages
English (en)
Other versions
CN102521021B (zh
Inventor
E·梅杰
D·马诺列斯库
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102521021A publication Critical patent/CN102521021A/zh
Application granted granted Critical
Publication of CN102521021B publication Critical patent/CN102521021B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Power Sources (AREA)

Abstract

本发明涉及经由事件流管理的绿色计算,具体地,本发明涉及通过利用基于事件的编程的异步特性在计算系统中的资源优化。用如此处描述的机制来截取到达相应事件流的事件,该机制根据与程序处理相关联的理想的资源使用水平而调节事件从事件流流向其相应程序的流动。经由在事件上的诸如缓冲、排队、解样、聚集、重新排序等操作而如此处所述地执行事件流控制。如此处附加地描述的,可基于对诸如程序优先级、功率配置文件或其他资源配置文件和资源成本分析等的考虑而为给定处理实体确定资源使用水平。进一步,提供了用于将此处所述的输入调节扩展在到多个处理节点之间的分布负载的情况的技术。

Description

经由事件流管理的绿色计算
技术领域
本发明涉及计算系统管理,且,更具体地,涉及在事件流管理(如,经由一个或多个的解样、调整步调、聚集或扩散事件流)的基础上优化基于事件的计算系统。
背景技术
随着计算技术的发展以及计算设备变得越来越普遍,计算机编程技术可适合用于所使用中的广泛的各种计算设备。例如,根据不同编程语言可产生程序编码来控制大小、容量不同的计算设备,从相对受限的设备(诸如简单的内嵌系统、移动手持设备等)到大的、高性能的计算实体(诸如数据中心或服务器群集)。
传统地,为了减少计算复杂性以及有效地利用相关计算设备的有限的处理与存储器资源的存储器要求,创建了计算机程序编码。然而,这将额外的困难引入了编程过程中,且,在一些情况下,在保持程序底层的算法的准确操作的同时创建有效地利用有限的计算资源的程序会经历重大的困难。进一步,尽管在计算机编程领域内存在有用于推理有关计算复杂性和存储器要求以及为这些因素优化编程代码的多种技术,这些技术并没有考虑资源使用的其他方面。例如,这些现有的技术没有考虑功耗(而这已经成为材料单上越来越重要的因素)、系统操作成本、设备电池寿命以及计算系统其他特性。
当今的计算系统和资源管理技术的上述缺点仅旨在提供常规系统的一些问题的概览,并且不旨在是穷尽性的。常规系统的其他问题以及此处所描述的各非限制性实施例的对应的益处可以在审阅以下描述后变得更显而易见。
发明内容
此处提供了简化概述以帮助能够对在以下更详细的描述和附图中随后给出的示例性、非限制性实施例的各方面有基本或大体的理解。然而,本概述并不旨在作为详尽的或穷尽的综述。相反,本节发明内容的唯一目的是以简化的形式来提出与一些示例性非限制性实施例相关的一些概念,作为以下各实施例的更为详细的描述的序言。
在一个或多个实施例中,独立于其他编程考虑,利用了基于事件的编程的异步特性来管理计算应用程序。此处提供了用于计算事件管理的各种技术,其可被设置为用于优化存储器使用、处理器使用、功耗和/或计算资源使用的任何其他合适的方面。相应地,此处提供的用于管理计算系统的技术在资源优化方面相比用于管理计算系统的传统技术而言提供了附加的通用性(versatility)。进一步,对计算事件的管理独立于与该事件相关联的应用和/或处理该事件的实体,这容许实现此处所呈现的各种实施例的好处,相比现有的编程过程而言较少关注效率与正确性之间的权衡。
在一些实施例中,计算系统在计算系统的操作系统中和/或独立于在计算系统上执行的程序或执行应用程序的处理实体而实现事件管理器,从而以基于事件的方式控制计算系统的操作。标识或者配置来自环境的事件流,其可包括将要在计算系统上执行的各种应用程序或者用于计算系统的其他任务源。接着,事件管理器收集到达事件流的事件并基于与事件相关联的资源管理(如,功耗等)等因素来控制到相应的事件处理实体的事件流。如此处所述,通过缓冲、列队、重排序、分组和/或解样事件等操作可控制事件流向处理实体。例如,基于从事件的创建开始其所经历的时间的量来将与对时间敏感的应用程序相对应的事件从事件流中移除。
在其他实施例中,除了对于事件的资源使用的确定之外,事件到一个或多个处理实体的流向还受到各种外部考虑的影响。例如,可实现反馈环,使得事件处理器监测其活动级别和/或其他业务统计并将这个信息作为反馈提供给事件管理器,该事件管理器使用这个反馈来调整提供给事件处理器的事件的特性(nature)。在另一个示例中,事件管理器保持与计算系统相关联的相应应用程序的优先级并基于与事件相应的应用程序的优先级来将事件提供给事件处理器。可由用户指定、动态调整(如,基于来自事件处理器的操作状态反馈)等来预先确定优先级。
在进一步的实施例中,事件管理器可收集来自事件流的事件并将这些事件分布在多个事件处理器上(如,处理器核心、网络节点等)。用这个方式执行的事件分布减少了与现有计算系统中的输入争用相关联的性能损失。此外,还可调整在多个事件处理器上的事件的分布,以考虑处理器的能力和/或在它们操作状态中的变化。
在附加实施例中,在基于变化的资源消耗或可用性而选择的时间,安排事件以供应给一个或多个处理实体。例如,基于电池充电水平、网络负载、变化的功率成本等而实行事件安排来改变事件流。用这样的方式来安排事件,可实现对功耗和/或其他操作参数的影响。在功耗的情况下,可考虑进一步的考虑,诸如功率成本、室温(如,其影响了系统中所需要的冷却量以及其相关联的功率使用)等,来实现充分优化的功耗。
这些和其他实施例在下面将更详细地描述。
附图说明
各非限制性实施例参考附图来进一步描述,附图中:
图1是示出根据一个或多个实施例的计算事件管理系统的简化视图的框图;
图2是同步和异步程序执行的说明性概览;
图3是示出根据一个或多个实施例的知晓资源的(resource-aware)事件管理器的示例性功能的框图;
图4是示例性事件安排或时序机制的说明性视图;
图5是可由基于事件的计算系统所利用的资源成本数据的说明性视图;
图6是具有基于争用的输入分配的多节点计算系统的说明性视图;
图7是根据一个或多个实施例,在相应计算结点之间的输入事件的示例性分配的说明性视图;
图8是根据一个或多个实施例,示出可在基于事件的计算系统中采用的示例性反馈环的框图;
图9是根据一个或多个实施例的示例性事件处理技术的说明性视图;
图10是示出用于管理基于事件的计算系统的示例性、非限制性过程的流程图;
图11是另一个流程图,示出用于将活动流调节给一个或多个处理节点的示例性、非限制性过程;
图12是表示其中可实现此处所描述的各实施例的示例性、非限制性联网环境的框图;以及
图13是表示其中可实现此处所描述的各实施例的一个或多个方面的示例性、非限制性计算系统或操作环境的框图。
具体实施方式
概览
以介绍的方式,通过计算机可执行程序指令(如,计算机程序)的设计以及使用控制计算设备的操作。传统地,考虑计算复杂性和程序的存储器占用量而创建程序。例如,存在诸如大O提醒等之类的度量来使编程者能推理出给定计算机程序或算法的计算复杂性,这接着能实现对速度和效率高度优化的各种算法的开发。另外,在一些情况中相对存储器存取,磁盘存取较慢,设计了各种程序来平衡与存储器存取相关联的速度和存储器要求。例如,对于相对较高的存储器要求,可设计其中需要最少的磁盘存取的数据库应用和/或其他应用。类似地,为在具有大量存储器的计算设备上使用而设计的程序可利用设备存储器来执行缓冲和/或用于减少磁盘存取和/或增加程序速度的其他机制。
然而,尽管存在推理出程序的速度和存储器占用量的各种机制,这些机制没有将能耗考虑在内,这同样也是对效率、降低成本等的理想考虑。进一步,尽管在计算系统中诸如存储器之类的因素一般表现为固定成本(如,因为存储器的给定量只需要购买一次),随着时间推移,能耗表现为作为计算系统的操作成本中的一项基本因素的可变成本。附加地,可理解的是,将来,由于增加的要求和其他因素,预计能量消耗增加,这导致能量消耗随时间变得越来越重要。
传统地,编程技术已经在为限制能耗的计算系统编写软件时遭遇了困难。基本所有类型的计算系统(诸如嵌入式系统或移动手持设备之类较小的设备以及较大的数据中心和其他大型计算系统)都会经历这个困难。例如,对于诸如移动手持设备之类的小形状因子设备而言,理想的是以降低的能耗来最大化电池寿命,而对于大型系统而言是为了降低操作成本(如,与增加系统能耗的冷却要求相关联等)。由于传统的用于优化程序的存储器占用量和正确度的度量已造成了程序处理的极大负担,理想的是在不增加这个负担的情况下实现用于优化计算系统的能耗的技术。另外,理想的是利用类似技术来减轻与优化程序存储器或正确性相关联的传统的困难。
一些现有计算系统实现用于减少系统功率储备的各种原始机制(primitive mechanism)。这些机制包括,例如,降低处理器时钟速度、待机或休眠模式、显示器亮度降低等。然而,这些技术一般在自组织模式中部署且不提供编程模型,从而可在程序中利用这些机制。进一步,相比提供用于测量性能的具体度量的存储器之类的资源,难以量化由这些机制所提供的能源节省的量。因此,难以使用传统的技术对特定功率级别将计算系统优化。
在实施例中,利用基于事件的编程的异步特性来缓解传统编程技术的上述缺点。抽象而言,此处的各种实施例产生能耗和/或类似于能耗的其他资源的节省,这类似于经由异步电路实现的节省。例如,如果在异步电路中没有出现输入事件,电路可保持断电(如,对比于时钟系统,其电路是持续保持带电的)。在此处的各实施例中,应用类似的概念到软件系统中。在其他实施例中,使用各种机制来定速(pace)将事件输入到软件系统的速率。这些机制包括,如,在底层系统和环境、应用优选权管理、资源成本分析等之间的反馈回路。此处进一步详细描述这些机制,以及其他可采用的机制。
在一个实施例中,如此处所述的计算事件管理系统包括被设置为经由与环境相关联的至少一个事件流来接收一个或多个事件的事件管理器组件,和被设置为计算目标事件使用水平(level)的资源分析器组件,其中至少一个事件处理节点将与该一个或多个事件中的相应事件相关地使用该目标资源使用水平(level)。附加地,事件管理器组件以根据目标资源使用水平而确定的顺序和速率将该一个或多个事件中的至少一个事件提供给该至少一个事件处理节点。
在一些实施例中,该目标资源使用水平可包括功率水平和/或其他合适的工作水平。在另一个实施例中,资源分析器组件还被设置标识资源成本,基于此,事件管理器组件将事件提供给至少一个事件处理节点。
在另一个示例中,该系统,还包括解样组件,其被设置为至少部分地通过从一个或多个到达的事件中移除至少一个事件而产生一个或多个经解样的事件流。作为响应,事件管理器组件将经解样的事件流中的至少一个事件提供给事件处理节点。在一个示例中,可至少部分地基于,如从相应事件的实例化所经历的时间来移除响应事件。
在进一步的示例中,将事件管理器组件进一步设置为将至少两个事件的猝发串(burst)提供给至少一个事件处理节点。附加地或可选地,可将事件管理器组件进一步设置为将至少一个事件分布在一组事件处理节点中。
在一些情况下该系统附加地包括反馈处理组件,其被设置为从至少一个事件处理节点接收活动级别反馈并控制将事件至少部分地基于该活动级别反馈提供给至少一个事件处理节点的速率。
在还有另一个示例中,该系统可附加地包括被设置为标识相应事件的优先级的优选权管理器组件。在这样的实施例中,可将事件管理器组件进一步设置为根据相应事件的优先级将至少一个事件提供给至少一个事件处理节点。在一个示例中,将优先级管理器组件进一步设置为获得与相应事件的优先级相关的至少一个用户指定的信息或者与相应事件流的优先级相关的用户指定的信息。附加地或可选地,可将该优先级管理器组件进一步设置为至少部分地基于至少一个事件处理节点的操作状态而动态地配置相应事件的优先级。
在此处描述的还有另一个示例中,将事件管理器组件进一步设置为以不规则的速率标识经由至少一个事件流接收的一组事件,并以均匀速率将该组事件提供给至少一个事件处理节点。可将该事件管理器组件附加地或可选地设置为将经由至少一个事件流接收的相应事件聚集起来。
在进一步的示例中,该系统包括配置文件(profile)管理器,其被设置为维护与至少一个事件处理节点的资源使用配置文件相关的信息。接着,事件管理器组件可利用这个资源使用配置文件信息来将至少一个事件提供给至少一个事件处理节点。
在另一个实施例中,用于协调事件驱动的计算系统的方法包括接收与至少一个事件流相关联的一个或多个事件、标识相应于该一个或多个事件将由至少一个事件处理器所维护的工作水平、以及至少部分地基于一个调度(根据将由该至少一个事件处理器所维护的工作水平而确定)来将一个或多个事件中的至少一个事件分配给至少一个事件处理器。
在示例中,对应于一个或多个事件而标识将由至少一个事件处理器所维护的功率水平和/或其他合适的资源水平。在另一个示例中,至少部分地通过选择不分配至少一个所接收到的事件和/或跨多个事件处理器以分布方式分配相应事件而执行分配。在附加示例中,该方法可包括接收与至少一个事件处理器的活动级别相关的反馈,基于此可分配至少一个事件。
在附加实施例中,辅助协调和管理计算事件的系统包括,用于标识与计算事件的一个或多个流相关的信息的装置、用于确定将由至少一个事件处理节点在处理计算事件的一个或多个流的相应事件时所使用的资源使用级别的装置、以及用于至少部分地基于由用于确定的装置所确定的资源使用水平而将计算事件的一个或多个流的至少一个计算事件分配给至少一个事件处理节点的装置。
此处,上文已呈现了用于实现知晓资源的(resource-aware)程序事件管理的一些实施例的概览。作为接下来的内容的向导,更详细地描述分布式事务管理的各种示范性、非限制性实施例和特征。然后,为了附加说明给出一些非限制行的实现和示例,接着是可在其中实现这样的实施例和/或特征的代表性网络和计算环境。
经由事件流管理的绿色计算
为了进一步描述,可以理解,从在系统上运行的程序的角度而言一些现有的计算系统是一样的。相应地,用以程序为中心的方式来实现这样的系统中的性能分析,其有关于程序如何与其环境交互。然而,在这样的系统中的资源使用仅能通过在该系统上运行的程序来优化。例如,由于程序一般被处理为一系列指令,不可能通过解样程序来获得性能增益,因为在一些情况下从程序中移除指令将导致程序产生不正确的后果。进一步,如上所述,难以使用传统的编程技术来创建优化诸如能耗之类的资源的程序。
反之,此处提供的各实施例在其环境的控制中放置程序。相应地,程序环境可为底层程序提供输入信息,以使该程序能等待输入并一旦接收到输入就相应地反应。在这个方式中,可将程序视为状态机器,其中程序接收输入,基于程序的当前状态来执行一个或多个动作来处理该输入,并在一旦完成对该输入的处理时在合适的时候移至另一个状态。
在诸如上述的实现中,程序为响应相应输入而消耗资源(如,功率)。相应地,通过控制环境提供输入给程序的方式(如,使用速率控制、过滤、聚集等),可以高量的粒度来控制与程序相关联所使用的资源。
相关于如上所述的进行程序输入控制的一个或多个非限制性方法,以图1大体上示出示例性计算系统的框图。该计算系统包括环境100,其以一个或多个到达事件流110的方式来提供输入。进一步,可在计算系统中配置事件处理组件140来以异步方式实现一个或多个程序。例如,可配置事件处理组件140来等待输入(如,以事件和/或其他合适的输入的方式),并在以一个或多个预先指定的方式接收到输入的时候来处理输入。相应地,在不响应输入的时候可停用(如,关断电源,等)事件处理组件140,藉此降低该计算系统使用的资源。
进一步如图1所示,事件管理器组件120从环境100中截取到达的事件流110并处理到达的事件流110的相应事件来产生一个或多个经管理的事件流130,其顺序地被提供给事件处理组件140。如此处所述,事件管理器组件120可实现用于将事件流调节给事件处理组件140的一个或多个技术,以实现资源使用的理想水平。例如,事件管理器组件120可限制到事件处理组件140的事件流,缓冲或排队事件、重新排列事件、聚集事件和/或执行合适的操作来增强事件处理组件140的资源使用效率。
在实施例中,由图1所示的基于事件的计算系统在操作中可不同于传统的同步计算系统,从而提供超越于同步计算系统可获得的益处的附加益处。例如,如图2中的框图200所示,同步事件处理组件220可用连续的方式(如,基于时钟信号)操作以执行与环境210相关联的指令和/或与同步事件处理组件220相关联的一个或多个程序。因此,独立于来自环境210的输入的出现或不出现,同步事件处理组件220在每一个时钟循环时一次执行指令。例如,即使环境210处没有输入可用,在一些情况下将同步事件处理组件220配置为经由空闲的命令或输入请求仍然保持激活直到接收到新的输入。
类似地,可将如框图202中所示的异步事件处理组件240设置为响应来自环境210的输入(经由事件管理器230)来执行动作。然而,与框图200中示出的同步系统不同,当没有出现输入事件的时候,将异步事件处理组件240设置为休息或者停用。进一步,可将事件管理器230设置为控制经由调度或其他方式提供给异步事件处理组件240的事件的量和/或速率,藉此能使事件管理器230得以精细地控制异步事件处理组件240的活动水平,以及,作为结果,得以控制异步事件处理组件240使用诸如存储器、功率等之类的资源的速率。在实施例中,可由独立于和异步事件处理组件240相关联的程序以及和环境210相关联的输入流的实体(如,操作系统等)来实现事件管理器230,这能使事件管理器230透明地操作环境210以及异步事件处理组件240。进而,对于在程序的创建过程中较少关注资源优化的给定程序,这能实现资源优化,藉此加速编程及相关过程。
说明一个或多个附加方面,图3是示出事件管理器组件300的框图,事件管理器组件300含有资源分析器组件310和如此处大体描述的那样用于管理与环境事件流相关的事件的相应其他组件320-324。在实施例中,一旦截取和/或收集到来自事件流的一组事件的时候,事件管理器组件300可利用资源分析器组件310来计算或标识负责处理该组事件的一个或多个实体将要使用的资源使用的理想水平(如,工作水平、功率水平等)。例如,资源分析器组件310可估算或确定与相应事件相关的资源使用的水平,基于此,事件管理器组件300调制那些传送到其他实体用于进一步处理的事件的量。
在实施例中,事件管理器组件300通过控制由事件处理实体执行的工作的速度和/或量来作为输入调节器。因此,事件管理器组件300可最终控制由其相关联的计算系统所利用的资源使用的量(如,功率使用等)。在一个示例中,可将事件管理器组件300实现为独立于应用开发,如,作为操作系统和/或其他装置的一部分。
进一步,一旦有相应接收到的事件,事件管理器组件300可操作以辅助事件的一致性和/或以其他合适的方式辅助事件的处理。例如。事件管理器组件300可截取以不规律的速率到达的事件并缓冲和/或处理该事件,从而以较平滑的输入速率将事件提供给一个或多个处理节点。在另一个示例中,事件管理器组件300可辅助将多个事件归组为事件猝发串(burst)和/或其他合适的结构中,在一些情况下这可加速猝发串事件的处理(如,由于事件之间的共同性和/或其他因素)。附加地或可选地,事件管理器组件300可聚集相应事件并在将事件传输给处理节点之前在事件上执行一个或多个批预处理操作。
如图3中进一步所示,如此处所述,资源分析器组件310可与各种其他组件320-324交互以辅助系统工作流控制。这些组件可包括,如,解样组件320、优先级管理器组件322、和/或配置文件管理器组件324。在一个示例中,利用解样组件320从输入事件流中移除一个或多个到达的事件,藉此在将事件流的相应事件传输到其所负责的程序之前解样事件流。在实施例中,事件管理器组件300可利用解样组件320作为全部事件时间控制方案的一部分。更具体地,事件管理器组件300参考如上所述的异步、基于事件的计算系统而操作。相应地,事件管理器组件300,经由解样组件320等,将输入事件流的事件从它们所接收的时间和/或速率中分离出来,容许事件管理器组件300及时在相应的事件上移动、重新排序、移除、改变和/或执行其他合适的操作,从而保持由资源分析器组件310所确定的理想的资源使用水平。
作为相关于一组事件而可执行的时移的说明性示例,图4中的图400示出一组四个输入时间及该输入事件可被重新配置的示例性方式。如图400所示,可将一个或多个事件从到达流中移除(在图400上用向外的箭头表示),而可将其他事件进行时移、重新排序和/或以其他合适的方式进行处理。
重新参考图3的解样组件320,可以各种方式并根据任何合适的准则来执行相应的到达事件的移除。在一个示例中,可进行事件流的解样,以使一旦事件实例化之后预先确定的时间量期满时就将该事件从事件流中移除。对于例如对时间敏感的应用可执行这个方式的事件解样,对时间敏感的应用随着事件变得“陈旧”,诸如股票监测应用、实时通信应用等。在另一个示例中,可直接丢弃经解样的事件或通过其他装置有效地丢弃,诸如通过把经解样的事件在时间上无限向前安排。
在另一个实施例中,通过事件管理器组件300实现的优先级管理器组件322在将事件提供给处理实体之前基于各种因素对到达的事件排定优先级。在一个示例中,事件优先级的排定可基于事件和/或与事件相关联的应用的特性。作为非限制性的示例,第一应用可优先于第二应用,这样第二应用的事件在第一应用的事件之前被一起传输以供处理。
在一个示例中,优先级管理器组件322所利用的优先级动态地基于底层系统的操作状态。作为非限制性示例,带有全球定位系统(GPS)功能的移动手持设备在该手持设备被确定为移动的时候可将GPS数据事件相比其他事件(如,媒体播放事件等)排定为较高优先级,而在该手持设备静止的时候可将GPS数据事件相比其他事件排定为较低优先级。在另一个涉及移动手持设备的GPS事件的具体示例中,可取决于手持设备的移动而以更精细的粒度来调整GPS事件的优先级。因此,当设备以较高速率的速度移动的时候(如,当该设备的用户在高速移动的车辆中旅行的时候,等),可给GPS事件高的优先级,而当设备是静止的或者以较低速率的速度移动的时候(如,当该设备的用户在步行,等),给低的优先级。
在附加示例中,至少部分地将优先级信息展示给底层系统的用户,以使该用户能为各事件指定优先级偏好。在一个实施例中,可提供界面给用户,通过该界面用户可指定相关于相应应用或应用的类别(如,媒体应用、e-mail和/或消息应用、声音应用等)的理想的相关优先级的信息。
在另一个实施例中,事件管理器组件300可,在优先级管理器组件322的帮助下或者独立地,根据各种因素基于资源成本的考虑来调节流向相关联的程序的事件流。例如,如图5中的图500所示,在一些情况下,资源(如,功率等)可与随时间变化的成本相关联。进而,事件管理器组件300可利用这个成本变化来优化底层计算系统的性能。可以理解的是尽管图500示出资源成本与事件之间的示例性关系,但仅为了说明性目的而提供了图500,而不是意在指代任何资源与其成本变化之间的任何具体的关系,且图500也并不意在指代在事件管理器组件300的确定中的任何具体资源的考虑。
在一个示例中,可由事件管理器组件300来追踪诸如图500所示的变化的资源成本,从而帮助对相应事件的调度确定。例如,图500示出四个时间段,表示为T1到T4,在这些时间段之间,资源相关于预先定义的阈值成本而变化。相应地,可在资源成本被确定为低于阈值的时间段内(如图所示的时间T2和T4)调度更多的事件。反之,当资源成本被确定为高于阈值的时候,如时间T1和T3所示,调度较少的事件(如,经由输入缓冲、速率降低、在较低成本的时间段内排列用于释放的事件等)。尽管图500示出相关于单个阈值的考虑,可以理解的是可在资源成本的确定中利用多个阈值。进一步,阈值并不需要是不变的,可选择地是可基于变化的操作特性和/或其他因素而动态调整的。
对上述作为非限制性的实现示例,在资源成本分析中可考虑用电池操作的计算设备的电池充电水平。例如,由于用电池操作的设备在电池被高度充电或该设备被插入从属电源的时候具有更多的可用功率,与这样的设备相关联的功率成本可被认为其成本低于与当其电池被较少地充电的时候的设备相关联的功率成本。相应地,当设备被高度充电的时候,事件管理器组件300可增加由该设备处理的输入的量,而该设备给较少充电的时候则降低。
作为另一个实现示例,与冷却计算系统相关联的变化的金钱成本相关的因素,诸如室温的变化、每单位功率的金钱等,可用与上述类似的方式被考虑。作为进一步的示例,当资源的使用增加时,它们的成本可增加。例如,对于在较弱的无线电信号的区域内工作的移动手持设备,大量无线电冲突等可能会经由其无线电子系统以相对较高的速率来利用功率。在这样的情况下,可减少无线电事件和/或其他事件的数量来优化设备的资源使用。
在图3所示的进一步实施例中,事件管理器组件300包括配置文件管理器组件324,其促进与全局资源配置文件相关的事件流的管理。在传统的计算系统中,可以理解的是一般以较低水平的方式实现资源配置文件。例如,在功率配置文件的情况下,相隔离地影响相应组件(如,屏幕变暗/关断、图形控制器功率降低、处理器时钟减少、和/或在预先确定的时间量之后的其他操作)。反之,配置文件管理器组件324能使用全局功率配置文件和/或其他资源配置文件,可利用这些来以更全面的方式来控制计算系统的资源使用。在进一步的示例中,配置文件管理器组件324所利用的功率配置文件可动态地基于来自底层计算系统和/或其他装置的反馈环。
在其他实施例中,可利用如此处所述的事件管理来优化跨一组事件处理节点(如,处理器、处理器核心、分布式系统中的机器等)的性能。例如,如图6所示,如果相应的节点通过从程序环境中请求输入600,并基于所请求的输入产生输出610而以传统的方式操作,则相应的节点可能在不知道其他节点和/或运行在其他节点上的应用的情况下而操作。在这样的传统系统中在节点之间和应用之间缺少相互通信的结果是,在一些情况下相应节点所做出的对于输入600的请求会造成对于这些输入600的争用,这可导致系统效率的降低、资源使用的增加和/或其他负面特性。
反之,如图7中所示,可利用事件管理器组件710作为输入和相应处理节点之间的中介,以将在相应节点中分配输入,藉此能使节点以基本增加的效率来处理输入700并创建相应的输出720。在实施例中,由事件管理器组件710所确定的加载方案可以任何合适的方式将输入700分布到一组节点中。例如,在节点中加载可以是基本平衡的,或者考虑到相应节点能力差异和/或其他因素,可选地可利用非均匀的分布。在另一个示例中,事件管理器组件710利用的加载分布可以是根据各种因素而动态地调整的。作为非限制性示例,带有多个处理器核心的用电池操作的计算设备可由事件管理器组件710配置,从而当该设备的电池水平为低的时候停用一个或多个核心。相应地,事件管理器组件710可如上大体所述地那样将成本考虑考虑到其加载分配方案中。在另一个示例中,事件管理器组件710可被配置为将输入700从误操作的、非操作的、和/或不理想的处理节点中转移。
接着参看图8,提供了在事件管理器组件800和事件处理组件810之间的示例性交互的框图。如图8所示,事件管理器组件800经由活动速率分析器组件812来追踪其活动水平。接着,事件处理组件810可将与其活动水平相关的信息和/或其他合适的信息经由反馈组件814反馈给事件管理器组件800。响应于从事件管理器组件800接收到的反馈信息,事件管理器组件800可调节分配给事件处理组件810的工作速率和/或提供给事件处理组件810的事件的其他方面。
进一步相关于上述实施例,图9提供了与一个或多个事件流910相关的可由事件管理器组件930所执行相应操作的图示概览。在实施例中,事件管理器组件930操作以降低与处理到达事件流910的相应事件相关联的成本。相应地,相比于保持未过滤的事件流到框图900中所示的事件处理组件,藉此导致利用了大量资源的高度压力的系统,可用如框图902中所示的事件管理器组件930来调节由事件处理组件920所处理的事件的数量。
在一个示例中,框图902所示的系统利用反馈环来促进到事件处理组件920的输入速率的调整。例如,如果事件处理组件920的理想的工作负载改变,则到事件管理器组件930的反馈环使用一个或多个机制调整输入速率来匹配该理想的工作负载。在实施例中,这些机制可由配置文件和/或其他装置所影响,这可基于日间时(time of day)和/或其他外部因素容许不同的策略。
当以如图9所示的事件驱动类型来构造应用的时候,可以理解的是,相比在传统系统中,实现诸如此处所描述的工作负载调节机制的工作负担更少。在一个实施例中,事件管理器组件920所利用的节流机制对于在事件处理组件920上运行的应用的实际逻辑而言是透明的。
在实施例中,相应的节流机制可被封装为流处理器(如,经由事件管理器组件930和/或其他装置来实现),其使用代表原始输入流等的各种输入,来自反馈环的提醒和配置文件以及基于规则的输入来产生可被馈入原始系统的经修改的事件流(如,对应于事件处理组件920)。在一个示例中,此处的技术所提供的组合性的水平能实现对于不同的事件流使用不同策略。作为非限制性的示例,当功率级别相对较低的时候,GPS采样速率和准确度、加速器采样速率、无线电输出强度和/或设备操作的其他方面也被降低了。
在另一个示例中,可经由基于特定阈值的新的事件的产生而实现节流。在具体的,GPS接收器的非限制性示例中,通过增加移动阈值(且因此降低了分辨率),可极大地降低事件的量。例如,通过将GPS从10米的阈值改变为100米的阈值,可获得因数为10的节约。在实施例中,GPS接收器和/或任何其他接收可如此处所利用的GPS信号的设备的用户可被提供有各种机制,通过这些机制用户可为此处所描述的目的而同意所接收到的GPS信号的使用或选择退出。
在进一步的实施例中,事件管理器组件930可利用队列数据结构和/或其他合适的数据结构来将与事件流910相关联的事件维持为事件到达的顺序。附加地或可选地,可利用诸如优先级队列之类的其他结构来维持相应事件的优先级。相应地,事件管理器组件930可利用如第一队列用于在事件被接收到的时候代表事件,该第一队列可接着被转换为第二队列,用于在事件将要被传递的时候代表这些事件。在一个示例中,事件管理器组件930可知晓相应的到达事件的源并在其操作中利用这个信息。可在,如,对应于该事件的数据中发现标识到达的事件的源的信息。例如,鼠标输入事件可提供事件的时间,键盘输入事件可提供事件的时间和已被敲击的键的标识等。
图10是示出用于管理基于事件的计算系统的示例性非限制性过程的流程图。在1000,截取与至少一个事件流相关联的一个或多个事件。在1010,计算与在1000所截取的事件相关联的节点处理器将要维持的工作水平。在1020,基于至少部分地根据在1010计算出来的工作水平所确定的调度来分配在1000所截取的到达的事件中的至少一个给节点处理器。
图11是流程图,示出用于将活动流调节给一个或多个处理节点的示例性非限制性过程。在1100,截取与至少一个事件流相关联的一个或多个到达的事件。在1110,分析在1100截取到的到达事件,并标识出将由与事件相关的节点处理器所利用的理想的资源使用水平(如,功率水平等)。在1120,基于在1110标识出的理想的资源使用水平来部分地用排队、聚集、重新排序和/或移除来调节从事件流到节点处理器的事件的流。在1130,然后判定是否已经从节点处理器接收到反馈。如果没有,继续常规操作。否则,在1140,基于所接收到的反馈来调节从事件流到节点处理器的事件的流。
示例性联网和分布式环境
本领域普通技术人员可以理解,此处所描述的事件管理系统与方法的各实施例可以结合任何计算机或其它客户机或服务器设备来实现,该任何计算机或其它客户机或服务器设备可作为计算机网络的一部分来部署或者被部署在分布式计算环境中,并且可以连接到任何种类的数据存储。就此,此处所描述的各实施例可以在具有任意数量的存储器或存储单元以及出现在任意数量的存储单元上的任意数量的应用程序和进程的任何计算机系统和环境中实现。这包括但不限于具有部署在具有远程或本地存储的网络环境或分布式计算环境中的服务器计算机和客户计算机的环境。
分布式计算通过计算设备和系统之间的通信交换提供了计算机资源和服务的共享。这些资源和服务包括信息的交换、对于诸如文件等对象的高速缓存存储和盘存储。这些资源和服务还包括多个处理单元之间的处理能力共享以便进行负载平衡、资源扩展、处理专门化,等等。分布式计算利用网络连接,从而允许客户机利用它们的集体力量来使整个企业受益。就此,各种设备可具有可如参考本发明的各实施例描述地参与资源管理机制的应用程序、对象或资源。
图12提供了示例性的联网或分布式计算环境的示意图。该分布式计算环境包括计算对象1210、1212等以及计算对象或设备1220、1222、1224、1226、1228等,这些计算对象或设备可包括如由应用程序1230、1232、1234、1236、1238表示的程序、方法、数据存储、可编程逻辑等。可以理解,计算对象1210、1212等以及计算对象或设备1220、1222、1224、1226、1228等可包括不同的设备,诸如个人数字助理(PDA)、音频/视频设备、移动电话、MP3播放器、个人计算机、膝上型计算机等。
每一个计算对象1210、1212等以及计算对象或设备1220、1222、1224、1226、1228等可经由通信网络1240或直接或间接地与一个或多个其他计算对象1210、1212等以及计算对象或设备1220、1222、1224、1226、1228等通信。尽管在图12中被示为单个元件,但通信网络1240可包括向图12的系统提供服务的其他计算对象或计算设备,和/或可表示未示出的多个互连网络。每个计算对象1210、1212等或计算对象或设备1220、1222、1224、1226、1228等还可以含有应用,诸如可以利用API或其他对象、软件、固件和/或硬件的、适于实现或与根据各实施例所提供的事件管理技术进行通信的应用1230、1232、1234、1236、1238。
存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统可以由有线或无线系统、本地网络或广泛分布的网络连接在一起。当前,许多网络被耦合至因特网,后者为广泛分布的计算提供了基础结构并包含许多不同的网络,但任何网络基础结构可用于变得与如各实施例中所描述的事件管理系统相关联的示例性通信。
因此,可以利用诸如客户机/服务器、对等、或混合体系结构等网络拓扑结构和网络基础结构的主机。“客户机”是使用与它无关的另一类或组的服务的一个类或组中的成员。客户机可以是进程,即大致上是请求由另一程序或进程提供的服务的一组指令或任务。客户机进程利用所请求的服务,而不必“知道”有关其他程序或服务本身的任何工作细节。
在客户机/服务器体系结构中,尤其在联网系统中,客户机通常是访问由例如服务器等另一计算机提供的共享的网络资源的计算机。在附图12的图示中,作为非限制性示例,计算对象或设备1220、1222、1224、1226、1228等可被认为是客户机而计算对象1210、1212等可被认为是服务器,其中计算对象1210、1212等作为提供数据服务的服务器,诸如从客户机计算对象或设备1220、1222、1224、1226、1228等处接收数据、存储数据、处理数据、向客户机计算对象或设备1220、1222、1224、1226、1228等发送数据,但任何计算机都可取决于环境而被认为是客户机、服务器或两者。
服务器通常是可通过诸如因特网或无线网络基础架构等远程网络或本地网络访问的远程计算机系统。客户机进程可以在第一计算机系统中活动,而服务器进程可以在第二计算机系统中活动,它们通过通信介质彼此通信,从而提供分布式功能并允许多个客户机利用服务器的信息收集能力。按照此处描述的技术来利用的任何软件对象可以单独提供或分布多个计算设备或对象上。
在其中通信网络1240或总线是因特网的网络环境中,例如,计算对象1210、1212等可以是其他计算对象或设备1220、1222、1224、1226、1228等经由诸如超文本传输协议(HTTP)等多种已知协议中的任一种与其通信的web服务器。计算对象1210、1212等作为服务器还可用作诸如计算对象或设备1220、1222、1224、1226、1228等的客户机,这可以是如分布式计算环境的特性。
示例性计算设备
如上所述,有利的是,此处所描述的技术可适用于期望在计算系统中执行事件管理的任何设备。因此,应当理解,构想了结合各实施例使用的所有种类的手持式、便携式和其它计算设备和计算对象,即,在设备的资源使用可理想地优化的任何地方。因此,以下在图13中描述的通用远程计算机只是计算设备的一个示例。
尽管并非所需,但各实施例可以部分地经由操作系统来实现,以供设备或对象的服务开发者使用,和/或被包括在用于执行此处所描述的各实施例的一个或多个功能方面的应用软件中。软件可以在由诸如客户机工作站、服务器或其他设备等一个或多个计算机执行的诸如程序模块等计算机可执行指令的通用上下文中描述。本领域的技术人员可以理解,计算机系统具有可用于传递数据的各种配置和协议,并因此没有特定配置或协议应被认为是限制性的。
因此,图13示出了其中可实现各实施例的一个或多个方面的合适的计算系统环境1300的一个示例,尽管如上所述,计算系统环境1300仅为合适的计算环境的一个示例,并非对使用范围或功能提出任何限制。也不应将计算系统环境1300解释为对在示例性计算系统环境1300中示出的组件中的任何一个或其组合有任何依赖或要求。
参考图13,用于实现一个或多个实施例的示例性远程设备包括计算机1310形式的通用计算设备。计算机1310的组件可以包括,但不仅限于,处理单元1320、系统存储器1330,以及将包括系统存储器的各种系统组件耦合到处理单元1322的系统总线1320。
计算机1310通常包括各种计算机可读介质,并可以是可由计算机1310访问的任何可用介质。系统存储器1330可以包括诸如只读存储器(ROM)和/或随机存取存储器(RAM)等易失性和/或非易失性存储器形式的计算机存储介质。作为示例而非限制,系统存储器1330还可包括操作系统、应用程序、其他程序模块、和程序数据。
用户可以通过输入设备1340向计算机1310输入命令和信息。监视器或其他类型的显示设备也经由接口,诸如输出接口1350连接至系统总线1322。除监视器之外,计算机还可以包括其他外围输出设备,如扬声器和打印机,它们可以通过输出接口1350连接。
计算机1310可使用至一个或多个远程计算机,诸如远程计算机1370的逻辑连接在网络化或分布式环境中操作。远程计算机1370可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点、或任何其他远程媒体消费或传输设备,并且可以包括上面关于计算机1310所描述的任何或全部元件。图13所示的逻辑连接包括诸如局域网(LAN)或广域网(WAN)等的网络1372,但也可以包括其他网络/总线。这样的联网环境在家庭、办公室、企业范围计算机网络、内联网和因特网中是常见的。
如上所述,尽管结合各种计算设备和网络体系结构描述了各示例性实施例,但基本概念可被应用于其中期望改进资源使用的效率的任何网络系统和任何计算设备或系统。
而且,存在实现相同或相似功能的多种方法,例如适当的API、工具箱、驱动程序代码、操作系统、控件、独立或可下载软件对象等,它们使得应用和服务能够使用此处提供的技术。由此,此处的各实施例从API(或其他软件对象)的观点以及从实现如此处描述的一个或多个实施例的软件或硬件对象构想。因此,此处描述的各实施例可以具有完全采用硬件、部分采用硬件并且部分采用软件、以及采用软件的方面。
在本文中使用的词语“示例性”意味着用作示例、范例或说明。为避免疑惑,本文公开的主题不受限于这样的示例。此外,本文描述为“示例性”的任何方面或设计不必解释成优于其他方面或设计或比其他方面或设计有利,它也不旨在排除本领域的普通技术人员所知的等效示例性结构和技术。而且,就术语“包括”、“具有”、“包含”和其他类似的词语的使用而言,为避免疑惑,这样的术语旨在以类似于术语“包括”作为开放的过渡词的方式解释而不排除任何附加或其他元素。
如上所述,此处所述的各种技术可结合硬件或软件,或在适当时以两者的组合来实现。如在此所使用的,术语“组件”、“系统”等同样指的是计算机相关实体,或者是硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是,但不限于是,在处理器上运行的进程、处理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,运行在计算机上的应用程序和计算机本身都可以是计算机组件。一个或多个组件可以驻留在进程和/或执行线程中,并且组件可以位于一个计算机内和/或分布在两个或更多的计算机之间。
如前所述的系统是利用多个组件之间的交互来描述的。可以了解,这样的系统和组件可以包括这些组件或其中指定的子组件,某些指定的组件或子组件,和/或附加的组件,并根据前述的内容的各种置换和组合。子组件也可以作为可通信地耦合到其他组件的组件来实现,而不是包括在父组件内(层次性)。另外,应注意到一个或多个组件可被组合成提供聚集功能的单个组件,或被分成若干单独的子组件,且诸如管理层等任何一个或多个中间层可被设置成通信耦合到这样的子组件以便提供集成功能。此处所描述的任何组件也可以与一个或多个此处没有专门描述的但本领域技术人员广泛地知道的其他组件进行交互。
考虑到以上描述的示例性系统,参考各附图的流程图将也可以理解依照所描述的主题实现的方法。尽管为了说明简洁起见,作为一系列框示出和描述了方法,但是,应该理解,各实施例不仅限于所描述框的顺序,一些框可以按与此处所描绘和描述的不同的顺序进行和/或与其他框并发地进行。尽管经由流程图示出了非顺序或分支的流程,但可以理解,可实现达成相同或类似结果的各种其他分支、流程路径和框次序。此外,并非全部所示出的框都是实现下面所描述的方法所必需的。
除了此处所描述的各实施例之外,可以理解,可以使用其他相似的实施例或者可对所述实施例作出修改和添加以便执行对应的实施例的相同或等效的功能而不背离这些实施例。此外,多个处理芯片或多个设备可共享此处所描述的一个或多个功能的执行,并且类似地,存储可以跨多个设备实现。因此,本发明不应限于任何单个实施例,而是应该根据所附权利要求书的广度和范围来解释。

Claims (15)

1.计算事件管理系统,包括:
事件管理器组件300,被设置为经由与环境相关联的至少一个事件流接收一个或多个事件;和
资源分析器组件310,被设置为对所述一个或多个事件中的相应事件而计算将由至少一个事件处理节点所利用的目标资源使用水平;和
其中所述事件管理器组件300以根据目标资源使用水平而确定的顺序和速率将所述一个或多个事件中的至少一个事件提供给所述至少一个事件处理节点。
2.根据权利要求1所述的系统,其特征在于,所述目标资源使用水平包括功率水平。
3.根据权利要求1所述的系统,其特征在于,所述资源分析器组件310还被设置为标识与资源成本相关的信息,且所述事件管理器组件300还被设置为至少部分地基于所述资源成本将所述一个或多个事件中的所述至少一个事件提供给所述至少一个事件处理节点。
4.根据权利要求1所述的系统,其特征在于,还包括:
解样组件320,被设置为至少部分地通过移除所述一个或多个事件中的至少一个事件来产生一个或多个经解样的事件流;
其中所述事件管理器组件300将所述一个或多个经解样的事件流中的所述至少一个事件提供给所述至少一个事件处理节点。
5.根据权利要求4所述的系统,其特征在于,所述解样组件320还被配置为至少部分地基于相应事件实例所经历的时间来移除一个或多个事件中的相应事件。
6.根据权利要求1所述的系统,其特征在于,所述事件管理器组件300还被设置为将至少两个事件的猝发串提供给至少一个事件处理节点。
7.根据权利要求1所述的系统,其特征在于,所述事件管理器组件300还被设置为在一组事件处理节点中分发所述一个或多个事件中的所述至少一个事件。
8.根据权利要求1所述的系统,其特征在于,还包括:
反馈处理组件802,被设置为从所述至少一个事件处理节点接收活动级别反馈并至少部分地基于所述活动级别反馈而控制将事件提供给所述至少一个事件处理节点的速率。
9.根据权利要求1所述的系统,其特征在于,还包括:
优先级管理组件322,被设置为标识所述一个或多个事件中的相应事件的优先级;
其中所述事件管理器组件300根据所述一个或多个事件中的相应事件的所述优先级,将所述一个或多个事件中的至少一个事件提供给所述至少一个事件处理节点。
10.根据权利要求1所述的系统,其特征在于,所述事件管理器组件300还被设置为标识经由所述至少一个事件流以不规则的速率接收的一组事件,并以均匀速率将所述一组事件提供给至少一个事件处理节点。
11.根据权利要求1所述的系统,其特征在于,还包括:
配置文件管理器组件324,被设置为维护相关于所述至少一个事件处理节点的资源使用配置文件的信息;
其中所述事件管理器组件300根据所述至少一个事件处理节点的所述资源使用配置文件,将所述一个或多个事件中的至少一个事件提供给所述至少一个事件处理节点。
12.用于协调事件驱动的计算系统的方法,包括:
接收(1000)与至少一个事件流相关联的一个或多个事件;
标识(1010)与所述一个或多个事件相关的将由至少一个事件处理器所维护的工作水平;和
基于至少部分地根据将由所述至少一个事件处理器所维护的工作水平而确定的调度,将所述一个或多个事件中的至少一个事件分配(1020)给所述至少一个事件处理器。
13.如权利要求12所述的方法,其特征在于,所述标识(1010)的步骤包括标识与所述一个或多个事件相关的将由所述至少一个事件处理器所维护的功率水平。
14.如权利要求12所述的方法,其特征在于,所述分配(1020)的步骤包括选择不将所述一个或多个事件中的至少一个事件分配给所述至少一个事件处理器。
15.如权利要求12所述的方法,其特征在于,还包括:
接收(1130)与所述至少一个事件处理器的活动水平相关的反馈;
其中,所述分配(1020)的步骤包括至少部分地基于所述反馈而分配所述一个或多个事件中的所述至少一个事件。
CN201110339647.3A 2010-10-20 2011-10-19 经由事件流管理的绿色计算 Expired - Fee Related CN102521021B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/908,715 2010-10-20
US12/908,715 US20120102503A1 (en) 2010-10-20 2010-10-20 Green computing via event stream management

Publications (2)

Publication Number Publication Date
CN102521021A true CN102521021A (zh) 2012-06-27
CN102521021B CN102521021B (zh) 2016-02-17

Family

ID=45974104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110339647.3A Expired - Fee Related CN102521021B (zh) 2010-10-20 2011-10-19 经由事件流管理的绿色计算

Country Status (2)

Country Link
US (1) US20120102503A1 (zh)
CN (1) CN102521021B (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10797953B2 (en) * 2010-10-22 2020-10-06 International Business Machines Corporation Server consolidation system
US9658902B2 (en) * 2013-08-22 2017-05-23 Globalfoundries Inc. Adaptive clock throttling for event processing
US10999388B2 (en) 2017-08-15 2021-05-04 Microsoft Technology Licensing, Llc Managing subscriptions for event notifications
US10732698B2 (en) * 2017-11-15 2020-08-04 Nxp B.V. Event-based power manager
CN108737522B (zh) * 2018-05-09 2021-07-20 中兴通讯股份有限公司 一种消息的处理方法、装置和系统
EP3912034A1 (en) * 2019-01-14 2021-11-24 Telefonaktiebolaget LM Ericsson (publ) Methods for event prioritization in network function virtualization using rule-based feedback
US11113270B2 (en) 2019-01-24 2021-09-07 EMC IP Holding Company LLC Storing a non-ordered associative array of pairs using an append-only storage medium
US11599546B2 (en) 2020-05-01 2023-03-07 EMC IP Holding Company LLC Stream browser for data streams
US11604759B2 (en) 2020-05-01 2023-03-14 EMC IP Holding Company LLC Retention management for data streams
US11340834B2 (en) 2020-05-22 2022-05-24 EMC IP Holding Company LLC Scaling of an ordered event stream
US11163484B1 (en) 2020-05-27 2021-11-02 EMC IP Holding Company LLC Reporting time progress on events written to a stream storage system
US11360992B2 (en) 2020-06-29 2022-06-14 EMC IP Holding Company LLC Watermarking of events of an ordered event stream
US11340792B2 (en) 2020-07-30 2022-05-24 EMC IP Holding Company LLC Ordered event stream merging
US11599420B2 (en) 2020-07-30 2023-03-07 EMC IP Holding Company LLC Ordered event stream event retention
US11354444B2 (en) 2020-09-30 2022-06-07 EMC IP Holding Company LLC Access control for an ordered event stream storage system
US11513871B2 (en) 2020-09-30 2022-11-29 EMC IP Holding Company LLC Employing triggered retention in an ordered event stream storage system
US11755555B2 (en) 2020-10-06 2023-09-12 EMC IP Holding Company LLC Storing an ordered associative array of pairs using an append-only storage medium
US11323497B2 (en) 2020-10-07 2022-05-03 EMC IP Holding Company LLC Expiration of data streams for application programs in a streaming data storage platform
US11599293B2 (en) 2020-10-14 2023-03-07 EMC IP Holding Company LLC Consistent data stream replication and reconstruction in a streaming data storage platform
US11354054B2 (en) 2020-10-28 2022-06-07 EMC IP Holding Company LLC Compaction via an event reference in an ordered event stream storage system
US11347568B1 (en) 2020-12-18 2022-05-31 EMC IP Holding Company LLC Conditional appends in an ordered event stream storage system
US11816065B2 (en) 2021-01-11 2023-11-14 EMC IP Holding Company LLC Event level retention management for data streams
US11526297B2 (en) 2021-01-19 2022-12-13 EMC IP Holding Company LLC Framed event access in an ordered event stream storage system
US11194638B1 (en) * 2021-03-12 2021-12-07 EMC IP Holding Company LLC Deferred scaling of an ordered event stream
US11740828B2 (en) 2021-04-06 2023-08-29 EMC IP Holding Company LLC Data expiration for stream storages
US12001881B2 (en) 2021-04-12 2024-06-04 EMC IP Holding Company LLC Event prioritization for an ordered event stream
US11513714B2 (en) 2021-04-22 2022-11-29 EMC IP Holding Company LLC Migration of legacy data into an ordered event stream
US11954537B2 (en) 2021-04-22 2024-04-09 EMC IP Holding Company LLC Information-unit based scaling of an ordered event stream
US11681460B2 (en) 2021-06-03 2023-06-20 EMC IP Holding Company LLC Scaling of an ordered event stream based on a writer group characteristic
CN113360189B (zh) * 2021-06-04 2022-09-30 上海天旦网络科技发展有限公司 适用于流处理的异步优化方法、系统、装置和可读介质
US11735282B2 (en) 2021-07-22 2023-08-22 EMC IP Holding Company LLC Test data verification for an ordered event stream storage system
US11971850B2 (en) 2021-10-15 2024-04-30 EMC IP Holding Company LLC Demoted data retention via a tiered ordered event stream data storage system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309701A (ja) * 2005-03-28 2006-11-09 Nec Corp 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム
US20070299980A1 (en) * 2006-06-13 2007-12-27 International Business Machines Corporation Maximal flow scheduling for a stream processing system
WO2008146099A1 (en) * 2007-05-29 2008-12-04 Freescale Semiconductor, Inc. Data processing system, method for processing data and computer program product

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822758A (en) * 1996-09-09 1998-10-13 International Business Machines Corporation Method and system for high performance dynamic and user programmable cache arbitration
US6633313B1 (en) * 1997-05-08 2003-10-14 Apple Computer, Inc. Event routing mechanism in a computer system
US7475405B2 (en) * 2000-09-06 2009-01-06 International Business Machines Corporation Method and system for detecting unusual events and application thereof in computer intrusion detection
US20040226016A1 (en) * 2003-05-08 2004-11-11 Samsung Electronics Co., Ltd. Apparatus and method for sharing resources in a real-time processing system
GB2406184B (en) * 2003-09-17 2006-03-15 Advanced Risc Mach Ltd Data processing system
US20090070786A1 (en) * 2007-09-11 2009-03-12 Bea Systems, Inc. Xml-based event processing networks for event server
JP4410278B2 (ja) * 2007-10-04 2010-02-03 レノボ・シンガポール・プライベート・リミテッド 電子機器、電子機器の電力制御方法、およびコンピュータが実行するためのプログラム
US20090193421A1 (en) * 2008-01-30 2009-07-30 International Business Machines Corporation Method For Determining The Impact Of Resource Consumption Of Batch Jobs Within A Target Processing Environment
US8020025B2 (en) * 2008-06-04 2011-09-13 Sony Ericsson Mobile Communications Ab Power saving scheduler for timed events
US20100262966A1 (en) * 2009-04-14 2010-10-14 International Business Machines Corporation Multiprocessor computing device
US8447776B2 (en) * 2010-08-30 2013-05-21 International Business Machines Corporation Estimating and managing energy consumption for query processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309701A (ja) * 2005-03-28 2006-11-09 Nec Corp 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム
US20070299980A1 (en) * 2006-06-13 2007-12-27 International Business Machines Corporation Maximal flow scheduling for a stream processing system
WO2008146099A1 (en) * 2007-05-29 2008-12-04 Freescale Semiconductor, Inc. Data processing system, method for processing data and computer program product

Also Published As

Publication number Publication date
CN102521021B (zh) 2016-02-17
US20120102503A1 (en) 2012-04-26

Similar Documents

Publication Publication Date Title
CN102521021B (zh) 经由事件流管理的绿色计算
Cardellini et al. Decentralized self-adaptation for elastic data stream processing
Cao et al. Exploring renewable-adaptive computation offloading for hierarchical QoS optimization in fog computing
Xhafa et al. Meta-heuristics for grid scheduling problems
CN101084680B (zh) 在电信服务和/或网络管理平台中管理资源的方法、相应平台及其计算机程序产品
CN100473021C (zh) 用于通过调节网络控制进行自动的系统管理的系统和方法
Qiao et al. Online learning and optimization for computation offloading in D2D edge computing and networks
CN102567106B (zh) 任务调度方法、系统和装置
CN102158554A (zh) 基于移动代理的物联网中间件开发方法
CN103368864A (zh) 一种基于c/s架构的智能负载均衡方法
Cao et al. A parallel computing framework for large-scale air traffic flow optimization
CN106101196A (zh) 一种基于概率模型的云渲染平台任务调度系统及方法
WO2016171950A1 (en) Multivariable control for power-latency management to support optimization of data centers or other systems
CN111782627B (zh) 面向广域高性能计算环境的任务与数据协同调度方法
Xiang et al. Computing power allocation and traffic scheduling for edge service provisioning
Lan et al. Task partitioning and orchestration on heterogeneous edge platforms: The case of vision applications
In et al. Sphinx: A scheduling middleware for data intensive applications on a grid
CN115964182B (zh) 资源的调度方法和系统
Xiang et al. Energy-effective iot services in balanced edge-cloud collaboration systems
Xie et al. Workflow scheduling using hybrid PSO-GA algorithm in serverless edge computing for the Internet of Things
CN116996941A (zh) 基于配网云边端协同的算力卸载方法、装置及系统
CN102724100A (zh) 一种针对组合服务的板卡资源分配系统及方法
Li et al. Efficient service selection approach for mobile devices in mobile cloud
Jiang et al. Iot Data Processing and Scheduling Based on Deep Reinforcement Learning
Chen et al. Delay-optimal distributed edge computation offloading with correlated computation and communication workloads

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150722

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150722

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160217

Termination date: 20161019