数据中心资源分配的制作方法

文档序号:6485060阅读:286来源:国知局
数据中心资源分配的制作方法
【专利摘要】除非本文另外指出,否则在该部分描述的方法不是针对本申请的权利要求的现有技术,并且不由包括在该部分而被视为现有技术。当前的数据中心可以通过在数据中心针对任务分配资源来执行针对客户端的任务。利用常规的数据中心,资源会被低效率地分配,并且在某些情况下,将特定任务托管至共享硬件会使共享硬件受到压力和/或低效率地使用所述共享硬件。
【专利说明】数据中心资源分配
【背景技术】
[0001]除非本文中另外指明,否则在这部分中描述的方法非本申请权利要求的现有技术,并且不因为被包含在这部分中而被认为是现有技术。
[0002]现有的数据中心可通过将数据中心的资源分配给任务来执行客户端的任务。利用常规的数据中心,资源会被低效率地分配,并且,在某些情况下,将特定任务托管至共享硬件会使共享硬件受到压力和/或低效率地使用所述共享硬件。

【发明内容】

[0003]本发明描述了用于分配数据中心资源和/或生成任务指纹和资源分配数据库的示例性方法。用于在数据中心分配资源的示例性方法可包括:在数据中心接收任务;基于接收的任务生成任务指纹;将任务指纹与多个参考任务指纹进行比较以确定最接近匹配参考任务指纹;确定与最接近匹配参考任务指纹相关的参考任务行为概要;以及分配资源以基于参考任务行为概要执行接收的任务。
[0004]用于生成任务指纹和资源分配数据库的示例性方法可包括:在数据中心接收多个任务;针对每个接收的任务生成任务指纹以形成多个任务指纹;将资源集分配至每个接收的任务,以限定多个分配的资源集;利用各个分配的资源集执行每个接收的任务;利用分配的资源集针对每个执行的任务收集任务行为,以生成多个任务行为;以及在数据中心的数据库中将每个任务指纹、分配的资源集和任务行为关联起来,以生成任务指纹和资源分配数据库。
[0005]本发明还描述了存储有指令的示例性机器可读非临时性介质,当执行所述指令时,使得数据中心分配数据中心资源和/或生成任务指纹和资源分配数据库。示例性机器可读非临时性介质可在其中存储指令,当执行所述指令时,使得数据中心通过以下步骤分配数据中心资源:在数据中心接收任务;基于接收的任务生成任务指纹;将任务指纹与多个参考任务指纹进行比较以确定最接近匹配参考任务指纹;确定关于最接近匹配参考任务指纹的参考任务行为概要;以及分配资源,以基于参考任务行为概要来执行接收的任务。
[0006]示例性机器可读非临时性介质可在其中存储指令,当执行所述指令时,使得数据中心通过以下步骤生成任务指纹和资源分配数据库:在数据中心接收多个任务;针对每个接收的任务生成任务指纹,以形成多个任务指纹;将资源集分配至每个接收的任务,以限定多个分配的资源集;利用各个分配的资源集执行每个接收的任务;利用所分配的资源集针对每个执行的任务收集任务行为,以生成多个任务行为;以及在数据中心的数据库将每个任务指纹、分配的资源集和任务行为关联起来,以生成所述任务指纹和资源分配数据库。
[0007]本发明还描述了用于分配数据中心资源和/或生成任务指纹和资源分配数据库的示例性数据中心。示例数据中心可包括处理器和机器可读介质,在机器可读介质中存储有指令,当执行所述指令时,使得数据中心通过以下步骤来分配资源:在数据中心接收任务;基于接收的任务生成任务指纹;将任务指纹与多个参考任务指纹进行比较,以确定最接近匹配参考任务指纹;确定关于最接近匹配参考任务指纹的参考任务行为概要;以及分配资源,以基于参考任务行为概要执行接收的任务。
[0008]示例性数据中心可包括处理器和机器可读介质,在机器可读介质中存储有指令,当执行所述指令时,使得数据中心通过以下步骤生成任务指纹和资源分配数据库:在数据中心接收多个任务;针对每个接收的任务生成任务指纹以形成多个任务指纹;将资源集分配至每个接收的任务,以限定多个分配的资源集;利用各个分配的资源集执行每个接收的任务;利用分配的资源集针对每个执行的任务收集任务行为,以生成多个任务行为;以及在数据中心的数据库中将每个任务指纹、分配的资源集和任务行为关联起来,以生成任务指纹和资源分配数据库。
[0009]以上的
【发明内容】
仅是例示性的并且不旨在以任何方式进行限制。除了上述的说明性方面、实施方式和特征以外,其它的方面、实施方式和特征将通过参照附图和下面的具体描述变得明显。
【专利附图】

