用于识别多级工作流处理中的资源瓶颈的方法和系统的制作方法

文档序号:8412320阅读:170来源:国知局
用于识别多级工作流处理中的资源瓶颈的方法和系统的制作方法
【技术领域】
[0001] 本发明总地涉及计算机、计算机应用以及信息处理,并且更具体地涉及识别多级 工作流处理的资源瓶颈。
【背景技术】
[0002] 现代分布式系统中的信息处理的规模和复杂度的增大已经引起了很多有挑战性 的问题。这种分布式处理系统的示例包括处理复杂业务过程工作流的系统、信息/数据流 处理系统、管理和配置(provisioning)系统。这种系统可预期应对大量处理请求,因此了 解这一量级的系统中的可扩展性问题变得困难。尽管已知的方法在估计端到端的延迟向在 端到端的流中涉及的不同节点的分解时使用端到端的测量结果,但是这种方法被限制为了 解应用层级的可扩展性,并且可能只能在高层级上(例如在节点层级上)识别瓶颈。

【发明内容】

[0003] 在一个方面,一种识别多级工作流处理中的资源瓶颈的方法可以包括:识别逻辑 级和计算系统中的物理资源的相关性,以确定哪个逻辑级涉及哪组资源。该方法还可以包 括:对于每个所识别的相关性,确定物理资源的使用量水平和逻辑级的并发水平之间的函 数关系。该方法还可以包括:基于对于每个逻辑级确定的函数关系,估计每个逻辑级对物理 资源的消耗。该方法还可以包括:基于所估计的消耗来执行预测建模,以确定所述每个逻辑 级将变为瓶颈所在的并发水平。
[0004] 在一个方面,一种识别多级工作流处理中的资源瓶颈的系统可以包括模块,该模 块可操作以在计算机处理器上执行,并且还可操作以识别逻辑级和计算系统中的物理资源 的相关性,以确定哪个逻辑级涉及哪组资源。对于每个所识别的相关性,该模块还可以操作 以确定物理资源的使用量水平和逻辑级的并发水平之间的函数关系。该模块还可操作以 基于对于每个逻辑级确定的函数关系,估计每个逻辑级对物理资源的消耗。该模块还可操 作以基于所估计的消耗来执行预测建模,以确定所述每个逻辑级将变为瓶颈所在的并发水 平。
[0005] 还可以提供一种计算机可读存储介质,其存储可由机器运行以执行在这里描述的 一种或多种方法的指令的程序。
[0006] 下面参照附图来详细描述其他特征以及各种实施例的结构和操作。在附图中,相 同的参考标号表示相同或功能上相似的元件。
【附图说明】
[0007] 图1是图示一个实施例中的本公开的方法的概述的流程图。
[0008] 图2是图示本公开的一个实施例中的工作流级和系统资源的框图。
[0009] 图3图示可以实现本公开的一个实施例中的瓶颈识别系统的示例计算机或处理 系统的不意图。
[0010] 图4示出本公开的一个实施例中的用于对网络仿真进行排队的示例算法。
【具体实施方式】
[0011] 在一个方面中,本公开可以提供识别多级工作流的资源瓶颈的改进的方法。在一 个方面中,本公开可以提供在逻辑级层级而不是作业层级上将工作流映射到资源,从而提 供更细的粒度和瓶颈确定。对于逻辑级和物理资源之间的映射,本公开可以提供在逻辑级 层级上识别工作流和物理资源之间的相关性,然后在资源使用率和不同逻辑级的并发水平 之间映射,计算导致调度的每一级的使用率,然后对使用量和逻辑级与物理资源之间的交 互进行建模。
[0012] 在一个方面中,本公开研宄了一种系统,该系统被设计为以可扩展的方式同时处 理很多作业请求,以便充分利用其所有资源并且实现高吞吐量水平。通常,作业请求在其被 认为完成之前可能需要经过多个逻辑处理级。逻辑级可对应于例如所述作业执行的应用的 源代码中的函数调用。每个逻辑处理级可以由系统中的一个或多个节点处理。这些节点可 以是物理计算机或在共享的物理硬件上运行的虚拟机。作业的每个逻辑级消耗一个或多个 节点上的一个或多个不同的物理资源(中央处理单元(CPU)、存储器、输入/输出(1/0)、盘 和/或其他物理资源)。一些逻辑级可被并行处理,而一些逻辑级必须被依序处理。系统被 设计为以可扩展的方式同时应付很多请求,以便充分利用其所有资源并且实现高吞吐量水 平。
[0013] 这种分布式处理系统的示例包括处理复杂业务过程工作流的系统、信息/数据流 处理系统、管理和配置系统。具体示例可以是用于云或类似的计算基础架构的虚拟机配置 系统。在这样的系统中,用于每个请求的处理级的数量通常在数百的量级上。该系统预期 同时应对数千个请求。系统中存在的作业请求可以在每个逻辑级处根据并发水平(即,可 以在这些级处并行运行的作业的最大数量)的某个等级被并行地处理。具体地,当这一并 发水平等于1时,则在这些逻辑级处,必须依序处理所有作业。可以在软件中显式地施加该 并发限制,或者可以由于对共享资源的锁定而进行该并发限制,或者该并发限制可以是有 限的硬件资源的结果。
[0014] 在一个方面中,本公开在系统可扩展性由于硬件资源而受到限制时识别瓶颈资 源。在一个方面中,取代在应用吞吐量的背景中研宄系统可扩展性,本公开可以在作业中的 不同逻辑级的可扩展性上开展深入研宄。
[0015] 识别逻辑级的瓶颈物理资源中的步骤包括:发现该逻辑级和在执行该特定级时涉 及的物理资源之间的映射。由于目前大多数软件设计涉及使用可自由获得的、可插入的二 进制组件,因此缺乏对于在作业请求的端到端流中涉及的所有逻辑级的清楚了解。在一个 方面中,本公开识别作为瓶颈的节点中的物理资源(例如中央处理单元(CPU)/存储器/ 盘)层级上的瓶颈。这种瓶颈识别在识别由于对系统的物理资源的相应压力而限制可扩展 性的软件模式时可以是有用的。
[0016] 具体地,在一个公开中,本公开可以解决将多级工作流中的逻辑级映射到系统的 物理资源的问题。
[0017] 在一个方面中,在本公开中提供了一种方法,其包括:识别在工作流的不同逻辑级 中涉及的物理资源。典型地,工作流经过不同的逻辑(进程层级)级,每个逻辑级消耗一个 或多个节点上的一个或多个资源(CPU、存储器、I/O)。这里,节点可以是物理服务器或虚拟 机。在每一级中涉及的节点及其资源不是明确知道的。使用利用诸如nmon的工具收集的 不同节点的资源使用数据,本公开的实施例中的方法可以识别在工作流级中消耗的资源和 (潜在的)瓶颈资源。
[0018] 在一个方面中,本公开的方法可以不需要网络拓扑或在作业请求的不同级处涉及 的节点/资源的任何先验知识。此外,本公开的方法可以以细得多的粒度,例如在与应用层 级相对的逻辑级层级上识别资源瓶颈。
[0019] 图1是图示一个实施例中的本公开的方法的概况的流程图。在102,识别从逻辑级 到物理资源的映射。对于每个逻辑级,获得该级中的请求数量(并发水平)1〇4的时间序列 (随着时间的级中的请
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1