调度制造技术

技术编号:12307461 阅读:79 留言:0更新日期:2015-11-11 16:55
一种调整与多程序化计算系统中的可运行件相关联的调度参数的方法、一种计算机程序产品以及可操作为执行该方法的调度单元。该方法包括:分析与数据分组相关联的头部信息,该数据分组由计算系统接收并且被寻址到该可运行件或者来自于该可运行件;确定与该数据分组相关联的该信息是否满足调度动作触发准则;以及根据与满足调度动作触发准则相关联的动作来调整与该可运行件相关联的调度参数。多个方面允许与可运行件相关联的调度参数响应于接收到分组的动态改变。该动态改变取决于所接收的分组的性质。多个方面允许运行时间环境唤醒可运行件并且向该可运行件指配适当的执行优先级和/或紧急度。例如,这些决定能够基于从所接收的网络分组的头部导出的信息来确定。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种对与多程序化计算系统中的可运行件(runnable)相关联的调度参数进行调整的方法、一种计算机程序产品以及可操作为执行该方法的调度单元。
技术介绍
典型的多程序化计算系统,诸如包括运行多个进程的操作系统(OS)、或者运行多个虚拟机(VM)的虚拟机监测器(VMM)的那些系统,可运行实体(包括多个进程或VM的“可运行件”)的调度是由调度器来执行的。OS或VMM运行时间(runtime)的调度器通常被配置为根据与每个可运行件相关联的参数来实施调度。当可运行件正在等待接收数据分组时,与该可运行件相关联的调度状态从“准备运行”改变为“睡眠”(或暂停)。如果调度器接收到用于睡眠中的可运行件的分组,则运行时间被配置为唤醒该可运行件并且将其调度状态从睡眠(或暂停)改变回到准备运行。仅当调度器根据已经被配置在与可运行件有关的调度器处的调度参数而决定这样做时,该可运行件才在可用的CPU上被调度。例如,如果可运行件被配置具有选定的固定优先级,并且运行时间调度器操作为根据固定的优先级调度规制来调度可运行件,则可运行件一旦被接收到系统内的分组所唤醒,仅当没有更高优先级的准备运行的可运行件将在它之前被调度时才能够运行。当前的调度方案可能导致未预见到的问题。期望提供调度技术的一种替换实施方式。
技术实现思路
因此,第一方面提供了:一种调整与多程序化计算系统中的可运行件相关联的调度参数的方法,该方法包括:分析与数据分组相关联的头部信息,该数据分组由计算系统接收并且被寻址到该可运行件;确定与该数据分组相关联的该信息是否满足调度动作触发准则;以及,如果满足,则根据与满足调度动作触发准则相关联的动作来调整与该可运行件相关联的调度参数。第一方面认识到诸如上文所描述的机制能够适用于仅处置一种良好定义的功能或者良好定义的功能的有限集合的可运行件。在被配置为执行不同的异构动作(这些异构动作它们自身处置不同类型的流量)的可运行件(诸如在云计算基础设施中的虚拟机)的情况下,能够动态地重新配置与可运行件相关联的调度参数可能是有用的。该动态重新配置可以被实施以使得可运行件的调度参数或优先级依赖于例如所接收的将被递送给该可运行件的分组的性质而被变更或维持。第一方面认识到,如果可运行件操作为在已经接收到分组之后重新配置它自身的调度参数(例如,在已经接收到分组之后,通过使用称为标准POSIX sched_setparam()syscall的进程用于根据所接收的分组的类型来调节调度优先级),该机制不太可能导致所期望的结果。特别地,当分组被VMM或OS运行时间排队以被可运行件接收时,该可运行件的调度状态被切换回到准备运行,导致它仅在根据已有的调度参数而被调度器认为适当时才被实际地运行。因此,将意识到,仅在可运行件已经被运行时间调度器调度为接收分组之后,才能执行对改变与该可运行件相关联的调度优先级采取行动。第一方面认识到,令人合意的是实施如下的机制,该机制只要可运行件响应于接收到分组而被唤醒,就允许改变与该可运行件相关联的调度参数。这样的机制可以操作以便于精细调节与可运行件相关的调度器所作出的决定的响应性和紧急度,使得可运行件能够根据将由可运行件作为接收到分组的结果来执行的预期计算“工作”,而在可用的(多个)CPU上被调度。在一个实施例中,可运行件包括:进程或虚拟机。因此,该方法在如下系统中可以是有用的,在该系统中,调度器或VMM可能通常不了解由虚拟机对给定数据分组执行的工作的性质。并不是指定与虚拟机相关的静态调度优先级,由系统内的虚拟机执行的不同功能可以作为调度参数的结果而实质上个体地被优先级化,这些调度参数根据本方法能够动态地被更新。在一个实施例中,调度参数包括以下各项中的一项或多项:与该可运行件相关联的调度优先级的指示、调度限期的指示、或者所要求的预留门限的指示。因此,与触发相关联的动作可能被配置为能够应对调度参数上的改变以及对所牵涉的可运行件的状态的改变。例如,改变用于基于优先级的调度器的优先级;改变用于基于限期的调度器的限期;改变用于基于预留的调度器的预算和/或时段。在一个实施例中,头部信息包括以下各项中的一项或多项:数据分组将向其被递送的特定端口 ;数据分组已经从其被发送的特定端口 ;数据分组的传输时间的指示;与数据分组相关联的调度限期的指示;在数据分组的有效载荷中携带的数据类型的指示;或者与数据分组的有效载荷相关联的优先级的指示。相应地,各种触发准则可以被实施。触发指定对于正在由运行时间处置的每个网络分组而言要检查的条件;并且如果辨识出所述条件被满足,则包含在规则中的对应动作被执行。对触发以及响应于触发而要采取的动作进行描述的语言使得它包括与以下各项中的一项或多项有关的条件:调度状态、或者传入分组的目的地可运行件的参数、或者传出分组的源可运行件。触发可以与基于预留的调度器中的剩余预算的可用性而被设置。例如,可以存在如下的规则:当所接收的分组具有给定的类型,并且目的地可运行件预留之内的残余预算至少大于预先选择的门限值时,该规则进行触发。根据一个示例,有状态的触发可以被实施以使得该触发识别可运行件的TCP/IP连接的设立,或者该触发识别由可运行件响应于特定HTTP请求而发送的分组。在一个实施例中,调整调度参数包括以下各项中的一项或多项:增大或减小调度优先级、更新调度限期、或者选择与可运行件相关联的资源预留。与触发准则以及响应于触发准则所采取的动作两者相关的很大程度的灵活性是可能的。用于指定规则和动作的语法(syntax)使得它可以有可能指定牵涉到将被管理的调度参数的代数表达式,以及规则被触发的时间。例如,对于基于限期的调度策略,有可能说每当接收到给定协议/端口的将被递送给特定可运行件的分组时,该可运行件的调度限期被设置为未来中的固定时段。换句话说,它应当被设置等于当前时间加上固定的特定于可运行件的相对限期。在一个实施例中,在数据分组被转发给可运行件之前应用对调度参数的调整。因此,相对于已有的方法,分组它自己可以立即从与可运行件相关联的调度参数上的改变中获益。在一个实施例中,该方法包括:确定分组是否具有要求响应分组通过计算系统进行传递的类型,并且维持对调度参数的调整至少直到该响应分组被检测到。此外,根据一些实施例,本文所描述的方法的实施方式的语法允许在分组内确定特定于协议的字段。相应地,在触发和/或动作的指定中,该语法可以允许使用这样的特定于协议的信息。例如,在特定的协议中,可以定义传达与以下各项有关的一些数字信息的字段:将要执行的分布式计算的优先级、或者自从分布式计算的开始以来的累积延迟、或者指代贯穿于分布式计算中的某个特定时刻的时间戳。被触发的规则可以操作为基于作为触发的一部分而确定的值、要执行的关联动作、或者两者来计算简单的代数表达式。例如,可以实施如下的规则,这些规则允许在特定的网络协议的上下文中通过将一个时间段添加到从分组的头部读取的时间戳来设置调度限期。在一个实施例中,如果在选定的时段内不存在被寻址到该可运行件或者来自于该可运行件的数据分组,则该方法包括:将调度参数设置为与该可运行件相关联的默认值。将意识到,取决于系统的OS或VMM架构,每当网络分组需要由多个可调度实体(例如,内核线程或者常规线程和进程)进行本文档来自技高网...

【技术保护点】
一种调整与多程序化计算系统中的可运行件相关联的一个或多个调度参数的方法,所述方法包括:分析与数据分组相关联的头部信息,所述数据分组由所述计算系统接收并且被寻址到所述可运行件或者来自于所述可运行件;确定与所述数据分组相关联的所述信息是否满足调度动作触发准则;以及根据与满足所述调度动作触发准则相关联的动作来调整与所述可运行件相关联的所述调度参数中的一个或多个调度参数。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:T·卡西诺塔
申请(专利权)人:阿尔卡特朗讯
类型:发明
国别省市:法国;FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1