【附图说明】
[0010]在本说明书的结论部分具体指出和明确要求了主题。根据以下描述和所附权利要求并结合附图,本发明的以上和其它特征将变得完全清楚。应该理解这些附图仅描绘了根据本公开的若干实施方式,并且因此不应理解为限制本公开的范围,将通过使用附图通过附加的特征和细节来描述本公开。
[0011]在附图中:
[0012]图1示出了用于分配资源的示例性方法的流程图;
[0013]图2示出了用于生成任务指纹和资源分配数据库的示例性方法的流程图;
[0014]图3示出了针对相关的任务指纹、分配的资源集和任务行为信息的示例性数据结构的表;
[0015]图4示出了针对相关的任务指纹和任务行为信息的示例性数据结构的表;
[0016]图5示出了示例性树形流提取的示图;
[0017]图6示出了示例性计算机程序产品;以及
[0018]图7示出了示例性计算装置的框图,所有附图根据本发明的至少某些实施方式布置。
【具体实施方式】
[0019]在本说明书的结论部分具体指出和明确要求了主题。根据以下描述和所附权利要求并且结合附图,本发明的以上和其它特征将变得完全清楚。应该理解这些附图仅描绘了根据本公开的若干实施方式,并且因此不应理解为限制本公开的范围,将通过使用附图通过附加的特征和细节来描述本公开。
[0020]以下描述阐述了多个示例以及特定细节,以提供对要求保护的主题的彻底理解。然而,本领域技术人员应该理解,可以实践要求保护的主题而不用本文公开的某些或更多的具体细节。另外,在某些情况下,没有详细地描述熟知的方法、程序、系统、组件和/或电路,以避免不必要地使要求保护的主题模糊。
[0021]在下面的详细说明书中,参照构成说明书的一部分的附图。在附图中,除非上下文另外指出,否则相同的符号通常表示类似的部件。在具体的说明书、附图和权利要求书中所描述的例示性实施方式不意在进行限制。可以采用其它示例或实施方式,并且在不脱离本文呈现的主题的精神或范围的情况下可以做出其它改变。将容易地理解,如本文一般描述和附图中示出的本公开的多个方面可以在各种不同的配置中被设置、替换、组合和设计,所有这些在这里被明确设想到并构成本发明的一部分。
[0022]本公开尤其是针对与分配数据中心资源相关的方法、装置、系统和计算机可读介质。
[0023]在某些示例中,可在数据中心接收任务。在某些示例中,可针对接收的任务生成任务指纹,并且可使用任务指纹来确定任务指纹的最接近匹配参考任务指纹。在多个示例中,任务指纹和最接近匹配参考任务指纹可完全匹配或不完全匹配(使得最接近匹配可以是所述任务指纹的替代(suirogate))。在某些示例中,与最接近匹配任务指纹相关的任务行为概要(profile)可用于分配数据中心资源,以执行接收的任务。在某些示例中,任务行为概要可包括优选的硬件来执行任务和冲突任务(冲突任务不与任务共享资源)。在某些示例中,在任务的执行过程中,任务执行可被监视,并且可收集执行度量,以使得可更新任务行为概要(如果存在完全匹配)或可针对新识别的任务指纹创建新的任务行为概要条目。可针对接收的任务根据需要来重复这些方法和/或改进任务行为概要数据库。
[0024]在某些示例中,可使用所讨论的技术来生成任务指纹和资源分配数据库。在某些示例中,可在数据中心使用数据库。在某些示例中,可将数据库提供至另一数据中心或者新实现的数据中心,以改善数据中心的执行。在某些示例中,可在完成客户端的任务的过程中生成数据库。在某些示例中,可响应于一组准备的任务来生成数据库。
[0025]图1示出了根据本发明的至少某些实施方式布置的用于分配资源的示例性方法100的流程图。一般来说,可通过诸如本文中讨论的任何合适的装置、多个装置或系统来执行方法100。在某些示例中,可由数据中心或数据中心簇(cluster)等来执行方法100。在某些示例中,可由云计算服务来执行方法100。在某些示例中,可由像服务(IaaS)提供商这样的基础设施或像服务(PaaS)提供商这样的平台等来执行方法100。在某些示例中,可由本文参照图7所讨论的系统来执行方法100。
[0026]方法100阐述了可被描述为可通过硬件、软件和/或固件执行的过程步骤、功能操作、事件和/或行为等的多种功能框或行为。图1中所示的功能框的多种替代方式可实现为多种实施方式。例如,在不脱离要求保护的主题的范围的情况下,可采用图1中未示出的中间行为和/或图1中未示出的附加行为和/或可去除图1中示出的某些行为。方法100可包括由框110、120、130、140、150、160、170和/或180的一个或多个所指示的一个或多个功能操作。方法100的过程可开始于框110。
[0027]在框110,“接收任务”,可在例如数据中心接收任务。一般来说,可利用任何合适的通信技术来接收任务。一般来说,接收的任务可包括任何合适的任务、一组任务或子任务等。在某些示例中,任务可以是应用。在某些示例中,任务可以是过程。在某些示例中,任务可以是数据中心提供的标准和/或库任务。在某些示例中,任务可以是客户端所写的任务。一般来说,可从任何合适的客户端、客户端系统或用户系统等接收任务。可在框120继续方法100的过程。
[0028]在框120,“基于接收的任务生成任务指纹”,可至少部分地基于接收的任务在数据中心生成任务指纹。一般来说,可利用能够识别和/或匹配在数据中心接收的再现任务的任何合适的技术来生成任务指纹。一般来说,任务指纹可包括任务的精简表达。在某些示例中,可通过识别和/或映射任务中的子任务来生成任务指纹。在某些示例中,可通过对接收的任务执行哈希函数来生成任务指纹。在某些示例中,可通过对任务中的多个子任务中的某些子任务进行子指纹掩蔽和识别任务的未掩蔽的子任务来生成任务指纹。在这种实施方式中,例如,可像在音频指纹应用中使用的那样来使用算法。在某些示例中,可通过对接收的任务执行树形流提取来生成任务指纹并提供树形流提取的符号近似表达,如本文在下面具体地参照图5进行的进一步的讨论。
[0029]一般来说,可通过如本文讨论的例如计算机、多个计算机、服务器、计算资源、虚拟机或计算簇等这样的数据中心的任何合适的资源执行任务指纹。在某些示例中,可通过专用计算资源执行任务指纹。在某些示例中,可通过数据中心的任务指纹发生器来执行任务指纹。在某些示例中,生成任务指纹可包括利用系统管理级访问、板级访问、处理器内核级访问或虚拟机级访问等来访问接收的任务。
[0030]如所讨论的,在某些示例中,可在数据中心生成任务指纹。在某些示例中,可从客户端接收任务指纹,所述客户端例如是客户端系统或用户系统等。在这种示例中,生成任务指纹所需要的过程可因此从数据中心卸载至客户端。一般来说,可利用本文讨论的任何技术在客户端形成任务指纹,并且可利用任何合适的通信技术从客户端发送任务指纹。方法100的过程可在框130继续进行。
[0031]在框130,“将任务指纹与参考任务指纹比较以确定最接近匹配参考任务指纹”,可将生成的任务指纹与一个或多个参考任务指纹进行比较以确定最接近匹配参考任务指纹。一般来说,可利用任何合适的技术来进行所述比较。在某些示例中,所述比较可包括比较与任务指纹和参考任务指纹相关的哈希函数的结果。在某些示例中,所述比较可包括比较与任务指纹和参考任务指纹相关的子指纹掩蔽的结果。在某些示例中,所述比较可包括比较与任务指纹和参考任务指纹相关的树形流提取和符号表达的结果。在某些示例中,任务指纹和参考任务指纹之间的每个比较可生成相似性得分,并且最高的相似性得分可提供最接近的匹配。一般来说,可如本文所讨论地通过数据中心的任何合适的资源来执行任务指纹。在某些示例中,可通过专用计算资源来执行指纹比较。在某些示例中,可通过数据中心的任务管理器执行指纹比较。方法100的过程可在框140继续进行。
[0032]在框140,“确定与最接近匹配参考任务指纹相关的参考任务行为概要”,可确定与最接近匹配参考任务指纹相关的参考任务行为概要。一般来说,可利用任何合适的技术来确定参考任务行为概要。在某些示例中,在框130所讨论的比较可针对每个比较生成得分或等级,以使得最高得分或等级可指示最接近匹配参考任务指纹。在某些示例中,任务指纹和最接近匹配参考任务指纹可以是精确匹配或完全匹配,以使得所述匹配可指示先前已在数据中心已经执行了所述任务。在某些示例中,任务指纹和最接近匹配参考任务指纹可以不是精确匹配或完全匹配。在这种示例中,最接近匹配参考任务指纹可以被认为是所述任务的替代,使得任务可以是分配的资源,并且被完成好像是最接近匹配参考任务指纹的匹配。在某些示例中,可基于匹配的接近程度进行分配的资源的允许和/或调整。一般来说,可如本文所讨论的通过数据中心的任何合适的资源执行任务指纹。在某些示例中,可由专用的计算资源执行指纹比较。在某些示例中,可由数据中心的任务管理器执行指纹比较。
[0033]一般来说,任务行为概要可包括与在数据中心执行任务相关的任何信息。在某些示例中,任务行为概要可包括用于执行任务的优选资源集。在某些示例中,资源集可包括处理器类型和/或能力、典型任务持续时间、存储器类型和/或量、缓存空间或虚拟机类型或能力等。在某些示例中,任务行为概要可包括一个或多个冲突任务,使得如果冲突任务和所述任务可分配至相同资源,则冲突任务可指示会发生明显减慢和/或低效率。应该理解,当共享资源时,在许多情况下,会发生少量或适度的低效率。在某些示例中,如果低效率可高于预定的阈值,则会存在冲突资源。在某些示例中,预定阈值可以是50%减慢。在某些示例中,预定阈值可以是100%减慢。在某些示例中,预定阈值可以是200%减慢。在某些实施方式中,执行降低可包括任务持续时间为标准任务持续时间的五倍。在某些示例中,分配资源以执行接收的任务可包括分配与由一个或多个冲突任务使用的那些资源不同的资源。方法100的过程可在框150继续进行。
[0034]在框150,“分配资源以基于参考任务行为概要执行接收的任务”,在数据中心可分配资源以至少部分地基于参考任务行为概要来执行接收的任务。一般来说,可利用任何合适的技术来分配资源。在某些示例中,可通过数据中心的任务管理器分配资源。如所讨论的,在某些示例中,任务行为概要可包括一个或多个冲突任务。在某些示例中,分配资源以执行接收的任务可包括分配与由一个或多个冲突任务所使用的那些资源不同的资源。在这种示例中,可如所讨论地基于在数据中心随时间获得的托管数据来分配资源。应该理解,避免这种托管执行低效会导致数据中心的实质执行改善。
[0035]在某些示例中,可基于可最有效地执行任务的资源类型、量或组合等的识别来分配资源。一般来说,分配的资源可包括任何合适的资源。在某些示例中,分配的资源可包括处理器、存储器、缓存空间或虚拟机。如所讨论的,在某些示例中,任务指纹可能不是参考任务指纹的完全匹配,并且可使用最接近匹配参考任务指纹或任务替代。所讨论的技术可提供针对这种任务指纹的有效近似匹配,以使得可基于针对最接近匹配参考任务指纹或任务替代所优化的资源的使用来显著地优化接收的任务。方法100的过程可在框160继续进行。
[0036]在框160,“利用分配的资源执行接收的任务”,可利用分配的资源执行接收的任务。一般来说,如在框150所讨论地,可利用任何合适的技术执行接收的任务,并可实现分配的资源。在某些示例中,为了完成接收的任务,分配的资源可连续可用。在某些示例中,在执行接收的任务的过程中,分配的资源可以是不可用的、变得不可用的或失效的等。在这种示例中,数据中心可分配其它资源来执行接收的任务。方法100的过程可在框170继续。
[0037]在框170,“基于任务的执行收集执行度量”,可收集基于执行的执行度量。一般来说,可利用任何合适的技术来收集执行度量。一般来说,如本文所讨论的,可通过数据中心的任何合适的资源来执行执行度量的收集。在某些示例中,可通过专用计算资源来执行执行度量的收集。在某些示例中,可通过数据中心的任务分析器来执行执行度量的收集。在某些示例中,可通过系统管理程序来收集执行度量。在某些示例中,可通过诸如虚拟平台结构这样的修改后的虚拟机等来收集执行度量。这种修改后的虚拟机可提供针对操作系统的可见性和/或包括缓存使用或存储带宽的虚拟机状况等。在某些示例中,可利用数据中心的基于包的网络使用监视来收集执行度量。
[0038]一般来说,执行度量可包括任何合适的执行度量。在某些示例中,执行度量可包括数据中心管理相关度量。在某些示例中,执行度量可包括任务持续时间(即,完成任务所需的时间)、中央处理单元(CPU)使用、存储器使用、网络使用、存储体使用、存储体访问频率、存储器使用的状态改变或随时间的网络流量改变等。在某些示例中,执行度量可包括预测度量,使得所述度量可包括各种事件的统计概率。可通过分析可在数据中心重复许多次的任务来生成这种度量,并且可包括事件的概率。作为示例性的示例,具体任务(和相关的任务指纹)可具有90%的概率来生成2GB数据存储器存取。另外,预测度量可依赖于在先活动,使得度量可具有输入。利用所讨论的示例,在来自另一任务或应用的IMB (或更多)网络传送之后会以90%的概率发生生成2GB数据存储器存取。这种度量可提供基本灵活、准确和特定运行时间的优点。方法100的过程可在框180继续进行。
[0039]在框180,“基于执行度量更新参考任务行为概要”,可至少部分地基于收集的执行度量来更新参考任务行为概要。一般来说,可利用任何合适的技术来更新参考任务行为概要。一般来说,如本文所讨论地,可通过数据中心的任何合适的资源来更新任务行为概要。在某些示例中,可通过专用的计算资源来更新任务行为概要。在某些示例中,可在数据中心的任务分析器更新任务行为概要。如本文进一步讨论的,任务行为概要实现为数据库,并且可通过更新数据库中的信息来更新任务行为概要。一般来说,如本文所讨论的,任务行为概要的更新可包括任何行为概要信息。如所讨论的,在某些示例中,已在任务指纹和最接近匹配参考任务指纹之间确定了完全的匹配或基本完全的匹配。在这样的示例中,任务行为概要的更新可包括更新最接近匹配参考任务指纹的任务行为概要。在某些示例中,任务指纹可以是新识别的任务指纹,并且更新任务行为概要可包括提供新的指纹和新的行为概要条目。
[0040]方法100和本文讨论的其它技术可具体地在两个或更多个任务之间的共享的资源的使用方面提供动态调度、动态容量计划、充分的效率、相同硬件的执行改善或针对数据中心的优化和资源节省。随着可在数据中心接收任务,方法100可执行任何次数。在某些示例中,可针对所有接收的任务执行方法100。在某些示例中,诸如在数据中心中的特定的负载水平期间,可针对接收的任务的一部分或在特定情况下执行方法100。如所讨论的,可接收多个客户端的任一个的任务。在某些示例中,可如本文所讨论地对从不同的客户端接收的任务采指纹、进行比较和使用,以分配资源。这种实施方式可提供以下优点:提供用于表征任务和分配资源的实质上更多的信息。另外,这种实施方式可提供以下优点:针对更小的客户端、较少使用服务的客户端或新客户端等有效地分配资源。
[0041]如所讨论的,本文讨论的技术可针对数据中心提高充分的效率并节省资源。在某些示例中,可生成可传送至另一数据中心的、在新的数据中心实施的或作为数据中心解决方案提供的数据库等,从而生成的和保持的信息可以平衡,以用于其它数据中心。
[0042]图2示出了根据本发明的至少某些实施方式布置的用于生成任务指纹和资源分配数据库的示例性方法200的流程图。一般来说,可通过诸如本文中讨论的任何合适的装置或系统来执行方法200。在某些示例中,可通过数据中心或数据中心簇等来执行方法200。在某些示例中,可通过云计算服务来执行方法200。在某些示例中,可通过如本文参照图7所讨论的系统来执行方法200。在某些示例中,方法200提供可传送和/或发送至另一数据中心或数据中心簇的任务指纹和资源分配数据库等。
[0043]方法200阐述了可被描述为可由硬件、软件和/或固件执行的过程步骤、功能操作、事件和/或行为等的多种功能框或行为。可按照多种实施方式实现图2中所示的功能框的许多替代方式。例如,在不脱离要求保护的主题的范围的情况下,可采用图2中未示出的中间行为和/或图2中未示出的附加行为和/或可去除图2中示出的某些行为。方法200可包括通过框210、220、230、240、250、260、270和/或280中的一个或多个所指示的一个或多个功能操作。方法200的过程可开始于框210。
[0044]在框210,“接收任务”,例如可在数据中心接收任务。一般来说,可利用任何合适的通信技术接收任务。一般来说,接收的任务可包括如本文讨论的(具体地,参照方法100的框110讨论的)任何合适的任务、任务组或子任务、应用、过程等。方法200的过程可在框220继续进行。
[0045]在框220,“基于接收的任务生成任务指纹”,可至少部分地基于接收的任务在数据中心生成任务指纹。一般来说,可利用能够识别和/或匹配在数据中心接收的再现任务的任何合适的技术来生成任务指纹。本文所讨论的任何方法或技术可用于生成任务指纹,并且具体地说,如参照方法100的框120所讨论的那些方法或技术。
[0046]如所讨论的,在某些示例中,可在数据中心生成任务指纹。在某些示例中,可从例如客户端系统或用户系统这样客户端等接收任务指纹。在这样的示例中,生成任务指纹所需要的过程可因此从数据中心卸载至客户端侧。一般来说,可利用本文讨论的任何技术在客户端侧形成任务指纹,并且可利用任何合适的通信技术从客户端侧发送任务指纹。方法200的过程可在框230继续进行。
[0047]在框230,“分配资源集以执行接收的任务”,可分配数据中心的资源以执行接收的任务。一般来说,可利用任何合适的技术分配资源。在某些示例中,可通过数据中心的任务管理器分配资源。在某些示例中,在利用分配的资源执行的过程中,可分配资源以收集关于任务行为的数据。在某些示例中,可随机地选择资源。在某些示例中,可基于资源模板选择资源,以使得可全部(至少在最初)通过基本资源集执行接收的任务。在某些示例中,可基于任务指纹的特征选择资源。在某些示例中,如本文具体参照方法100所讨论的,可基于与参考任务指纹和参考任务行为概要的比较来选择资源。在某些示例中,可能期望确定任务的冲突任务。在某些示例中,分配资源可包括:分配已执行另一任务的资源,以确定是否会存在任务冲突。在某些示例中,可能期望确定可以执行任务的最小资源量。一般来说,分配的资源可包括任何合适的资源。在某些示例中,分配的资源可包括处理器、存储器、缓存空间或虚拟机等。方法200的过程可在框240继续进行。
[0048]在框240,“利用分配的资源集执行接收的任务”,可利用分配的资源执行接收的任务。一般来说,可如框230所讨论地利用任何合适的技术执行接收的任务,并且可实施分配的资源。可利用本文讨论的任何技术执行接收的任务。方法200的过程可在框250继续进行。
[0049]在框250,“针对执行的任务收集任务行为”,可收集基于执行的执行度量。一般来说,可利用任何合适的技术来收集执行度量。一般来说,可如本文所讨论地通过数据中心的任何合适的资源来执行执行度量的收集。在某些示例中,可通过诸如任务分析器这样的专用的计算资源来执行执行度量的收集。在某些示例中,可通过系统管理程序、通过诸如虚拟平台架构这样的修改的虚拟机或利用基于包的网络使用监视等来收集执行度量。
[0050]一般来说,执行度量可包括任何合适的执行度量。在某些示例中,执行度量可包括与数据中心管理相关度量。在某些示例中,执行度量可包括任务持续时间、中央处理单元(CPU )使用、存储器使用、网络使用、存储体使用、存储体访问频率、存储器使用的状态改变或网络流量随时间的变化等。在某些示例中,如本文所讨论地,执行度量可包括预测度量,从而度量可包括统计概率。方法200的过程可在框260继续进行。
[0051]在框260,“任务指纹在数据库中? ”,可确定任务指纹是否可在任务指纹和资源分配数据库中。一般来说,可利用任何合适的技术进行这种确定。在某些示例中,可确定所述任务指纹是否与数据库中的任务指纹充分匹配。在某些示例中,可将任务指纹与可能已经存在于任务指纹和资源分配数据库中的参考任务指纹进行比较。在某些示例中,所述比较可包括比较与任务指纹和参考任务指纹相关的哈希函数的结果、比较与任务指纹和参考任务指纹相关的子指纹掩蔽的结果或比较与任务指纹和参考任务指纹相关的树形流提取和符号表达的结果等。一般来说,可通过如本文讨论的数据中心的任何合适的资源(例如,任务管理器)来执行这种比较。如果任务指纹不在任务指纹和资源分配数据库中,则方法200的过程可在框270继续进行。如果任务指纹存在于任务指纹和资源分配数据库中,则方法200的过程可在框280继续进行。
[0052]在框270,“将数据库中的任务指纹、分配的资源集和任务行为关联起来作为新条目”,任务指纹、分配的资源集和任务行为可在数据库中关联起来作为新条目。一般来说,可利用任何合适的技术和/或数据结构在数据库中输入和/或保持所描述的数据。在某些示例中,可将任务指纹、分配的资源集和任务行为关联起来作为表。在某些示例中,可如本文参照图4和/或图5所讨论地在表的数据库中将任务指纹、分配的资源集和任务行为关联起来。在某些示例中,可在相关的数据库中将任务指纹、分配的资源集和任务行为关联起来。应该理解,除所讨论的数据以外,多种信息可与数据库中的所讨论的任务执行(例如,时间戳、与数据中心的执行参数相关的数据或与由数据中心同时执行的其它任务相关的数据等)相关°
[0053]在框280,“将分配的资源集和任务行为与数据库中的任务指纹条目关联起来”,分配的资源集和任务行为可与数据库中的任务指纹相关,作为共同的任务指纹条目。一般来说,可利用任何合适的技术和/或数据结构将描述的数据输入和/或保持在数据库中。在某些示例中,分配的资源集和任务行为可与作为表或表条目的任务指纹等相关。在某些示例中,如本文参照图4和/或图5所讨论地,分配的资源集和任务行为可与任务指纹相关,作为表条目。在某些示例中,分配的资源集和任务行为可与相关的数据库中的任务指纹相关。如所讨论地,多种附加信息可与数据库中讨论的任务执行相关,例如时间戳、与数据中心的执行参数相关的数据或与由数据中心同时执行的其它任务相关的数据等。
[0054]可以执行方法200和本文讨论的其它技术以提供任务指纹和资源分配数据库。随着可在数据中心接收任务,方法200可执行任意次。应该理解,如本文所讨论地,随着更多的任务可被接收、执行和表征,任务指纹和资源分配数据库可变得更加完整、强健和/或健全(built-out)。在某些示例中,任务指纹和资源分配数据库可定期地重组、剔除可疑的信息、与其它数据库组合或比较等,以提供合适的数据库管理。
[0055]如方法200中所讨论地,任务指纹和资源分配数据库可随时间建立和更新。这种数据库可用于实施数据中心,或者数据库可由另一数据中心使用、启动数据中心等。应该理解,可在执行可用客户端任务的功能数据中心和所得任务指纹和资源分配数据库的上下文中讨论方法200。在某些示例中,使用与参照方法200讨论的那些技术相似的技术的方法可用于一系列测试任务上,以建立任务指纹和资源分配数据库。在这样的示例中,可从针对测试目的生成的已知的公共任务中选择任务等。这种技术可提供以下优点:通过获得的测试结果,允许数据库结构完全地和/或以可预测的方式建立。
[0056]如本文所讨论的,在某些示例中,可生成任务指纹和资源分配数据库。在某些示例中,这种数据库可用于分配资源。图3示出了根据本发明的至少某些实施方式布置的针对相关的任务指纹、分配的资源集和任务行为信息的示例性数据结构的表300。如图3所示,表300可包括任务指纹列310、资源集行320和对应的任务行为条目330和/或对应的空条目340。一般来说,表300可以是可在本文讨论的数据中心或系统中保持的数据库中实现的数据集的表示。
[0057]一般来说,表300可包括任务指纹列310中的任意数目的任务指纹条目(1、2、…X)、资源集行320中的任意数目的资源集条目(1、2、...Υ)、任意数目的任务行为条目330和任意数目的空条目340。在某些示例中,如本文所讨论地,任务指纹列310中的任务指纹条目可包括由数据中心执行的任务的任务指纹。一般来说,任务指纹条目可包括本文讨论的任何指纹。在某些示例中,如本文所讨论地,资源集条目可包括用于执行任务的分配的资源集。
[0058]一般来说,任务行为条目330可包括本文讨论的任何任务行为信息。一般来说,任务行为条目可包括与利用数据中心的资源集执行关于任务指纹的任务相关的任何信息。在某些示例中,如本文所讨论的,任务行为条目可包括执行度量。在某些示例中,任务行为条目可包括数据中心管理相关度量。在某些示例中,任务行为条目可包括任务持续时间、中央处理单元(CPU)使用、存储器使用、网络使用、存储体使用、存储体访问频率、存储器使用的状态改变或网络流量随时间的改变等。在某些示例中,任务行为条目可包括预测度量,使得度量可包括概率。在某些示例中,任务行为条目可包括如本文讨论的一个或多个冲突任务。在某些示例中,表300可包括可针对每个任务指纹识别资源集的指示物或标记以及可指示优选的资源集的对应的任务行为条目。如本文所讨论的,这种资源集和/或任务行为条目可指示用于针对最接近匹配参考任务指纹来分配资源的参考任务行为概要。一般来说,空条目340可不包括信息,并`且可包括已在数据中心评价的用于任务指纹和资源集组合的条目。
[0059]图4示出了根据本发明的至少某些实施方式布置的针对相关的任务指纹和任务行为信息的示例性数据结构的表。如图4所示,表400可包括任务指纹列410、任务指纹行420和对应的任务行为条目430和/或对应的空条目440。如图所示,表400可还包括对角线任务行为条目450,其可包括可含有例如当相同的任务并列布置在共享资源上时的信息的任务行为条目。在某些示例中,表400可实现为上或下三角形矩阵或表,从而可去除任何重复的信息。在某些示例中,表400可实现为完全表,并且上三角形可包括高优先级过程和/或任务,并且下三角形可包括较低优先级过程和/或任务。一般来说,如本文所描述地,表400可以是在可保持在数据中心或系统中的数据库中实现的数据集的表达。
[0060]一般来说,表400可包括任务指纹列410和任务指纹行420中的任何数目的任务指纹条目(1、2、...Χ)、任何数目的任务行为条目430以及任何数目的空条目440。在某些示例中,如本文所讨论的,任务指纹列410和任务指纹行420中的任务指纹条目可包括通过数据中心执行的任务的任务指纹。一般来说,任务指纹条目可包括本文讨论的任何指纹。在某些示例中,表400可如图所示地进行布置,从而任务行为条目430可包括关于在任务之间共享资源的信息(如由任务指纹所表达的)。这样,可容易识别如本文讨论的可导致数据中心的低效的冲突资源。
[0061]一般来说,任务行为条目430可包括如本文讨论的任何任务行为信息。一般来说,任务行为条目可包括与利用共享资源以基本同时执行关于利用数据中心的资源的任务指纹的任务相关的任何信息。在某些示例中,如本文讨论的,任务行为条目可包括执行度量。在某些示例中,任务行为条目可包括数据中心管理相关度量。在某些示例中,任务行为条目可包括任务持续时间、中央处理单元(CPU)使用、存储器使用、网络使用、存储体使用、存储体访问频率、存储器使用的状态改变或网络流量随时间的改变等。在某些示例中,任务行为条目可包括预测度量,从而度量可包括概率。在某些示例中,表400可包括这样的指示物或标记,即,该指示物或标记可对可导致所讨论的低效率的对应的任务进行识别并因而指示冲突任务。一般来说,空条目440可不包括信息,并且可包括已在数据中心进行了评估了的用于任务指纹和资源集组合的条目。
[0062]如本文所讨论的,在某些示例中,通过对接收的任务执行树形流提取并提供树形流提取的符号近似表达,可生成任务指纹。在某些示例中,树形流提取可提供任务的行为结构的表达,并且可包括任务的数据内容的成分。图5示出了根据本发明的至少某些实施方式布置的示例性树形流提取的示图500。如图5所示,示图500可包括可通过连接部520来连接的代码段510(在示图500以1-63编号)。在某些示例中,示图500还可包括片段530。一般来说,代码段510可表示树形流提取的任务中的执行单元。一般来说,连接部520可表示执行流或执行单元之间的连接。一般来说,片段530可指示在执行任务时可以被调用的代码段510的频率和/或概率。如本文所讨论的,诸如示图500的示例性树形流提取这样的树形流提取可利用任何合适的技术转换为符号近似格式。
[0063]如本文所讨论的,在某些示例中,通过对接收的任务执行树形流提取和提供树形流提取的符号近似表达可生成任务指纹。在某些示例中,树形流提取可提供任务的行为结构的表达,并可包括任务的数据内容的成分。在某些示例中,树形流提取可提供关于任务的签名。一般来说,可利用任何合适的技术来执行树形流提取。在某些示例中,通过访问虚拟机文件系统可具有的系统管理程序可执行树形流提取。在某些示例中,树形流提取可包括对任务的编译的字节码、脚本或原码等执行提取。在某些示例中,可在任务包上传和/或安装期间执行树形流提取。这种实施方式可提供以下优点:不需要改变数据中心系统管理程序。在这种实施方式中,由树形流提取确定的任务指纹可被加密并且存储在邻近的数据中心的虚拟机。
[0064]一般来说,可利用任何合适的计算机可读介质或计算机程序产品在任何数据中心、系统和/或计算系统中实施本文所讨论的系统架构、方法和数据库。参照图6和在本文中的其它地方描述了示例性计算机程序产品。参照图7和在本文中的其它地方描述了示例性系统。在某些示例中,可在多个物理地点或位置实施本文所讨论的数据中心、系统或数据簇或其它系统。
[0065]图6示出了根据本发明的至少某些实施方式所布置的示例性计算机程序产品600。计算机程序产品600可包括机器可读非临时性介质,在其中存储有多个指令,当执行所述指令时,使得机器根据本文讨论的过程和方法分配数据中心资源。计算机程序产品600可包括信号承载介质602。信号承载介质602可包括一个或多个机器可读指令604,所述指令当被一个或多个处理器执行时可操作性地使得计算装置能够提供本文所述的功能。在多个示例中,某些或所有的机器可读指令可被本文讨论的装置使用。
[0066]在某些实施方式中,信号承载介质602可包括计算机可读介质606,诸如(但不限于)硬盘驱动器、压缩盘(⑶)、数字通用盘(DVD)、数字带、存储器等。在某些实施方式中,信号承载介质602可包括可记录介质608,诸如(但不限于)存储器、读/写(R/W)⑶、R/W DVD等。在某些实施方式中,信号承载介质602可包括通信介质610,诸如(但不限于)数字和/或模拟通信介质(例如,光缆、波导、有线通信链路、无线通信链路等)。在某些示例中,信号承载介质602可包括机器可读非临时性介质。
[0067]图7是示出了根据本发明的至少某些实施方式布置的示例性计算装置700的框图。在多个示例中,如本文所讨论的,计算装置700可被配置为分配数据中心资源。在多个示例中,如本文所讨论的,计算装置700可被配置为作为服务器系统分配数据中心资源。在一个示例性基本配置701中,计算装置700可包括一个或多个处理器710和系统存储器720。存储器总线730可用于在处理器710和系统存储器720之间进行通信。
[0068]根据期望的配置,处理器710可以是包括但不限于以下各项的任何类型:微处理器(μ P)、微控制器(μ C)、数字信号处理器(DSP)或其任何组合。处理器701可以包括一级缓存或多级缓存(例如,I级缓存711和2级缓存712)、处理器核713和寄存器714。处理器核713可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核心(DSP核)或者其任何组合。存储器控制器715还可以与处理器710 —起使用,或者在某些实现中,存储器控制器715可以是处理器710的内部部件。
[0069]根据期望的配置,系统存储器720可以是包括但不限于以下各项的任何类型:易失性存储器(例如,RAM)、非易失性存储器(例如,ROM、闪存等)或者其任何组合。系统存储器720可以包括操作系统721、一个或更多个应用722和程序数据724。应用722可以包括任务指纹/分配应用723,所述任务指纹/分配应用723可以被设置为执行本文所描述的功能、行为和/或操作,包括本文所描述的功能框、行为和/或操作。程序数据724可以包括与任务指纹/分配应用723 —起使用的任务指纹/分配数据725。在某些示例性实施方式中,应用722可以被设置为在操作系统721上与程序数据724进行操作。所描述的该基本配置通过虚线701内的部件示出在图7中。
[0070]计算装置700可以具有附加的特征或功能以及附加接口,以便于基本配置701与任何所需装置和接口之间的通信。例如,可以使用总线/接口控制器740以便于经由存储装置接口总线741的基本配置701和一个或更多个数据存储装置750之间的通信。数据存储装置750可以是可移除存储装置751、不可移除存储装置752或二者的组合。举例来说,可移除存储装置和不可移除存储装置的示例包括磁盘装置(例如,柔性盘驱动器和硬盘驱动器(HDD))、光盘驱动器(例如,压缩盘(⑶)驱动器或数字通用盘(DVD)驱动器)、固态驱动器(SSD)和带驱动器。示例性计算机存储介质可以包括按照用于存储信息(例如,计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术实现的易失性介质和非易失性介质、可移除介质和不可移除介质。
[0071]系统存储器720、可移除存储装置751和不可移除存储装置752都是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPR0M、闪存或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光学存储装置、磁带盒、磁带、磁盘存储装置或其它磁性存储装置、或者可以用于存储期望的信息并且可以被计算装置700访问的任何其它介质。任何这种计算机存储介质可以是装置700的一部分。
[0072]计算装置700还可以包括接口总线742,所述接口总线742便于经由总线/接口控制器740从各种接口装置(例如,输出接口、外围接口和通信接口)到基本配置701进行通信。示例输出接口 760可以包括图形处理单元761和音频处理单元762,所述图形处理单元761和所述音频处理单元762可以被配置为经由一个或更多个A/V端口 763与诸如显示器或扬声器的各种外部装置进行通信。示例外围接口 770可以包括串行接口控制器771或并行接口控制器772,所述串行接口控制器771或所述并行接口控制器772可以被配置为经由一个或更多个I/O端口 773与诸如输入装置(例如,键盘、鼠标、笔、语音输入装置、触摸输入装置等)的外部装置或其它外围装置(例如,打印机、扫描仪等)进行通信。示例通信装置780包括网络控制器781,所述网络控制器781可以被设置为便于经由一个或更多个通信端口 782通过网络通信链路与一个或更多个其它计算装置783进行通信。通信链路可以是通信介质的一个示例。通信介质通常可以实现为计算机可读指令、数据结构、程序模块或在经调制的数据信号中的其它数据(诸如载波或其它传输机制),并且可以包括任何信息传输介质。“经调制的数据信号”可以是这样的信号,即,使其一个或更多个特性按照对该信号中的信息进行编码的方式来设置或改变。作为示例而非限制,通信介质可以包括:诸如有线网络或直接有线连接的有线介质;以及诸如声学、射频(RF)、微波、红外(IR)和其它无线介质这样的无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
[0073]计算装置700可以被实现为小型便携式(或移动)电子装置(例如,蜂窝电话、移动电话、平板装置、笔记本计算机、个人数据助理(PDA)、个人媒体播放器装置、无线网络观看装置、个人头戴耳机装置、专用装置或包括以上功能中的任何一个的混合装置)。计算装置700还可以被实现为包括笔记本计算机和非笔记本计算机配置这二者的个人计算机。另外,计算装置700可以被实现为无线基站或其它无线系统或装置的一部分。
[0074]就在存储在计算系统存储器(诸如计算机存储器)中的数据比特或二进制数字信号上的操作的算法或符号表达而言,提供了以上详细描述的一些部分。这些算法描述或表达是数据处理领域中的技术人员使用的技术(以将他们的工作的实质内容传送给本领域其它技术人员)的示例。这里,通常将算法视为导致期望结果的自相一致序列的操作或类似的处理。在本上下文中,操作或处理涉及物理量的物理操作。通常,但非必要,所述量可采取能够被存储、传送、组合、比较或以其它方式操作的电或磁信号的形式。总是能够方便地证明,主要针对共同使用的原因参照作为比特、数据、值、元素、符号、字符、术语、数字、编号等的所述信号。然而,应该理解,所有这些和相似的术语与合适的物理量关联,并且仅仅是方便的标签。除非明确指出不是这样,否则从以下讨论中清楚的是,应该理解在整个本说明书的讨论中,利用诸如“处理”、“计算”、“确定”等的术语指代计算装置的行为或处理,所述行为或处理操作或转变计算装置的存储器、寄存器或其它信息存储装置、传输装置或显示装置中表示为物理电学量或磁学量的数据。
[0075]通过使用框图、流程图和/或示例,以上详述已阐述了设备和/或处理的各种实施方式。在这样的框图、流程图和/或示例包含一个或更多个功能和/或操作的范围内,本领域技术人员将理解的是,可以由大范围的硬件、软件、固件或实际上其任何组合单独地和/或共同地实现这样的框图、流程图或示例内的各个功能和/或操作。在某些实施方式中,可以由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它集成的形式来实现本文所描述的主题的多个部分。然而,本领域技术人员将认识到,本文所公开的实施方式的某些方面可以作为在一个或更多个计算机上运行的一个或更多个计算机程序(例如,作为在一个或更多个计算机系统上运行的一个或更多个程序)、作为在一个或更多个处理器上运行的一个或更多个程序(例如,作为在一个或更多个微处理器上运行的一个或更多个程序)、作为固件、或者作为实际上它们的任何组合全部地或部分地等效地实现在集成电路中,并且将认识到,根据该公开,设计电路和/或针对软件或固件编写代码完全属于在本领域技术人员的技能之内。此外,本领域技术人员将理解的是,本文所描述的主题的机制能够被发布为各种形式的程序产品,并且,本文所描述的主题的示例性实施方式的应用与用于实际进行发布的信号承载介质的具体类型无关。信号承载介质的示例包括但不限于:诸如软盘、硬盘驱动器(HDD)、光盘(⑶)、数字通用光盘(DVD)、数字磁带、计算机存储器等这样的可记录型介质;以及诸如数字和/或模拟通信介质(例如,光缆、波导、有线通信链路、无线通信链路等)这样的传输型介质。
[0076]本文所描述的主题有时例示了包含在不同的其它部件中的或与不同的其它部件相连接的不同的部件。应理解的是,所描述的这种架构仅仅是示例性的,并且实际上,可以实现许多获得了相同的功能的其它架构。在概念上,用于获得相同功能的部件的任何配置都是有效地“关联”的,使得获得期望的功能。因此,不考虑架构或中间部件,可以将本文中被组合以获得特定的功能的任何两个部件视为是彼此“相关联”的,使得期望的功能被实现。同样,如此相关联的任何两个部件也可以被视为彼此“可操作地连接”或“可操作地耦接”,以实现期望的功能,并且能够如此关联的任何两个部件也可以被视为彼此“可操作地可耦接”,以实现期望的功能。可操作地可耦接的具体示例包括但不限于物理上可匹配和/或物理上交互的部件和/或可无线地交互和/或无线地交互的部件和/或逻辑上交互和/或可逻辑上交互的部件。
[0077]针对在本文中基本上任何复数和/或单数术语的使用,本【技术领域】技术人员可以从复数转化为单数和/或从单数转化为复数以适合于上下文和/或应用。为了清楚起见,可以在此明确地阐述各种单数/复数的置换。
[0078]本领域技术人员将理解的是,一般来说,本文所使用的措词,特别是在所附权利要求(例如,所附权利要求的主体)中使用的措词,通常旨在是“开放式”措词(例如,措词“包括”应被理解为“包括但不限于”,措词“具有”应被理解为“至少具有”,措词“包含”应被理解为“包含但不限于”等)。本领域技术人员将进一步理解的是,如果所引入的权利要求记载中的特定的数目是有意图的,则这样的意图将在权利要求中明确地记载,并且在没有这样的记载时,不存在这样的意图。例如,作为对理解的辅助,下面所附的权利要求可以包含对“至少一个”和“一个或更多个”的引入性用语的使用,以引入权利要求记载。然而,即使当相同的权利要求包括引入性用语“一个或更多个”或者“至少一个”以及诸如“一”或“一个”的不定冠词(例如,“一”和/或“一个”应被解释为表示“至少一个”或“一个或更多个”)时,使用这样的用语也不应被解释为暗示由不定冠词“一”或“一个”所引入的权利要求记载将包含这种所引入的权利要求记载的任何特定的权利要求限制到仅包含一个这样的记载的发明;对于使用用于引入权利要求记载的定冠词来说也是如此。另外,即使明确地记载了所引入的权利要求记载的特定数目,本领域技术人员将理解的是,这样的记载通常也应该被理解为至少表示所记载的数目(例如,在没有其它修饰的情况下,“两个记载”的无修饰的记载通常表示至少两个记载或者两个或更多个记载)。此外,在使用与“A、B和C中的至少一个等”类似的常规表述的情况下,一般来说,这种结构旨在表示本领域技术人员将理解的该常规表述的含义(例如,“具有A、B和C中的至少一个的系统”将包括但不限于仅具有A的系统、仅具有B的系统、仅具有C的系统、具有A和B的系统、具有A和C的系统、具有B和C的系统和/或具有A、B和C的系统等)。在使用与“A、B或C中的至少一个等”类似的常规表述的情况下,一般来说,这种结构旨在表示本领域技术人员将理解的该常规表述的含义(例如,“具有A、B或C中的至少一个的系统”将包括但不限于仅具有A的系统、仅具有B的系统、仅具有C的系统、具有A和B的系统、具有A和C的系统、具有B和C的系统和/或具有A、B和C的系统等)。本领域技术人员将进一步理解的是,示出两个或更多个替代性措词的几乎任何转折词和/或短语,无论是在说明书、权利要求或附图中,都应被理解为考虑可能包括措词中的一个、措词中任一个或全部措词。例如,短语“A或B”将被理解为可能包括“A”或“B”或“A和B”。
[0079]虽然本文中利用多种方法和系统描述并示出了特定示例技术,但是本领域技术人员应该理解,在不脱离要求保护的主题的前提下,可作出多种其它修改,并且等同物可被替换。另外,在不脱离本文描述的中心概念的情况下,可作出许多修改以适应要求保护的主题的教导的具体情况。因此,要求保护的主题旨在不限于公开的具体示例,而是所述要求保护的主题还可包括落入权利要求及其等同物的范围内的所有实施方式。
【权利要求】
1.一种用于在数据中心分配资源的方法,该方法包括: 在数据中心接收任务; 至少部分地基于所接收的任务在所述数据中心生成任务指纹; 在所述数据中心将所述任务指纹与多个参考任务指纹进行比较,以从所述多个参考任务指纹中确定最接近匹配参考任务指纹; 在所述数据中心确定与所述最接近匹配参考任务指纹相关的参考任务行为概要;以及在所述数据中心分配一个或多个资源,以至少部分地基于所述参考任务行为概要来执行所接收的任务。
2.根据权利要求1所述的方法,该方法还包括: 在所述数据中心利用所分配的资源执行所述任务; 至少部分地基于所述任务的执行来收集一个或多个执行度量;以及在所述数据中心至少部分地基于所述一个或多个执行度量来更新与所述最接近匹配参考任务指纹相关的所述参考任务行为概要。
3.根据权利要求2所述的方法,其中,所述一个或多个执行度量包括以下各项中的至少一种:任务持续时间、中央处理单元(CPU)使用、存储器使用、网络使用、存储体使用、存储体访问频率、存储器使用的状态改变或网络流量随时间的改变。
4.根据权利要求2所述的方法,该方法还包括: 在所述数据中心 接收第二任务; 至少部分地基于所接收的第二任务在所述数据中心生成第二任务指纹; 在所述数据中心将所述第二任务指纹与所述多个参考任务指纹进行比较; 确定所述最接近匹配参考任务指纹是所述第二任务指纹的最接近匹配;以及在所述数据中心分配第二资源,以至少部分地基于更新的参考任务行为概要来执行所接收的第二任务。
5.根据权利要求4所述的方法,该方法还包括: 在所述数据中心利用分配的第二资源来执行所述第二任务; 至少部分地基于所述任务的执行收集一个或多个第二执行度量;以及在所述数据中心基于所述一个或多个第二执行度量来更新与所述最接近匹配参考任务指纹相关的所述参考任务行为概要。
6.根据权利要求5所述的方法,其中,更新所述参考任务行为概要包括:提供基于概率的行为度量,所述行为度量包括所分配的资源将达到阈值水平的百分率机会。
7.根据权利要求1所述的方法,其中,所述参考任务行为概要包括一个或多个冲突任务,并且分配资源以执行所接收的任务包括分配与被所述冲突任务中的一个或多个所使用的资源不同的资源。
8.根据权利要求1所述的方法,其中,生成所述任务指纹包括对所接收的任务执行哈希函数。
9.根据权利要求1所述的方法,其中,生成所述任务指纹包括对所接收的任务执行树形流提取并且提供所述树形流提取的符号近似表达。
10.根据权利要求1所述的方法,其中,生成所述任务指纹包括对所述任务中的多个子任务中的某些子任务进行子指纹掩蔽,并且识别所述任务的未掩蔽的子任务。
11.根据权利要求1所述的方法,其中,生成所述任务指纹包括利用系统管理级访问、板级访问、处理器内核级访问或虚拟机级访问中的至少一种来访问所接收的任务。
12.根据权利要求1所述的方法,其中,一个或多个分配的资源包括处理器、存储器、缓存空间或虚拟机中的至少一种。
13.根据权利要求1所述的方法,其中,所述任务指纹和最接近匹配参考指纹完全匹配。
14.根据权利要求1所述的方法,其中,所述任务包括应用或过程中的至少一种。
15.一种用于生成任务指纹和资源分配数据库的方法,该方法包括: 在数据中心接收多个任务; 在所述数据中心针对每个接收的任务生成任务指纹,以形成多个任务指纹; 在所述数据中心将资源集分配至每个接收的任务,以限定多个分配的资源集; 在所述数据中心利用各个分配的资源集执行每个接收的任务; 在所述数据中心利用所分配的资源集针对每个执行的任务收集任务行为,以生成多个任务行为; 在所述数据中心的数据库中将每个任务指纹、分配的资源集和任务行为关联起来,以生成所述任务指纹和资源分配数据库。
16.根据权利要求15所述的方法,该方法还包括: 将所述多个任务指纹的至少第一`任务指纹和第二任务指纹进行比较; 确定所述第一任务指纹和所述第二任务指纹是否充分匹配;以及 如果所述第一任务指纹和所述第二任务指纹充分匹配: 则将针对所述第一任务指纹和所述第二任务指纹的数据库条目关联起来作为公共任务指纹条目。
17.根据权利要求16所述的方法,其中,如果在执行匹配算法时针对第一指纹和第二指纹的结果在预定的阈值内,则所述第一任务指纹和所述第二任务指纹匹配。
18.根据权利要求15所述的方法,其中,每个任务行为包括执行度量,并且其中,所述执行度量包括以下各项中的至少一种:任务持续时间、中央处理单元(CPU)使用、存储器使用、网络使用、存储体使用、存储体访问频率、存储器使用的状态改变或网络流量随时间的改变。
19.一种存储有指令的机器可读非临时性介质,当执行所述指令时,使得数据中心通过以下步骤来分配资源: 接收任务; 至少部分地基于所接收的任务生成任务指纹; 将所述任务指纹与多个参考任务指纹进行比较,以从所述多个参考任务指纹中确定最接近匹配参考任务指纹; 确定与所述最接近匹配参考任务指纹相关的参考任务行为概要;以及 分配一个或多个资源,以至少部分地基于所述参考任务行为概要来执行所接收的任务。
20.根据权利要求19所述的机器可读非临时性介质,在所述介质中还存储有以下指令,当执行这些指令时,使得所述数据中心通过以下步骤来分配资源:利用所分配的资源执行所述任务; 至少部分地基于所述任务的执行来收集一个或多个执行度量;以及至少部分地基于所述一个或多个执行度量来更新与所述最接近匹配参考任务指纹相关的所述参考任务行为概要。
21.根据权利要求20所述的机器可读非临时性介质,在所述介质中还存储有以下指令,当执行这些指令时,使得所述数据中心通过以下步骤来分配资源: 接收第二任务; 至少部分地基于所接收的第二任务生成第二任务指纹; 将所述第二任务指纹与所述多个参考任务指纹进行比较; 确定所述最接近匹配参考任务指纹是所述第二任务指纹的最接近匹配;以及 分配第二资源,以至少部分地基于更新的参考任务行为概要来执行所接收的第二任务。
22.—种存储有指令的机器可读非临时性介质,当执行所述指令时,使得数据中心通过以下步骤生成任务指纹和资源分配数据库: 接收多个任务; 针对每个接收的任务生成任务指纹,以形成多个任务指纹; 将资源集分配至每个接收的任务,以限定多个分配的资源集; 利用各个分配的资源集执行每个接收的任务; 利用所分配的资源集针对每个执行的任务收集任务行为,以生成多个任务行为;以及将每个任务指纹、分配的资源集和任务行为关联起来,以生成所述任务指纹和资源分配数据库。
23.根据权利要求22所述的机器可读非临时性介质,在所述介质中还存储有以下指令,当执行这些指令时,使得所述数据中心通过以下步骤生成任务指纹和资源分配数据库: 将所述多个任务指纹的至少第一任务指纹和第二任务指纹进行比较; 确定所述第一任务指纹和所述第二任务指纹是否充分匹配;以及 如果所述第一任务指纹和所述第二任务指纹充分匹配: 则将针对所述第一任务指纹和所述第二任务指纹的数据库条目关联起来作为公共任务指纹条目。
24.一种数据中心,所述数据中心包括: 存储有指令的机器可读介质,当执行所述指令时,使得所述数据中心通过以下步骤来分配资源: 接收任务; 至少部分地基于所接收的任务生成任务指纹; 将所述任务指纹与多个参考任务指纹进行比较,以从所述多个参考任务指纹中确定最接近匹配参考任务指纹; 确定与所述最接近匹配参考任务指纹相关的参考任务行为概要;以及分配一个或多个资源, 以至少部分地基于所述参考任务行为概要来执行所接收的任务;以及处理器,所述处理器连接至所述机器可读介质,以执行所述指令。
25.根据权利要求24所述的数据中心,其中,所述机器可读介质中还存储有以下指令,当执行这些指令时,使得所述数据中心通过以下步骤来分配资源: 利用所分配的资源执行所述任务; 至少部分地基于所述任务的执行来收集一个或多个执行度量;以及至少部分地基于所述一个或多个执行度量来更新与所述最接近匹配参考任务指纹相关的所述参考任务行为概要。
26.根据权利要求25所述的数据中心,其中所述机器可读介质中还存储有以下指令,当执行这些指令时,使得所述数据中心通过以下步骤来分配资源: 接收第二任务; 至少部分地基于所接收的第二任务生成第二任务指纹; 将所述第二任务指纹与所述多个参考任务指纹进行比较; 确定所述最接近匹配参考任务指纹是所述第二任务指纹的最接近匹配;以及 分配第二资源 ,以至少部分地基于更新的参考任务行为概要来执行所接收的第二任务。
27.一种数据中心,所述数据中心包括: 存储有指令的机器可读介质,当执行所述指令时,使得数据中心通过以下步骤生成任务指纹和资源分配数据库: 接收多个任务; 针对每个接收的任务生成任务指纹,以形成多个任务指纹; 将资源集分配至每个接收的任务,以限定多个分配的资源集; 利用各个分配的资源集执行每个接收的任务; 利用所分配的资源集针对每个执行的任务收集任务行为,以生成多个任务行为;以及在数据库中将每个任务指纹、分配的资源集和任务行为关联起来,以生成所述任务指纹和资源分配数据库;以及 处理器,所述处理器连接至所述机器可读介质,以执行所述指令。
28.根据权利要求27所述的数据中心,其中所述机器可读介质中还存储有以下指令,当执行这些指令时,使得所述数据中心通过以下步骤生成任务指纹和资源分配数据库: 将所述多个任务指纹的至少第一任务指纹和第二任务指纹进行比较; 确定所述第一任务指纹和所述第二任务指纹是否充分匹配;以及 如果所述第一任务指纹和所述第二任务指纹充分匹配: 则将针对所述第一任务指纹和所述第二任务指纹的数据库条目关联起来作为公共任务指纹条目。
【文档编号】G06Q10/06GK103827899SQ201180073748
【公开日】2014年5月28日 申请日期:2011年11月18日 优先权日:2011年11月18日
【发明者】E·克鲁格里克 申请人:英派尔科技开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1