CN102947798B - 计算机系统及其控制方法 - Google Patents

计算机系统及其控制方法 Download PDF

Info

Publication number
CN102947798B
CN102947798B CN201180023797.1A CN201180023797A CN102947798B CN 102947798 B CN102947798 B CN 102947798B CN 201180023797 A CN201180023797 A CN 201180023797A CN 102947798 B CN102947798 B CN 102947798B
Authority
CN
China
Prior art keywords
task
resource
phase place
streamed
mentioned
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.)
Active
Application number
CN201180023797.1A
Other languages
English (en)
Other versions
CN102947798A (zh
Inventor
前田久美
村濑正名
吉泽武朗
土居意弘
小松秀昭
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN102947798A publication Critical patent/CN102947798A/zh
Application granted granted Critical
Publication of CN102947798B publication Critical patent/CN102947798B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

在由计算机进行的动态资源分配系统中,降低依据状况变更系统配置时的、伴随构成变更的系统停止时间。作为事先处理,横跨某个时间收集系统运行期间的流量数据。并且,从收集的流量数据,提取典型的若干图形。其次,对那些典型的图形的每个,分别制作流程序,随后可以参照地预先保存。其次,保持用于在不同的流程序间迁移的代理任务的ID。在实际的系统的运行中,本发明的系统定期地或在任意的时刻测量流量数据,将作为其结果得到的图形与上述的典型的图形相比较,选择与最近的典型的图形相对应的流程序作为下一相位。从当前的相位的流程序,向下一相位转移时,根据本发明,考虑任务的转换成本、资源间的数据传送成本等,通过作为代理任务逐渐向相位的流程序转移现在的相位的空闲任务,程序的停止时间被抑制。

Description

计算机系统及其控制方法
技术领域
本发明涉及在计算机系统中,按照网络流量(traffic)等的状态,用于动态地进行资源分配的技术,更详细地,涉及转换资源分配的构成的技术。
背景技术
以前,按照运行的应用程序的运行状况、网络流量的状态等,进行动态地变更资源的分配以优化计算机的处理。为此,提出以下技术。
特开2005-174201号公报及特开2007-48315号公报公开了以下内容:包括服务器、网络、存储器的资源表;表示在这些资源上运行的应用的构成要素的应用表;保持向资源的应用的分配表,从这些构成信息生成性能信息的测量项目的性能测量项目模板;根据性能测量引擎测量这个性能信息的测量项目的性能测量引擎;生成依据上述构成信息用于资源的分配变更的资源分配变更规则的部件;和根据上述生成的资源分配变更规则和构成信息,进行资源的分配变更。资源分配变更规则包括对测量的性能指标的听的阈值。
为了提供能在不受服务器的性能和/或线路质量影响并且无额外空间下使系统稳定地操作的应用执行系统,特开2008-191737号公报公开了以下内容:将客户终端和应用执行装置连接至第1网络,同时,将应用执行装置和代理服务器连接至第2网络的应用执行系统中,应用执行装置包括:执行应用的执行部;与执行部独立工作,并按照执行部的状态,将接收的执行请求传送给执行部或代理服务器的转换部。此时,代理服务器,基于执行请求,执行代理应用。
这些的以前技术公开了在服务器上测量性能,按照其结果使处理能力提高地来变更系统配置的技术,但是,在以前技术中有在变更系统配置时偶尔系统停止这样的问题。
近来,许多企业引入的基于云计算的服务中,采用SLA(服务质量保证约定)这个概念,若系统停止的时间长,则服务提供商承担损失。
然而,上述的以前技术,关于在系统配置的转换时缩短系统停止时间方面,未提及特别的解决办法。
现有技术文献
专利文献
专利文献1:特开2005-174201号公报
专利文献2:特开2007-48315号公报
专利文献3:特开2008-191737号公报
发明内容
从而,本发明的目的在于,在由计算机进行的动态资源分配系统中,降低依据状况变更系统配置时的、伴随构成变更的系统停止时间。
本发明的系统,首先,作为事先处理,横跨某个时间收集系统运行期间的流量数据。并且,从收集的流量数据,提取典型的的若干图形。
本发明的系统,其次,对那些典型的图形的每个,不限于此,但是,例如,使用本申请人涉及的专利申请2009-271308号说明书记载的技术,分别制作流程序,随后可以参照地预先保存。
本发明的系统,其次,保持用于在不同的流程序间迁移的代理任务的ID。
这样,在实际的系统的运行中,本发明的系统定期地或在任意的时刻测量流量数据,将作为其结果得到的图形与上述的典型的图形相比较,选择与最近的典型的图形相对应的流程序作为下一相位。
此时,从当前的步骤的流程序,向下一相位转移时,根据本发明,通过计算机的处理,考虑任务的转换成本、资源间的数据传送成本等,通过作为代理任务逐渐向相位的流程序转移现在的相位的空闲任务,程序的停 止时间被抑制。
此时,代理任务的选择预先测量和保存相关的任务的管线间距、相关的任务间的转换成本、和包括在相关的相位间的资源间的数据发送接收的时间的成本,考虑对当前的相位的下一相位、使用资源的转移、执行任务的转移,以成本减少的方式进行。
根据本发明,能得到这样的效果:在由计算机进行的动态资源分配系统中,依据状况从原来的构成向随后的构成转移时,通过从原来的构成选择代理任务使之执行途中的处理,减少处理的空闲时间,降低程序的停止时间。
附图说明
图1是表示用于实施本发明的硬件构成的概要的图。
图2是用于实施本发明的功能块图。
图3是表示构成表的例子的图。
图4是表示流程序的例子的图。
图5是事先处理的流程图。
图6是表示通信量信息的时间推移的图。
图7是表示提取的步骤的例子的图。
图8是表示流程序的例子的图。
图9是表示流程序的例子的图。
图10是表示流程序的例子的图。
图11是表示向UDOP分配计算资源的处理的流程图的图。
图12是表示流图表、可以利用的资源的例子的图。
图13是表示向UDOP分配计算资源之后所请求的资源的例子的图。
图14是表示分配变更处理的例子的图。
图15是表示用于确定任务的代理资源的处理的流程图的图。
图16是表示每个资源的当前任务、和代理任务的表的图。
图17是表示用于相位转换判断的处理的流程图的图。
图18是表示由代理任务进行的执行处理的流程图的图。
图19是表示计算资源的拓扑的例子的图。
图20是表示相位的转换、由代理任务进行的执行例的图。
图21是表示代理方法的执行任务的迁移循环的例子的图。
具体实施方式
以下,根据附图,说明本发明的实施例。除非另外说明,否则附图中相同的引用标号指代相同的对象。再者,可理解,以下说明是本发明的一个实施方式,并没有意图将本发明限定在这个实施例说明的内容中。
图1是表示用于实施本发明的硬件构成的方块图。特别地这个例子使用PRISM等的多核多处理器路由器设备100,但是本发明不限于此。
在图1,总线102连接至多核处理器104、多核处理器106、RAM 108、以太网堆栈及以太网端口110、和闪速ROM 112。
作为多核处理器104及106不限于此,但是,网络处理器例如能使用Intel(R)IXP425Network Processor。网络处理器嵌有以太网(R)MAC、密码处理等的功能。
因为多核处理器104和多核处理器106具有实质相同的构成,若代表性地说明多核处理器104,则多核处理器104包括多个核104a、104b、104c及104d,核104a、104b、104c及104d经由L2高速缓存104e与总线102结合。
核104a、104b、104c及104d的各个能运行多个线程。例如,在核104a中,表示块S1及S2,但是,这些分别是单独的线程S1和S2。因为在核104b、104c及104d中也同样,个别的说明省略。
这个实施例中,如图所示,在多核处理器106的核106d上,执行本发明涉及的主要功能的管理线程Sn运行。
RAM 108用于多核处理器104及多核处理器106暂时保持和读出处理结果的值。
随未图示,以太网堆栈及以太网端口110连接至其他的计算机系统、 网络连接存储器(NAS)、存储区域网络(SAN)、和另外的路由器等。多核多处理器路由器设备100承担在那些的设备之间通信数据的作用。
在闪速ROM 112中包括:使多核处理器104及多核处理器106作为路由器驱动的Juniper Networks的Junos(R)或Cisco Systems Inc的IOS等的网络操作系统、和后述的本发明涉及的处理模块。
其次,参照图2的功能块图,说明闪速ROM 112、RAM 108等包括的、本发明涉及的处理模块。
在图2,统计信息收集模块202具有按每时间间隔收集到达以太网堆栈及以太网端口110的流量的功能。作为用于收集流量的以前的典型的方法有使用SNMP协议的方法。或者,也可使用称为tcpdump的分组分析命令。此外,还可以使用从Fluke Networks公司可以得到的″NetFlowTracker″等的商业工具。在这里收集的信息是邮件、FTP、动画、Web等的流量的比例。
统计信息收集模块202典型地收集至少平日的一天、假日的一天的流量信息,在未图示的计算机系统的硬盘驱动器等中保存。
模式图形提取模块204分析在硬盘驱动器等中保存的流量信息,提取典型的多个图形,作为模式图形群206典型地保存在RAM 108。模式图形群206能通过使用每一定时间间隔的流量图形的收集、或K平均法等的聚类(clustering)来确定。
构成表208具有与模式图形群206的各流量图形的每个对应的项目,例如,等同于本申请人涉及的申请2009-271308号说明书中记述的图6所示的表格,因此作为图3,再次展示。
在图3,UDOP是在流程序设计中用户定义的运算子,例如,可以是以太网(商标)协议堆栈、IP协议堆栈、TCP协议堆栈、UDP协议堆栈、SSL协议堆栈、病毒扫描、和XML加速器等,但这个实施例不限于此。
图3中,内核(kernel)是对各个的UDOP准备的1个或多个模块,在多个的场合,分组的一元排列的大小各不相同。
执行图形例如依据下列的规则来表述。
循环(Rolling loop):A+A+A....A=>loop(n,A)
这里,A+A+A....A是A的串联处理,loop(n,A)表示使A进行n次的循环。
去除循环(Unrolling loop):loop(n,A)=>A+A+A....A
循环的串联(Series Rolling):split_join(A,A...A)=>loop(n,A)
这里,将并行运行的A,A...A表示成loop(n,A)。
循环的并行(Pararell unrolling loop):loop(n,A)=>split_join(A,A,A........A)
这里,将loop(n,A)表示成并行的A,A...A。
循环的分割(Loop splitting):loop(n,A)=>loop(x,A)+loop(n-x,A)
并行循环分割(Pararell Loop splitting):loop(n,A)=>spliT_join(loop(x,A),loop(n-x,A))
循环融合(Loop fusion):loop(n,A)+loop(n,B)=>loop(n,A+B)
循环融合的串联(Series Loop fusion):split_join(loop(n,A),loop(n,B))=>loop(n,A+B)
循环分配(Loop distribution):loop(n,A+B)=>loop(n,A)+loop(n,B)
并行循环分配(Pararell Loop distribution):loop(n,A+B)=>split_join(loop(n,A),loop(n,B))
节点结合(Node merging):A+B=>{A,B}
节点分割(Node splitting):{A,B}=>A+B
循环置换(Loop replacement):loop(n,A)=>X/*X是较低成本*/
节点置换(Node replacement):A=>X/*X是较低成本*/
图3中,间距是管线间距,即,管线处理的1个步骤的处理时间。还有,所谓资源是使用的CPU的数目。在图3的资源栏,在这个实施的场合,记载图1的系统的线程的数目。
构成表208的项,基于包括与以太网堆栈及以太网端口110连接的硬件及软件的系统环境209,通过未图示的预定的处理模块来制作。这可通过以下方式来达成:对每个UDOP取得实现UDOP的内核定义,取得执 行对象的硬件配置,组合使用架构而准备使用资源的组,关于这些,选择可以执行的内核,生成执行图形,关于使用资源的组全部执行测量管线间距这样的处理。其更详细的处理请参照与本申请人涉及的申请2009-271308号说明书的图3相对应的说明书的记述。
编译器210对模式图形群206的各模式图形的每个,参照构成表208的项,对各模式图形的每个,制作流形式编码。
还有,作为用于记述流形式编码的流程序设计语言,已知有国际商业机器公司的SPADE、麻省理工学院的Streamlt等。根据Streamlt,如图4所示的流图表,用以下的编码来记述。
关于Streamlt的更详细的说明,请参照:
http://groups.csail.mit.edu/cag/streamit/或http://groups.csail.mit.edu/cag/streamit/papers/streamit-cookbook.pdf。
还有,关于SPADE,请参照:
http://domino.research.ibm.com/comm/research_projects.nsf/pages/esps.spade.html。
编译器210基于各模式图形制作流形式编码。关于更详细的处理,稍 后更详细地说明。流形式编码以图表形式记述执行处理的任务和执行其任务的硬件资源。
若这样,流形式编码对各模式图形的每个而生成,则未图示的特定的处理程序生成与各模式图形相对应的流形式编码之间的迁移表214。再者,迁移表214的生成也可由编译器210进行。再者,以下,将流形式编码的集称为流形式编码群212。
以上叙述了的为事先准备的模式图形群206、流形式编码群212、迁移表214的模块,但是,其次,说明实际的路由器设备100的工作之间的模块群。
模式图形测量模块216,在路由器设备100的工作期间,适当地,采用对每类型将比统计信息收集模块202轻量的、流形式编码的前端的任务处理数据计数这样的处理,来测量模式图形。测量例如在路由器设备100处理的流量的性质适当的周期进行。
模式图形比较模块218具有将模式图形测量模块216测量的模式图形和模式图形群206的各模式图形相比较的功能。其比较的结果,由流形式编码选择模块220从流形式编码群212选出与最接近的模式图形相对应的流形式编码。
转换模块222具有从在目前执行环境224执行的流形式编码转换成基于模式图形比较模块218的比较结果而选择的流形式编码,并在执行环境224执行的功能。
此时,根据本发明的特征,转换模块222通过设定从当前的流形式编码转换成下面的流形式编码时的适当的代理任务,使程序停止时间减少。这个处理的详情稍后使用流程图等说明。
其次,参照图5的流程图,关于统计信息的收集及事先处理的流动来说明。这个处理,例如,在依据本发明的功能使路由器设备100工作之前,通过用户的操作开始。
在步骤502,统计信息收集模块202按每时间间隔收集到达以太网堆栈及以太网端口110的流量。统计信息收集模块202使用SNMP协议、称 为tcpdump的分组分析命令,或从NetFlow Tracker公司可以得到的″NetFlowTracker″的商业工具等。在这里收集的信息是邮件、FTP、动画、Web等的流量的比例。统计信息收集模块202典型地收集至少平日的一天、假日的一天的流量信息,在未图示的计算机系统的硬盘驱动器等中保存。在图6示意性表示流量信息随时间一起变化的情况。在这里,例示地表示邮件、FTP、动画及Web,但是,可理解,这仅是一个例子,实际上可能有更多种的类型的内容的流量。
在步骤504,模式图形提取模块204从统计信息收集模块202收集的流量信息提取如图7所示的多个典型的模式图形702、704···706。
模式图形702、704···706也可以是每一定时间间隔提取的流量信息的图形,或者,也可以聚集每一定时间间隔提取的流量信息的多个图形,从通过例如K平均法聚类而得到的簇取出代表性的图形。模式图形(相位)702、704···706,作为模式图形群206,适当地保存在RAM 108。向这样生成的模式图形702、704···706分别赋予特有的相位ID。
在步骤506,编译器210参照构成表208的项目,对模式图形群206的各模式图形(相位)的每个,生成流形式编码。若换句话说,对每个相位,导出基于流处理的资源映射。
图8是作为基本的流程序的例子,如图示,以太网协议堆栈与IP协议堆栈连接,从后者那里,分成TCP协议堆栈和UDP协议堆栈,TCP协议堆栈和UDP协议堆栈与病毒扫描连接,并且也与SSL协议堆栈连接,SSL协议堆栈与病毒扫描连接,病毒扫描与XML加速器连接。
在图8,没考虑流程序的各处理要素的负载,但是,如图9的模式902,对应特定的流量信息的模式,流程序的各处理要素涉及的负载变化。即,在图9,包围各处理要素的块的大小表示负载。
图10表示对另外的流量信息的模式1002,各处理要素的负载涉及的分散不同的情况。即,在流量信息的模式变化时,流程序的特定的各处理要素上消耗过多负载,那里变成瓶颈,全部的处理速度下降。
在那里,在流程序中,通过资源映射,谋求处理的优化。作为用于实 现的方法,如下。
-数据并行化、管线的确定
此时,由于任务也并行利用,能得到存储器访问的局域性的提高、通信竞争的抑制、通信延迟的隐藏等的效果。
-通过处理中负载重的协议堆栈分成多个步骤,将负载轻的协议堆栈整合成一个步骤,取得每个资源的负载及管线间距的平衡。
因为用于此的详细的处理稍稍复杂,稍后另外说明。生成的流形式编码群212适当地保存在RAM 108。
在步骤508,制作以这样方式被制作的流形式编码群212的流形式编码间的迁移表214。迁移表214包含对于每个概况的相位在每处理器的流形式编码的当前任务、和从1个流形式编码向另外的流形式编码转换时的代理任务。关于迁移表214的内容,稍后详细地说明。
其次,以下参照图11,关于生成流形式编码的处理来说明。
在图11,事先准备系统环境209,即资源限制(硬件配置)、和构成表208。在图12表示由功能块A、B、C、D组成的流图表和资源限制的例子。在这里,系统环境209是连接至图1的以太网堆栈及以太网端口110的系统配置。
编译器210,在步骤1102,进行过滤。即,从给定的硬件配置和构成表208仅提取可以执行的图形,制作优化表(A)。
编译器210,在步骤1104,参照优化表(A),制作向流图表中的各UDOP分配管线间距最短的执行图形的执行图形群(B)。在图13表示向流图表的各块分配这样图形的情况的例子。
其次,在步骤1106,编译器210判断执行图形群(B)是否满足给定的资源限制。
在步骤1106,若编译器210判断执行图形群(B)满足给定的资源限制,则这个处理完成。
在步骤1106,若编译器210判断执行图形群(B)没满足给定的资源限制,则进入步骤1108,制作按管线间距顺序排序执行图形群(B)中的执行图 形群的列表(C)。
其次,进入步骤1110,编译器210从列表(C)选择管线间距最短的执行图形的UDOP(D)。
其次,进入步骤1112,编译器210关于UDOP(D)判断消耗资源较少的执行图形(下一候选项)(E)是否存在于优化表(A)中。
如果为肯定,则进入步骤1114,编译器210关于UDOP(D)判断执行图形(下一候选项)(E)的管线间距是否小于列表(C)内的最长值。
如果是肯定,则进入步骤1116,编译器210分配执行图形(下一候选项)(E)作为UDOP(D)的新的执行图形,更新执行图形群(B)。
从步骤1116,返回到步骤1106的判断。
如果在步骤1112的判断是否定,则进入步骤1118,在那里,编译器210从(C)移除该UDOP。
其次,进入阶段1120,在那里,编译器210判断要素是否存在于列表(C)中。如果是肯定,则返回到步骤1108。
如果在步骤1120判断要素不存在于列表(C)中,则进入步骤1122,在那里,编译器210制作按执行图形群(B)的最长管线间距和下一候选项的管线间距的差的顺序排序执行图形群(B)中的执行图形群的列表(F)。
其次,在步骤1124,编译器210,判断关于列表(F)中管线间距的差最短的执行图形(G),其请求的资源是否小于现在关注的资源。
如果是肯定,则进入步骤1126,在那里,编译器210分配执行图形(G)作为新的执行图形,更新执行图形群(B),进入步骤806。如果不是肯定,则在步骤1128,从(F)移除该UDOP,返回到步骤1122。
图14是表示由这样的执行图形群的置换而优化的例子的图。在图14,为解除资源限制,D4被D5置换。
若这样进行资源的分配,其各个流形式编码优选地作为流形式编码群212在RAM 108中。再者,向各个流形式编码的各任务赋予特有的任务ID。
其次,参照图15的流程图,说明选择在相位转换时的代理任务的处理。这个处理,通过在处理器104或处理器106运行的预定的线程来执行。
在进行图15的流程图的说明之前,说明以下使用的记号或算式的定义。
定义
task(b,r):资源r在相位b的任务
Pre(t):任务t的前端任务的集合
Post(t):任务t的后续任务的集合
※1:在相位b的任务t的开始时间
start(b,t)=max{start(b,p):p∈Pre(t)}+pitch
pitch:管线间距(各任务的执行时间)
※2:cost(t,r)=D+C+T
D=max{0,start(a,task(a,r))-start(b,task(t)}
D是包含到代理任务执行开始为止的空闲时间的成本。
C=max{delay(i,r),delay(r,j):i∈Deputize(a,b,s),s∈Pre(t),j∈Resource(b,u),u∈Post(t)}
Resource(b,t):在相位b承承担务t的资源的集合
Deputize(a,b,t):从相位a向相位b转换时代理任务t的资源的集合
delay(a,b):从资源a开始数据的发送,到资源b完成数据的接收的时间
T=change(task(a,r),t)+change(t,task(b,r))
change(tl,t2):如果任务t1与t2相同则为0,如果不同则为TC(每任务切换1次的成本,任意的常数)
返回到图15的流程图,在步骤1502,输入资源的集合R和相位a、b。此时,在资源的集合R,包括资源ID和各资源间的通信延迟。还有,相位a、b包括任务ID、承担各任务的资源ID、各任务的前端及后续任务的集合、各任务的执行时间。这个与图5的步骤508相对应。
在步骤1504,制作按任务开始时间的升序排序相位b的任务(若更严密说,与相位b相对应的流图表的任务)的列表Tb。在这里,任务开始时间,由上述※1定义。
在步骤1506,将Tb的前端的任务设置为t。
其次,步骤1508、步骤1510、步骤1512、步骤1514、直到步骤1516,为在相位b承担t的各资源rb的处理。
在步骤1510,将R中包含的且与rb相同的类型的资源r中cost(t,r)最小的r设为rb’。在这里,资源的类型是通用处理器、作为图形处理单元的加速器等。还有,cost(t,r)由上述的※2定义。
在步骤1512,rb’的代理任务设为t。其次,在步骤1514,从R删除rb’。
因此,返回到步骤1508,只要在相位b承担t的资源rb存在,则重复步骤1510、步骤1512、步骤1514、步骤1516。
在步骤1518,从Tb删除前端的要素t,在步骤2320,判断Tb是否清空。如果不是肯定,则处理返回到步骤1506。在步骤1506的前端,是在步骤1518从Tb删除前端的要素t之后的下一要素。
若在步骤2320,判断Tb清空,则能得到各任务的代理资源的集合。即,在步骤1512,确定资源rb’的代理任务t,可得到那样的(rb’,t)的集合。
图15的流程图的处理,关于互相不同的相位a、b的所有组合来进行。其结果,如图16所示,关于与路由器设备100连接的可以利用的全部的资源的各个,制作相位ID和当前任务的ID的对应表、以及、相位ID和代理任务的ID的对应表。相位ID和代理任务的ID的对应表作为2维表来表示,以表示双向的转移。这些对应表,在图2中作为迁移表214来表示。
即,相位ID和当前任务的ID的对应表在图5的步骤506中制作,相位ID和代理任务的ID的对应表在图5的步骤508中制作。
在各资源上执行的程序可通过准备切换基于任务ID调用的函数这样的包装(wrapper)来转换。
上述是通常任务用的表,但是,也可以准备监视任务用的表。这样,保持用于相位转换时的判断的阈值,在每时间带的转换的场合,成为时间和相位ID的组合,在关于K平均法的场合,成为重心和相位ID的组合。
图17是表示准备流形式编码群212和迁移表之后的,模式图形测量模块216和模式图形比较模块218的工作的流程图。
在图17,步骤1702,模式图形测量模块216进行负载测量,即,收集到达以太网堆栈及以太网端口110的流量。模式图形比较模块218,在步骤1702,计算其测量的流量的模式(相位)和当前选择的相位的距离,进行相位转换判断。即,如果其距离是在预定的阈值以内,则进行不转换这样的判断,返回到步骤1702。还有,如果其距离是在预定的阈值以上,则进行转换这样的判断,进入步骤1706。
还有,如图7所示,相位能考虑以邮件、FTP、动画、Web等的流量的比例作为成分的特征向量,于是,在那些特征向量之间,能定义欧几里得(Euclid)距离、曼哈顿(Manhattan)距离、内积等的值。并且,优选地查看这样的内积和距离是否在阈值内。
在步骤1706,模式图形比较模块218,对流形式编码选择模块220,发送图表前端的资源相位转换指示。那样处理,返回到步骤1702。
图18是表示流形式编码选择模块220、转换模块222及执行环境224的工作的流程图的图。
在步骤1802,执行环境224执行在当前选择的流形式编码中的当前任务。在步骤1804,判断转换模块222判断是否从全部的先前资源接收了相位转换指示。如果不是肯定,则返回到步骤1802,执行环境224继续执行当前任务。
在步骤1804,若转换模块222从全部的前端资源接收相位转换指示,则进入步骤1806,在那里,通过监视任务已经选择的流形式编码作为后续流形式编码。
因为在那里,相位转换指示包括后续流形式编码的ID,所以在步骤1806,转换模块222,将相位转换指示追加到全部的后续资源的数据队列的末尾。
其次,进入步骤1808,判断转换模块222是否超过了后续流形式编码的当前任务开始时刻。如果不是肯定,则在步骤1810,执行环境224执行 相位转换指示的相位ID的代理任务,并返回到步骤1808。代理任务,如图16所示,能从使用中的资源的之前的相位ID和当前的相位ID来确定。
若在步骤1808,转换模块222判断超过了后续流形式编码的当前任务开始时刻,则进入步骤1812。
在步骤1812,转换模块222,在步骤1812,判断代理任务的数据是否留在队列中。如果不是肯定,则处理返回到步骤1802的当前任务执行。
如果在步骤1812,转换模块222,在步骤1812,判断代理任务的数据留在队列中,则处理进入步骤1814,转换模块222使执行环境224执行代理任务,将其输出发送至本来执行后续的任务的资源。
以下,关于使用代理任务的相位转换工作,通过示意性例子,更具体地说明。首先,图19是连接至路由器设备100的以太网堆栈及以太网端口110的计算资源的拓扑。这是物理的拓扑,而不是软件的,不能动态地重构。
图20示出,对由这样的资源1-资源6组成的物理的拓扑的计算资源,在从如(1)所示作为相位α以流形式进行资源的分配的状态转移至如(3)所示作为相位β以流形式进行资源的分配的状态转移时,经过使用如(2)所示的代理任务的经过状态,伴随相位转换降低系统停止时间。
即,为了从在图20(1)中相位α的状态(资源1执行任务a,资源2执行任务c,资源3执行任务d,资源4执行任务e,资源5执行任务f,资源6执行任务b)转移至在图20(3)的相位β的状态(资源1执行任务A,资源2执行任务B,资源3执行任务C,资源4执行任务E,资源5执行任务D,资源6执行任务F),在图20(2),如步骤1810,资源3执行任务D并向资源5发送,其次,如步骤1814,资源3执行任务D并向资源6发送,转移至图20(3),其次,如步骤1802,资源3执行任务C并向资源5发送。同样,资源6也是,在图20(2),代理执行任务C,向资源4和资源3发送。
图21是表示执行任务的迁移循环的图。在图中,特别地,资源6的任务C的执行和资源3的任务D的执行是作为代理任务的执行。
即,因为各相位被管线化,从前端的任务按顺序结束。在那里,根据 本发明的基本的方案,先结束相位α的资源代理相位β的前方的资源,若全部的资源结束相位α的任务,则开始本来的任务。
以上,依据特定的实施例说明了本发明,但是,所表示的硬件、软件、网络构成仅是例示,应理解,本发明能通过与这些功能等同的任意的构成实现。
符号的说明
100路由器设备
102总线
104多核处理器
106多核处理器
108RAM
110以太网端口
112闪光ROM
202统计信息收集模块
204模式图形提取模块
206模式图形群
208构成表
209系统环境
210编译器
212流形式编码群
214迁移表
216模式图形测量模块
218模式图形比较模块
220流形式编码选择模块
222转换模块
224执行环境
702模式图形
704模式图形
706模式图形

Claims (6)

1.一种计算机系统的控制方法,用于通过计算机的处理,按照网络流量信息的内容,以适合处理的方式动态地变更构成,包括以下步骤:
预先保存以分别适合与网络流量信息不同的多个内容相对应的相位的方式以流形式指定任务和执行该任务的资源分配的信息;
测量网络流量信息;
选择与测量的上述网络流量信息最接近的流形式的资源分配信息作为下一相位;
从已经选择的当前的相位的流形式的资源分配转换成上述下一相位的流形式的资源分配,其执行方式为,在当前的相位的流形式的资源分配中先结束处理的上述资源过渡性地代理在上述下一相位的流形式的资源分配的任务。
2.如权利要求1所述的方法,还包括以下步骤:对每个可以利用的上述资源,计算相位间转移的代理任务并作为表来存储,上述转换的步骤从当前的相位和下一相位检索并代理执行与该资源对应存储的上述代理任务。
3.如权利要求2所述的方法,其中选择上述相位间转移的代理任务,以减少相关的任务间的转换成本、包含直到代理任务执行开始为止的空闲时间的成本、和包含在相关的相位间的资源间的数据发送接收的时间的成本。
4.一种计算机系统,用于通过计算机的处理,按照网络流量信息的内容,以适合处理的方式动态地变更构成,包括以下部件:
存储部件;
在上述存储部件中保存以分别适合与网络流量信息不同的多个内容相对应的相位的方式以流形式指定任务和执行该任务的资源分配的信息的部件;
测量网络流量信息的部件;
选择与测量的上述网络流量信息最接近的流形式的资源分配信息作为下一相位的部件;
从已经选择的当前的相位的流形式的资源分配转换成上述下一相位的流形式的资源分配的部件,其执行方式为,在当前的相位的流形式的资源分配中先结束处理的上述资源过渡性地代理在上述下一相位的流形式的资源分配的任务。
5.如权利要求4所述的系统,还包括以下部件:对每个可以利用的上述资源,计算相位间转移的代理任务并作为表来存储,上述转换的部件从当前的相位和下一相位检索并代理执行与该资源对应存储的上述代理任务。
6.如权利要求5所述的系统,其中选择上述相位间转移的代理任务,以减少相关的任务间的转换成本、包含直到代理任务执行开始为止的空闲时间的成本、和包含在相关的相位间的资源间的数据发送接收的时间的成本。
CN201180023797.1A 2010-05-14 2011-04-21 计算机系统及其控制方法 Active CN102947798B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP112117/2010 2010-05-14
JP2010112117 2010-05-14
PCT/JP2011/059833 WO2011142227A1 (ja) 2010-05-14 2011-04-21 コンピュータ・システム、方法及びプログラム

Publications (2)

Publication Number Publication Date
CN102947798A CN102947798A (zh) 2013-02-27
CN102947798B true CN102947798B (zh) 2016-08-17

Family

ID=44914283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180023797.1A Active CN102947798B (zh) 2010-05-14 2011-04-21 计算机系统及其控制方法

Country Status (7)

Country Link
US (1) US9794138B2 (zh)
JP (1) JP5520369B2 (zh)
CN (1) CN102947798B (zh)
DE (1) DE112011100714B4 (zh)
GB (1) GB2495417B (zh)
TW (1) TW201214286A (zh)
WO (1) WO2011142227A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402452B (zh) * 2011-12-12 2014-04-09 深圳市共进电子股份有限公司 一种编译方法及装置
US9608933B2 (en) * 2013-01-24 2017-03-28 Hitachi, Ltd. Method and system for managing cloud computing environment
CN103346980B (zh) * 2013-07-02 2016-08-10 华为技术有限公司 一种业务调度方法、装置及网络设备
CN104679763A (zh) * 2013-11-28 2015-06-03 富士通株式会社 用于加速工作流的执行的装置和方法
US10609119B2 (en) * 2017-11-03 2020-03-31 Salesforce.Com, Inc. Simultaneous optimization of multiple TCP parameters to improve download outcomes for network-based mobile applications
US11126430B2 (en) * 2019-05-11 2021-09-21 Intel Corporation Vector processor for heterogeneous data streams
CN111198765B (zh) * 2019-12-31 2023-08-04 富联裕展科技(河南)有限公司 运算资源分配和管理方法及代理服务器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867704A (en) * 1995-02-24 1999-02-02 Matsushita Electric Industrial Co., Ltd. Multiprocessor system shaving processor based idle state detection and method of executing tasks in such a multiprocessor system
CN1503150A (zh) * 2002-11-19 2004-06-09 ��ʽ���綫֥ 多处理器系统中的任务分配方法和多处理器系统

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08292932A (ja) * 1995-02-24 1996-11-05 Matsushita Electric Ind Co Ltd マルチプロセッサシステムおよびマルチプロセッサシステムにおいてタスクを実行する方法
US6771661B1 (en) * 1999-07-21 2004-08-03 Cisco Technology, Inc. Apparatus and methods for providing event-based data communications device configuration
US6597956B1 (en) * 1999-08-23 2003-07-22 Terraspring, Inc. Method and apparatus for controlling an extensible computing system
US6779016B1 (en) * 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
US7464147B1 (en) * 1999-11-10 2008-12-09 International Business Machines Corporation Managing a cluster of networked resources and resource groups using rule - base constraints in a scalable clustering environment
US7228546B1 (en) * 2000-01-28 2007-06-05 Hewlett-Packard Development Company, L.P. Dynamic management of computer workloads through service level optimization
US6711607B1 (en) 2000-02-04 2004-03-23 Ensim Corporation Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service
US7203746B1 (en) * 2000-12-11 2007-04-10 Agilent Technologies, Inc. System and method for adaptive resource management
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US7685254B2 (en) 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US7664823B1 (en) * 2003-09-24 2010-02-16 Cisco Technology, Inc. Partitioned packet processing in a multiprocessor environment
JP3896111B2 (ja) * 2003-12-15 2007-03-22 株式会社日立製作所 リソース割り当てシステム、方法及びプログラム
US20060029097A1 (en) * 2004-06-07 2006-02-09 Mcgee Michael S Dynamic allocation and configuration of a computer system's network resources
US8832706B2 (en) * 2006-12-22 2014-09-09 Commvault Systems, Inc. Systems and methods of data storage management, such as dynamic data stream allocation
US20060104219A1 (en) * 2004-11-15 2006-05-18 Harris Corporation Predictive mobile ad hoc networking including associated systems and methods
US7774471B2 (en) * 2006-06-15 2010-08-10 Adaptive Computing Enterprises, Inc. Optimized multi-component co-allocation scheduling with advanced reservations for data transfers and distributed jobs
US7761875B2 (en) * 2005-06-10 2010-07-20 Hewlett-Packard Development Company, L.P. Weighted proportional-share scheduler that maintains fairness in allocating shares of a resource to competing consumers when weights assigned to the consumers change
US20070011374A1 (en) 2005-07-08 2007-01-11 Kumar Sasi K Method and system for universal serial bus (USB) re-direct (USB-R) over a network
CN101248419B (zh) * 2005-08-22 2010-05-19 新日铁系统集成株式会社 信息处理系统
US7765450B2 (en) * 2005-10-20 2010-07-27 Jon Udell Methods for distribution of test generation programs
JP4017005B2 (ja) * 2005-10-27 2007-12-05 ソナック株式会社 演算装置
US7490223B2 (en) * 2005-10-31 2009-02-10 Sun Microsystems, Inc. Dynamic resource allocation among master processors that require service from a coprocessor
JP4377369B2 (ja) * 2005-11-09 2009-12-02 株式会社日立製作所 リソース割当調停装置およびリソース割当調停方法
US7738129B2 (en) * 2006-03-13 2010-06-15 International Business Machines Corporation Method and apparatus for assigning candidate processing nodes in a stream-oriented computer system
JP4611922B2 (ja) * 2006-03-28 2011-01-12 富士通株式会社 制御プログラム、制御方法および制御装置
US20070233843A1 (en) * 2006-03-30 2007-10-04 Gabriele Frey-Ganzel Method and system for an improved work-load balancing within a cluster
US7996842B2 (en) * 2006-03-30 2011-08-09 Oracle America, Inc. Computer resource management for workloads or applications based on service level objectives
US7669071B2 (en) 2006-05-05 2010-02-23 Dell Products L.P. Power allocation management in an information handling system
JP4751265B2 (ja) * 2006-08-01 2011-08-17 株式会社日立製作所 リソース管理システム及びその方法
JP3916652B2 (ja) 2006-10-20 2007-05-16 株式会社日立製作所 リソース割り当てシステム、方法及びプログラム
US7992151B2 (en) * 2006-11-30 2011-08-02 Intel Corporation Methods and apparatuses for core allocations
US7684320B1 (en) * 2006-12-22 2010-03-23 Narus, Inc. Method for real time network traffic classification
JP4933284B2 (ja) * 2007-01-25 2012-05-16 株式会社日立製作所 ストレージ装置及び負荷分散方法
JP5243721B2 (ja) 2007-02-01 2013-07-24 セイコーエプソン株式会社 アプリケーション実行システム、切替装置、アプリケーション実行システムのアプリケーション実行方法およびプログラム
US7987261B2 (en) 2007-07-31 2011-07-26 Yahoo! Inc. Traffic predictor for network-accessible information modules
US20090106730A1 (en) * 2007-10-23 2009-04-23 Microsoft Corporation Predictive cost based scheduling in a distributed software build
KR101366075B1 (ko) * 2007-12-20 2014-02-21 삼성전자주식회사 멀티코어 플랫폼에서의 태스크 이동 방법 및 장치
US8854966B2 (en) * 2008-01-10 2014-10-07 Apple Inc. Apparatus and methods for network resource allocation
US20090192981A1 (en) * 2008-01-29 2009-07-30 Olga Papaemmanouil Query Deployment Plan For A Distributed Shared Stream Processing System
JP2009271308A (ja) 2008-05-07 2009-11-19 Seiko Epson Corp 表示装置および電子機器
US8866827B2 (en) * 2008-06-26 2014-10-21 Microsoft Corporation Bulk-synchronous graphics processing unit programming
US8472328B2 (en) * 2008-07-31 2013-06-25 Riverbed Technology, Inc. Impact scoring and reducing false positives
US9875141B2 (en) * 2008-10-01 2018-01-23 Microsoft Technology Licensing, Llc Managing pools of dynamic resources
US8526309B2 (en) 2008-10-22 2013-09-03 Sharp Kabushiki Kaisha Mobile communication system, mobile station apparatus base station apparatus, method for managing mobile station apparatus, method for managing base station apparatus and processing section
EP2254286B1 (en) * 2009-05-20 2013-03-20 Accenture Global Services Limited Network real time monitoring and control method, system and computer program product
US8213453B1 (en) * 2009-08-07 2012-07-03 Juniper Networks, Inc. Quality of service (QoS) configuration for network devices with multiple queues
WO2011138854A1 (ja) * 2010-05-06 2011-11-10 日本電気株式会社 リソース管理システム、リソース管理方法およびリソース管理プログラム
US9798696B2 (en) * 2010-05-14 2017-10-24 International Business Machines Corporation Computer system, method, and program
US20120030355A1 (en) * 2010-07-27 2012-02-02 Microsoft Corporation Dynamically allocating index server resources to partner entities
US9098608B2 (en) * 2011-10-28 2015-08-04 Elwha Llc Processor configured to allocate resources using an entitlement vector
US9225772B2 (en) * 2011-09-26 2015-12-29 Knoa Software, Inc. Method, system and program product for allocation and/or prioritization of electronic resources
US20130138798A1 (en) * 2011-11-29 2013-05-30 International Business Machines Corporation Predictive and dynamic resource provisioning with tenancy matching of health metrics in cloud systems
US20130185729A1 (en) * 2012-01-13 2013-07-18 Rutgers, The State University Of New Jersey Accelerating resource allocation in virtualized environments using workload classes and/or workload signatures

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867704A (en) * 1995-02-24 1999-02-02 Matsushita Electric Industrial Co., Ltd. Multiprocessor system shaving processor based idle state detection and method of executing tasks in such a multiprocessor system
CN1503150A (zh) * 2002-11-19 2004-06-09 ��ʽ���綫֥ 多处理器系统中的任务分配方法和多处理器系统

Also Published As

Publication number Publication date
GB2495417A (en) 2013-04-10
DE112011100714B4 (de) 2018-07-19
WO2011142227A1 (ja) 2011-11-17
CN102947798A (zh) 2013-02-27
JPWO2011142227A1 (ja) 2013-07-22
DE112011100714T5 (de) 2013-01-17
US20130103829A1 (en) 2013-04-25
GB2495417B (en) 2017-11-29
TW201214286A (en) 2012-04-01
US9794138B2 (en) 2017-10-17
JP5520369B2 (ja) 2014-06-11

Similar Documents

Publication Publication Date Title
CN102947798B (zh) 计算机系统及其控制方法
Cohen et al. Almost optimal virtual machine placement for traffic intense data centers
Wang et al. Bandwidth guaranteed virtual network function placement and scaling in datacenter networks
Gupta et al. A technique based on ant colony optimization for load balancing in cloud data center
Achary et al. Dynamic job scheduling using ant colony optimization for mobile cloud computing
US20230130420A1 (en) Latency-capacity-and energy-aware vnf placement in edge computing environments
Simoncelli et al. Stream-monitoring with blockmon: convergence of network measurements and data analytics platforms
CN102081675B (zh) 支持Top K查询的自动服务组合方法及系统
Wang et al. Task scheduling for MapReduce in heterogeneous networks
CN102355422B (zh) 多核并行无锁的qos流量控制方法
Onoue et al. Scheduling of parallel migration for multiple virtual machines
Zheng et al. An infrastructure for web services migration in clouds
Strykhalyuk et al. Service Providing by Using a Structure Stability Algorithm in a Virtualized Data Center Based оn Cloud Technology
Zhang et al. Processing of mixed-sensitivity video surveillance streams on hybrid clouds
US9798696B2 (en) Computer system, method, and program
Wang et al. Robust service mapping in multi-tenant clouds
Khani et al. Randomized routing of virtual machines in IaaS data centers
Kumarasinghe et al. Visiri-distributed complex event processing system for handling large number of queries
Rapolu et al. VAYU: Accelerating stream processing applications through dynamic network-aware topology re-optimization
Hammad et al. Novel methods for virtual network composition
Xu et al. Network-aware task selection to reduce multi-application makespan in cloud
Hou et al. Virtual network embedding for hybrid cloud rendering in optical and data center networks
Antonenko et al. On HPC and Cloud Environments Integration
Liu et al. Job-aware network scheduling for hadoop cluster
Castillo et al. Predictive and distributed routing balancing, an application-aware approach

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant