用于能量效率的网络调度技术领域
一般地,本发明涉及通信网络,并且更具体地,涉及用于调度在上述
网络的网络设备中进行处理的分组的技术。
背景技术
据估计,美国电信设施每年要消耗600亿千瓦小时的功率。如此庞大
的消耗部分源自于大多数网络被操作来处理峰值业务的事实。诸如路由器
和交换机的网络设备趋于以全速率运行并消耗最大功率,然而,典型的业
务水平仅仅是最大吞吐量的一小部分。
一种已知的减小网络中的能量消耗的方式涉及间歇性的降低特定网络
设备的功率。例如,这些网络设备可被设置进入休眠模式,即关闭状态或
其它类型的非激活状态,在这些状态下,该网络设备的功率消耗相对于其
最大功率消耗要显著地降低。然而,在这样的停工期间(downtime)内,
需要对到达网络设备处的用于处理的任意分组进行缓冲,并且这会导致该
分组通过网络的传输被显著地延迟。因此,使网络设备处于它们各自
(respective)的激活状态中的时间段最小与使网络中分组传输延迟最小成
为两个冲突的目标。在激活和非激活状态间切换指定的网络设备通常也将
牵扯相当多的转换时间的事实也会加剧上述问题。
为了解决与网络设备的激活和非激活状态之间转换相关联的成本,建
议采用具有相同源和目的地的网络组分组的边缘路由器并且按突发的方式
传送所述分组,以此减小转换的数量并且增加所述网络设备的非激活时间。
参见S.Nedevschi等人的“通过休眠和速率自适应来降低网络能量消耗
(Reducing Network Energy Consumption via Sleeping and
Rate-Adaptation)”,J.Crowcroft和M.Dahlin(达林),电子设备协会
(eds.),NSDI,第323-336页,USENIX联盟,2008年。然而,上述方
法仍然会导致网络中的分组传输的显著延迟,并且也不能提供一种能够同
时解决能量消耗和延迟最小化的全局优化。
发明内容
本发明的示例性实施方式提供了一种调度技术,其显著地提高了指定
的通信网络中的能量效率,且还使分组延迟最小。
在本发明的一个方面,将包括多个网络设备的通信网络配置为执行用
于能量效率的调度。更具体地,识别网络内的线路中互相连接的一组网络
设备,并且建立公共帧尺寸。对于线路中的每个网络设备,具有公共帧尺
寸的相应帧中调度该网络设备的激活和非激活时间段,该线路中的各个网
络设备中的帧相对于彼此在时间上移动指定的便宜。对于该线路的每个网
络设备的一个或多个激活时间段的每一个,对接收的分组进行调度以在该
网络设备中进行处理。
在一个示例性实施方式中,基于“最远先走(farthest-to-go)”,可
以执行用于在网络设备的激活时间段内进行处理的接收分组的调度,使得
在激活时间段内,为具有在网络中行进的较远距离的分组提供比具有在网
络中行进的较短距离的分组高的优先级(priority)。
在本发明的另一个方面,所述线路的网络设备中的第一网络设备可发
送消息到所述线路的网络设备中的第二网络设备,所述消息指示所述第一
网络设备中的帧和所述第二网络设备中的帧之间的便宜中的特定便宜。例
如,所述特定便宜可表示所述第一网络设备中的帧的第一激活时间段的开
始和所述第二网络设备中的帧的第一激活(active)时间段的开始之间的时
间间隔。更为一般地,除了所述线路的最后网络设备外,所述线路的每个
网络设备都可向该线路的其直接下游相邻网络节点发送消息,所述消息指
示各自的发送和相邻网络设备的初始激活时间段之间的便宜。
所公开的技术可应用于网络中的多个线路。例如,所述网络可被划分
为多个线路,每个线路包括在线路中相互连接的相应组网络设备。可将分
组中的一个指定分组从线路中的第一线路切换到线路中的第二线路,并且
结合所述线路切换,所述分组可在所述第二线路的第一网络设备处等待所
述第一网络设备中的帧的第一激活时间段。
示例性实施方式通过使激活(active)和非激活(inactive)时间段的
转换对分组延迟的影响最小的协调方式,通过调度网络中特定节点的激活
和非激活时间段来提高通信网络中的能量效率。
通过附图和下面的详细说明,本发明的这些或其它特点或优点可变得
更加明显。
附图说明
图1示出了本发明示例性实施方式中的通信网络;
图2是图1的网络中特定网络设备的更为详细的视图;
图3是示出了在图1的网络中执行的调度过程的操作的流程图;
图4示出了网络的一部分的示例性线路分解;
图5示例了图4的网络部分中的网络设备中的特定网络设备之间的可
能路由;
图6示例了图1的网络中的网络设备中指定网络设备的示例性调度器
的操作;
图7示例了图1的网络中在这种设备的线路上的网络设备之间的交互。
具体实施方式
此处将结合通信网络、网络设备以及相关联的调度处理的示例性实施
方式来描述本发明。然而,应当理解,本发明不局限于在所描述的特定网
络、设备和处理过程中应用,相反,其可应用于任何需要通过协调调度网
络设备的激活和非激活时段来提供改善的能量利用的网络设备中。
图1示出了包括多个相互连接的网络设备102的通信网络100。网络
设备102可包括任何组合方式的路由器、交换机、服务器、计算机或其它
处理设备,此处还可将它的实例称为网络节点或终端。通常地,指定的网
络设备会包括:处理器以及耦合到该处理器的存储器,以及收发器,其允
许网络设备能够同与其相互连接的其它网络设备进行通信。如图所示,至
少地,网络设备102的子集耦合到控制器104。
如将在下面更加详细地描述的,网络设备100被配置为执行协调的调
度过程,其显著地增加指定通信网络的能量效率且使分组延迟最小。使用
所述网络设备中的调度器或其它元件,按分布式方式来执行当前实施方式
中的调度过程,如将在图2至7中描述的。在这样的实施方式中,可利用
控制器104来促进网络单元之间的便宜或其它调度信息的通信,或者可执
行与所述调度过程相关的特定计算或其它操作。可替换地,可按集中式方
式来实现所述调度过程,控制器执行实质上所有的调度操作并且向每个网
络设备传递合适的调度。如另一实例,控制器104可被全部移除并且按完
全分布式方式来实现调度过程,而没有集中式控制。因此,本发明的实施
方式可以是完全分布式的、完全集中式的或者可利用分布式和集中式控制
的混合。
网络100可包括适于传输数据或其它信号的任何类型的通信网络,并
且在这个方面上不会限制本发明。举例来说,网络100的一部分可包括广
域网,例如因特网、城域网、局域网、有线网络、电话网络、卫星网络以
及这些网络或者其它网络的一部分或组合。因此,此处所使用的术语“网
络”旨在被广义地解释。
现在参照图2,示出了网络100的指定网络设备102的一种可能的实
现方式。在该实施方式中,网络设备包括耦合到存储器202的处理器200,
并且进一步包括网络接口电路204。网络设备中还包括调度器210和线路
分解(decomposition)模块212。存储器202包括用于存储接收到的分组
的缓冲器215,其中网络设备会传送所述分组或处理所述分组。应当注意
的是,此处使用的术语“分组”旨在被广义地理解,以便包含例如各种各
样不同类型的协议数据单元。
可将处理器200实现为微处理器、微控制器、应用集成电路(ASIC)、
或其它类型的处理设备,以及这些设备的一部分或组合。存储器202可包
括电子随机存取存储器(RAM)、只读存储器(ROM)、基于磁盘的存
储器或其它类型的存储设备,以及这些设备的一部分或组合。处理器和存
储器可被用于存储和执行一个或多个软件程序,所述软件程用于调度网络
设备的激活和非激活时间段以及执行相关操作,例如与将网络分解成网络
设备的一个或多个线路相关的相关操作。因此,可至少部分地使用这种软
件程序来实现模块210和212。此处,存储器202可被视为更为普遍地作
为计算机程序产品或者还更为普遍作为的具有体现可执行程序代码的计算
机可读存储介质的实例。计算机可读存储介质的其它实例可包括磁盘或者
其它类型的磁或光介质或其任意组合。
处理器200、存储器202以及接口电路204可包括公知的传统电路,
该传统电路适于被修改以按照此处所描述的方式来进行操作。这种电路的
传统方面是本领域技术人员所熟知的,并且因此此处将不对其进行详细描
述。
可以理解的是,此处所公开的网络设备可使用除了图2的示例性安排
中具体示出的那些组件和模块之外不同的组件和模块来实现。
现在将参照图3至图7来描述示例性实施方式中的网络设备102的操
作。
图3是本发明的一个实施方式中的在图1的网络100中实现的调度过
程的流程图。本实施方式中的调度过程通常将网络划分为网络设备的多个
线路,调度每个线路上网络设备的各自网络设备处的帧中的激活和非激活
时间段,以及调度用于在每个激活时间段进行处理的分组。如图所示,过
程包括步骤300至306。
在步骤300中,将网络100的至少一部分划分为在线路上相互连接的
一组网络设备102。使用网络设备102的线路分解模块212来执行所述划
分。在图4和5中示出了在步骤300中可用于将网络划分为线路的一种类
型的线路分解的实例。这可以被视为最大流分解的类型,并且其适用于一
般拓扑的网络。
图4示出了网络100的一部分,其中将网络设备102中的特定网络设
备标识为节点1、2、3、4和5。使用最大流分解,将网络的上述部分示例
性地划分为:包括节点1、2、3和4第一线路400和包括节点2、5和3
组成的第二线路402。这通常涉及:在每个节点处确定携带最大吞吐量业
务流的特定输入和输出链路,以及声明这些链路位于同一条线路上。更具
体地,为了将网络划分为线路,我们在每个节点处匹配具有最大吞吐量业
务流的两个链路并将这两个链路分派给同一线路,以及重复这个过程直到
匹配了与每个节点相关联的所有链路。如果这种划分过程的结果出现了环
路,则可在任意点上切断该环路以创建线路。
举例来说,假设通过节点2的业务可沿方向1-2-3、1-2-5或者3-2-5
来传输,在图5中分别由数字500、502以及504来标识方向1-2-3、1-2-5
或者3-2-5。节点2处的线路分解模块212确定这些方向中的哪个方向停留
在指定线路中。在图4所示的实例中,假设1-2-3携带比1-2-5或3-2-5更
多的业务。因此,节点1、2和3全部位于线路400上,使得用于1-2-3的
业务停留在同一线路上。节点2处,用于1-2-5或者3-2-5的业务必须从线
路400切换到线路402。通过在同一线路上保持更高的业务链路,使得必
须切换线路的分组的数量最小。这样是重要的,因为每次从一个线路切换
到另一个线路可能潜在地引入分组处理的延迟,这是由于每个分组可能必
须等待以赶上新线路的调度。然而,此处所公开的激活和非激活时间段的
经协调的调度的特别优势是:在指定线路的每个网络设备处,分组通常无
需等待激活时间段,而仅是当切换线路时才需要等待。
应当注意的是,步骤300不需要使用任何特殊的分解过程。本发明的
另一个实施方式采用所谓的毛虫(caterpillar)分解来将具有树形结构的网
络划分为网络设备的线路,并且以下将进行更为详细的描述。因此,可将
图3的调度过程应用到网络设备的任何线路或任意多个线路,不论这些线
路是采用何种特定的方式确定的。然而,优选的是采用易于使线路之间的
分组切换最小的分解。
当确定了网络设备的线路之后,图3的调度过程继续进行到步骤302。
在这个步骤中,对于网络设备的线路中的每一个,建立公共帧尺寸以用于
调度所述线路的每个网络设备的激活和非激活时间段。如下所述,通过指
定的帧长度T来提供示例性实施方式中的公共帧尺寸,尽管也可使用其它
类型的公共帧尺寸。在步骤304中,对于每条线路的每个网络设备,在具
有公共帧尺寸的相应帧中调度用于所述网络设备的激活和非激活时间段,
所述线路的各自网络设备中的帧相对于彼此在时间上移动所指定的便宜。
举例来说,可以按以下方式来进行用于网络设备的指定线路的激活和
非激活时间段的调度。假设网络设备的线路为图4的线路400,其至少包
括节点1、2、3和4。设定T表示公共帧尺寸,使得线路的每个节点处的激
活和非激活时间段的调度每隔T个时间单位重复一次。设定每个节点的激
活时间段等于rT,其中r为分组到达该节点处的速率,节点要不然处于非
激活状态。这意味着,原则上,在每个节点处都具有足够的激活时间段来
处理所有的分组。基于此前的假设,用于当前实例的一种可能的调度如下:
节点1在时间段[0,rT]期间是激活的;节点2在时间段[p1,p1+rT]期间
是激活的,其中p1是分组从节点1去到节点2的传输时间;节点3在时间
段[p1+p2,p1+p2+rT]期间是激活的,其中p2是分组从节点2去到节点3
的传输时间;以及该线路上的其它节点依此类推。通过这种方式,当线路
中的一个节点处理分组后,该分组将会及时地到达该线路上的下一个节点
并被该下一个节点处理。应当理解的是,这个简单的实例仅是在指定线路
的网络设备上激活和非激活时间段的调度的一种可能的示例。下面将结合
图6和7来介绍其它的实例。为在划分步骤300中确定的网络设备的其它
线路的每一个重复上述激活和非激活调度。
在步骤306中,对于每个线路的每个网络设备的每个激活时间段,调
度缓冲的分组以用于在激活时间段内处理。在该实施方式中,在每个激活
时间段内,基于最远先走(FTG)来调度分组,使得在激活时间段内为行
进最远距离的分组提供优先级。也就是说,先对网络中与调度节点具有较
远的行进距离的分组进行调度处理,后对网络中与调度节点具有较近的传
输距离的分组进行调度处理。因此,在激活时间段期间,处理缓冲的分组
使得距离其目的地最远的分组先发送出去。
尽管图3的实施方式使用FTG方式来调度用于在网络设备的指定激活
时间段内进行处理的分组,其它实施方式可使用用于激活时间段的其他类
型的“尽力服务(best effort)”调度,或者可能在不同的节点处的不同调
度技术的组合。
可以看出的是,通过指定线路的每个节点的激活和非激活时间段的适
当调度,分组将仅为其第一节点的激活时间段等待一次。一旦其开始移动,
则其持续移动直到其到达目的地。尽管分组在其从一个线路切换到另一个
线路时可能需要再次等待激活时间段,通过所切换的线路的数量来确定累
积的延迟,而不是由所遍历的节点的数量确定的。后者的数量通常要远大
于前者的数量。
图6示例了图1网络中网络设备102的指定网络设备中的示例性调度
器210的操作。在该实施方式中,调度器210耦合到线路分解模块212和
缓冲器215。线路分解模块212确定相邻网络设备中的哪个网络设备与指
定的网络设备处于同一线路上。缓冲器215存储在网络设备处接收到的分
组600。调度器210在重复帧内控制该网络设备的激活和非激活时间段,
并且还在每个激活时间段内对分组设置优先级。此处,还将激活和非激活
的时间段称为“打开”和“关闭”时间段,尽管网络设备并不需要在这些
时间段内完全打开或关闭。举例来说,如图所述,所述帧的关闭时间段对
应于相对较低的处理水平L1。所述帧的每个打开时间段具有不同的相对较
高的处理水平。例如,所述帧的第一打开时间段602与处理水平L2相关
联,且相对于第一个打开时间段的处理水平L2来说,第二个和第三个打
开时间段604和606分别具有稍微较低和稍微较高的各自处理水平。因此,
在相应帧内,特定线路的网络设备中的指定网络设备的两个或多个激活时
间段均可对应于不同的处理水平。如图3的步骤306所指示的,在时间段
602、604以及606中的每一个内,调度器210将处理优先级提供给与他们
各自目的地的行进距离最远的分组。
图7示出了作为线路700的一部分的一组网络设备102-1、102-2以及
102-3之间的交互。上述设备也可被标记为设备1、设备2和设备3,并且
也可被视为对应于图4的实例中的节点1、2和3的各自节点。通常按图6
所示的方式来配置每个设备,并且因此其包括调度器210-1、210-2或210-3
以及缓冲器215-1、215-2或215-3。为了说明的请求和简单,从附图中省
略了线路分解模块。如图3的步骤304所指示的,在具有公共帧尺寸
(common frame size)的相应帧内,线路的每个网络设备调度其激活和非
激活时间段,线路的各自网络设备中的帧相对于彼此在时间上移动所指定
的便宜。在本实施方式中,调度器210-1、210-2或210-3在各自的帧702-1、
702-2和702-3内调度他们各自的网络设备的激活和非激活时间段,上述帧
中的每一个具有相同的帧长度。可以看出的是,帧702-1、702-2和702-3
彼此偏移,即在时间段704-1、704-2和704-3上它们各自初始的开始点在
时间上错开。更为具体地,设备1处打开时间段704-1的开始与设备2处
打开时间段704-2的开始之间存在指定的偏移710。类似地,设备2处打
开时间段704-2的开始与设备3处打开时间段704-3的开始之间存在指定
的偏移(offset)712。类似地,在附图中没有示出的线路700的附加网络
设备可具有他们各自的相对于彼此进行了时间移动的帧。
图7的实施方式中的网络设备102可通过传递消息来彼此进行通信,
该消息指示上述偏移和可能的其它信息,如图7中穿过设备的曲线所指示
的。例如,线路700的网络设备102-1可向线路700的网络设备102-2发
送消息,所述消息指示在它们各自的帧702-1和702-2之间应用的偏移710。
类似地,网络设备102-2可向网络设备102-3发送消息,所述消息指示在
它们各自的帧702-2和702-3之间应用的偏移712。在这个实例中,特定的
偏移表示网络设备的一个中的帧的第一激活时间段的开始与该线路的直接
相邻网络设备的第一激活时间段的开始之间的时间间隔。因此,线路700
的网络设备102中的每一个,除了该线路的最后的网络设备,都可向该线
路的其直接下游相邻网络设备发送消息,以指示各自发送和相邻网络设备
的初始激活时间段之间的偏移。例如,可以采用类似的消息来传送的其它
信息包括,网络设备102的各自线路分解模块212使用的用于确定哪些设
备与同一线路相关联的信息。
参考图7实施方式中的帧702-1、702-2和702-3,可以看出的是,每
个帧中经调度的激活和非激活时间段可能是不同的。因此,用于线路700
的网络设备中的一个的指定的经调度的帧可能具有与该线路的网络设备中
的另一个的相应经调度的帧不同的活动和不活动的时间段的安排。另外,
从附图还可以看出,所述线路的网络设备中的一个的激活时间段中的至少
一个可对应于与该线路的网络设备中的另一个的至少一个激活时间段不同
的处理水平。
现在将介绍本发明实施方式的更加详细的实例。在这个实施方式中,
假定每个网络设备或者操作于全速率激活模式,或者操作于零速率睡眠模
式。网络支持一组连接,每个连接需要以指定的速率在一对节点之间传送
分组。连接i沿路径Pi被路由,其中Pi可被指定为输入或被计算为输出的一
部分。我们研究这两种情况。如果上述路由不是输入的一部分,问题的路
由部分为每个连接i指定路由Pi。按漏桶算法(leaky-bucket)来控制到达
的分组且连接i具有所期望的速率ρi。问题的调度部分指定每个链路的激活
时间段,即链路何时操作于被概括为R=1的全速率,以及在每个激活时间
段内如何设置分组的优先级。在两个节点之间的转换要占用δ个时间单元,
并且其按照与全速率相同的速率来消耗能量,尽管该网络设备在转换期间
并不能处理任何分组。
应当理解的是,该特定实例上下文中对链路调度的参考旨在包含驱动
这些链路的各自网络设备的调度。
我们关注基于帧的调度,其中,在每个长度为T,(0,T],(T,2T],…的
帧内每个链路在固定的持续时间内是激活的。令为通过链路e
的总速率,令
Ae=T·Re
为链路e的激活时间段的最小长度。如果每个链路e上的激活时间段的
持续时间正好为Ae,则我们称之为调度“最小”。显然,对与路由的固定
结合以及对于固定的T,最小调度为能量最优。
我们要证明以下的结果。为了简明期间,我们假定在链路上传送一个
分组要花费一个时间单位或时间步长。下面,我们的结果将任意链路传输
时间概括(generalize)为链路。
我们以线路拓扑开始。因为路由是固定的,我们仅关注调度。我们提
供最小调度,其中ki个链路的每个连接i的端到端延迟的上限为2T+ki。我
们还提供准最小调度,其中对所有的e来说,激活时间段的持续时间为
Amax=maxeAe。在这种情况下,我们示出对所有的i的端到端延迟为T+ki。
对每一固定的T,由于具有较小延迟的调度消耗更多能量并且反之亦
然,因此,这两种调度之间的能量-延迟的折衷是清楚的。在每种调度内,
我们还观察了折衷,因为较大的T意味着较大的延迟限制,且较小的激活-
休眠转换,并且进而较小的能量消耗。
随后,我们描述如何在具有任意拓扑结构的网络中应用线路调度技术
以获取结果。如果路由不是输入的一部分,我们首先选择目标是使∑eAe与
转换成本的和最小的路径。所述和可近似处于因子中,其中n为网
络的尺寸。此外,我们还可确保上述路径构成了树。使用毛虫(caterpillary)
分解,我们将树划分为线路的集合(collection),使得每个连接路径最多
与2logn个线路交互。在每个线路上,我们采取最小调度。当分组从一个
线路移动到另一个线路时,最大的额外延迟T是足够的。这允许我们证明
能够保证用于所有连接的端到端延迟。
如果已经指定了路由,我们提出直接转发最小调度,其中用于每个连
接i的延迟限制为T·ki。然而,如果在足够大的帧内,链路的激活时间更长,
那么我们给出改进的延迟限制。这再次论证了能量和延迟之间的折衷。
线路上的调度
如上所述,我们以调度线路上的一组连接作为开始。每个连接的终端
不必是该线路的端点。尽管限制了线路拓扑,将解决方案用作用于处理任
意拓扑的构建块。对于线路,对所有的e,只要T≥Ae+2δ,我们可选择任
意的帧尺寸T。由于Ae=T·Re,因此意味着
T ≥ max 2 δ 1 - R e . ]]>
以下将会示出,对于线路拓扑,经过最大为T的初始延迟后,每个分组在
经历最多Amax的额外队列延迟后可到达其目的地。激活时间段为Ae,其对
每个链路e来说是最小的。
我们首先定义最小调度。让我们标记沿线路的链路为e1、e2等。对任
意j≥1的整数,用于第i个链路ei的第j个激活时间段为此
后,我们考虑固定的j。令Si为一组分组,其将ei作为它们的第一链路且在
时间段[(j-1)T+i,jT+i)内被注入。下面我们将示出∪iSi中的分组将在每个链
路的第j个激活时间段内行进到它们的目的地。
在激活时间段内,我们为这些分组分配时隙以使得:i)对每个分组,
在其路由路径上的时隙是不减少的;ii)对共享公共链路的两个分组,在
该公共链路上为它们分配不同的时隙。在这些条件下,所述时隙定义了每
个分组何时得到推进。
从∪i Si中分组,我们重复地提取其路径形成整个线路的最小覆盖的那
些分组,例如,这些分组路径的任何合适子集都不能覆盖整个线路。通过
这种最小覆盖C,我们移除重叠并且创建精确覆盖,其中每个链路正好被
一个分组路径覆盖。因为C是最小的,我们从唯一的分组路径开始,将唯
一的分组路径定义为p,其包含e1。我们沿着p走,直到其第一次与另一个
分组路径相重叠,将另一个分组路径定义为q。我们为所述精确覆盖保持
p-p∩q并且移除p∩q。注意的是,由于C的最小性,因而q也是唯一的。
我们继续沿q走,直到其与另一个分组路径重叠。我们按同样的方式从q中
移除所述重叠。当所有重叠都被移除时,C就成为精确覆盖。现在,从每
个激活时间段为每条路径C分配下一个可用时隙。注意的是,对某些公共k
来说,所述下一个可用时隙是每个激活时间段的第k个时隙。在简单归纳
中这个保持不变。还要注意的是,如果切断分组路径,被移除的部分总在
未被移除的部分之后,并且因而随后总被分配较大的时隙。这将保证时隙
分配对分组移动来说是可行的。当剩余的分组路径的联合不覆盖整个线路
时,我们在每个断开连接的线路上执行上述过程。同样要注意的是,∪i Si中
的分组的Ae最多需要每个链路e。因此,对所有的分组来说,激活时间段
因此具有足够的时隙。因此,除了传输时间(通过从一个链路到下一个链
路的激活时间段的位移来反映)∪iSi中的分组要至多经历总共Amax的队列时
间。
迭代地创建覆盖的上述集中式算法可被之前提及的FTG所代替。对每
个链路e,在其激活时间段内,FTG给予∪i Si中具有最大数量的要遍历的
剩余链路的分组优先级。看到FTG符合上面所描述的集中式算法,我们
注意到,对于每个k≥0,在每个激活间隙中使用的第k个时隙的分组使它
们的路径构成了该线路的最小覆盖。
如果我们将每个链路的激活时间段放宽为Amax,则在最大为T的初始延
迟后,一旦每个分组开始移动,其不会再经历排队延迟。可以看出的是,
对线路拓扑来说,在最多为T的初始延迟后,每个分组都会到达其目的地
而没有进一步的排队延迟。对每个链路来说,激活时间段是Amax。这从下
面可以看出。对于任何j≥1的整数,沿线路的用于第i个链路ei的第j个激
活时间段为[jT+i,jT+i+Amax)。再次令Si为一组分组,其将ei作为它们的第一
链路且在时间段[(j-1)T+i,jT+i)期间被注入。∪iSi中的分组在每个链路的第
j个激活时间段期间行进到它们的目的地。看到这,注意的是,来自∪iSi的
分组的最多Amax具有沿其路径的e。因此,熟知的间隙图着色结果意味着,
可为S中的每个分组分配[1,Amax]中的颜色,使得如果它们共享任何公共链
路,则为两个分组分配不同的颜色。在分组可以前进的激活时间段中,这
些颜色定义了时隙。按照这种方式,当分组从一个链路移动到下一个链路
时,该分组具有直接可用于传输的时隙。
结合的路由和调度
现在,我们将注意力转移到任意网络拓扑的情况。如果并没有将路由
提供作为输入,则我们首先为每个连接i选择路径Pi。回想到
是链路e上作为路由结果的总速率,令:
f ( R e ) = 0 R e = 0 2 δ + R e T R e > 0 . ]]>
通过以最小∑ef(Re)为目标的路由连接,我们使所有链路上的总的
激活时间段和转换时间最小,并且因此使能量最小。注意到,上述公式仅
在Re<1时是有意义的。我们可以合理地假定Re=1,而不考虑路由,这是因
为是在全速率R=1显著大于所需的速率的场景下才激或能量降低。
注意到的是,f(·)是个凹函数并且路由问题实质上对应于充分研究过的
购买大量(buy-at-bulk)网络设计问题。一种可能的解决方案使用树状度
量的概率逼近度量概念。参见B.Awerbuch(奥多巴克)和Y.Azar(阿扎)
的“Buy-at-bulk network design(购买大量网络设计)”,Proc.IEEE FOCS,
1997年,以及Y.Bartal(巴尔特)的“On approximating arbitrary metrics
by tree metrics(关于树形度量的逼近任意度量)”,Proc.ACM STOC,
1998年。该想法是树上的概率分布来近似图G中的距离。特别地,令dij(G)
为图G中的链路(i,j)的长度。假设树H是根据所述概率分布来随机选择的,
并且令dij(H)为树H中的i和j之间的距离。如果满足下式,我们说树α上的
概率分布概率上逼近图G:
E(dij(H))/α≤dij(G)≤dij(H)
在以上引用的Awerbuch和Azar的参考中示出的是,如果我们根据概
率分布随机地选择树并然后沿该树所指定的唯一路径来路由所有连接,则
α延展意味着购买大量(buy-at-bulk)中的O(α)近似。
我们使用关于α的以下结果:可通过生成树的多项式可计算概率分布
来对每个网络G进行α-概率近似,为的概念隐藏了术语
loglogn并且更小。事实上,α的准确值为O(lognloglognlog3loglogn)。这意味
着存在随机化算法,其选择路由使得总的激活时间段和转换时间为最小优
化的倍。此外,上述路径构成树,并且对任意连接来说,该树上的
所期望路由距离是原始网络的最短路径距离的倍。
进一步的,我们利用所述结果路径形成树的这个事实。我们通过结合
树的毛虫分解法和在线路拓扑上进行调度来解决该调度问题。更为具体地,
我们设计线路上的最小调度,其中,一旦分组开始运动,分组的排队延迟
最多为T初始加上总的最多为Amax=T·Rmax。假定支持路由的链路形成所述
树,以下我们将显示毛虫分解法可使我们将该树分解为线路的集合,这样
每个连接的路由路径都会路过最多2logn个线路。每当数据包切换到新的线
路时,在最差的情况下,它花费初始排队延迟。
知道了如何在线路上进行调度,我们按照与毛虫分解法类似的方式将
路由树划分线路的集合。按照这种分解方式,可将任何树划分为线路,使
得任意两个节点之间的唯一路径遍历最多2logn个线路,其中n为该树中节
点的数量。对于关于毛虫分解法的附加细节,可参见J.Matousek(马蒂斯)
的“On embedding trees into uniformly convex banach spaces(一致凸巴拿
赫空间中的嵌入式树)”,以色列数学杂志,114:221-237,1999年。
一旦将树分解成线路,此前描述的最小调度被应用在每个线路上。连
接i的所期望的端到端延迟为其中ki为原始网络上的最短
路径距离。另外,该调度是最小的。这可以在下面示出。生成树的延展意
味着在所选择的树中的路由路径的长度为原始图中的最短路径距离的
倍。因此,传输时间为乘以ki。根据毛虫分解,可将树中的
路由路径分解到2logn个线路上。因此,排队延迟最多为2logn乘以一个线
路中的最大延迟,T+Amax≤2T。
鉴于Re=1,每个帧中的非激活时间段的长度为T-Ae=Ω(T)。然后,在
移动之前,在该时间段的开始处到达的分组需要等待Ω(T)。因此,用于连
接i的分组延迟的下限为Ω(T+ki)。进一步地,可以看出,结合的路由和调
度方案确保了延迟最小化接近以及能量最小化接近
指定路径的调度
在此前有关结合的路由和调度方案的部分中,我们利用了路由形成树
的这一事实。在本部分中,我们关注假定将路由提供作为输入的调度,以
及假定这些路由形成任意拓扑。
A.能量优化算法
我们首先以简单的算法来演示,最小调度在任意拓扑的网络中总是可
能的,但是分组在每个链路上可能经历延迟T。令ki为连接i的路由pi的跳
数。对于具有任意拓扑的网络,在最小调度的情况下下,连接i的端到端延
迟被T·ki限制。这可在以下内容中示出。我们首先定义最小调度。对于每
个时间帧,为第一时间步骤T·ki激活链路e。在时间步骤jT的开始处,令Se
为在链路e处排队的一组分组。在时间帧[jT,(j+1)T)期间,只有来自Se的分
组沿链路e前进。也就是说,在[jT,(j+1)T)期间到达的分组必须等待直到下
一个帧[(j+1)T,(j+2)T),即使在激活时间段[jT,jT+TRe)期间还存在空间。下
面我们示出|Se|≤TRe。归纳地,我们假定目前每个分组前进到一个链路时需
要占用一个帧。因此,Se包含了来自起始于链路e并在[(j-1)T,jT)期间被注
入的连接的分组,以及来自将e作为第i个链路并在[(j-i)T,(j-i+1)T)期间被
注入的连接的分组。这些连接的总速率为Re。因此,|Se|≤TRe。由于所有来
自Se的分组在时帧开始时在链路e上排队,因而他们可在第一T·Re时间步骤
的帧的激活时间段期间沿着链路e来被传送。
这种最小调度可被视为将连接路由细分为线路,其中每个链路是不同
的线路。由于这个原因,分组经历线路切换并因此在每个边缘处经历最多
为T的延迟。清楚的是,连接路径到线路的任何其它分解都可通过减少线
路切换来改善端到端延迟。不幸的是,在最坏的情况下,没有太多可改进
的空间,这是因为可能找到这样的网络和连接组,使得与如何完成分解无
关,几乎每个连接i都要经历Ω(ki)次线路切换。然而,以下讨论的实验结
果表明在实际水平中这可以是一种可行的方式。
B.改进的延迟算法
如果我们允许激活时间段为非最小,对与足够大的T来说,分组所要
遭受的最大延迟可被减小到2T。更为具体地,对于足够大的帧尺寸T,在
一个帧期间注入的所有分组可在下一个帧的激活时间段内到达它们的目的
地,并且激活(activation)时间段的长度最多为T+O(kmaxln(mT)),其中m是
网络中链路的数量并且kmax=maxiki。
实验结果
在本部分中,我们通过仿真来比较两种基于帧的调度,即一种为经协
调的调度,并且另一种为未经协调的简单调度。两种调度都是最小的,并
且因而都在能量上达到最优。因此,当比较两种调度时,我们使用分组的
平均和最大延迟来作为质量度量。为线路定义此处被称为调度与协调
(SWC)的经协调的调度。为每个帧的时间Ae激活每个边缘e,激活时间
段沿该线路移动,并且在该线路的每个边缘处应用如此前描述的FTG调
度协议。调度但不协调(SWOC)简单地在帧的开始处的时间Ae激活每个
边缘e,并且使用FIFO来调度分组。
执行这两组仿真方式。第一组使用如线路的网络,且第二组使用一般
的网络。在每一种场景中,连接的数量是固定的,其中网络中所有节点间
随机一致地选择每个连接的终端。连接速率固定为ρ=1/50,这样在每个T帧
内的每个连接上有ρT个分组到达。每个分组在该帧的一致地选择时间步骤
内到达。然而,在下一个帧之前SWC不调度分组以进行移动,即使该连
接是激活的且存在可用的时隙。对任何给定的一组参数,对应于这些参数
的实验被执行了10次,并观察平均结果。
A.线路
我们首先介绍网络的仿真结果,该网络为具有40个链路的线路。在该
网络中随机选择50个路径长度为10的连接。然后,在50到250范围内利
用时间帧尺寸T进行仿真。从这些仿真结果观察到的是,相对于SWOC,
SWC提供明显更小的端到端延迟。在SWC和SWOC下,随着T的增加,
平均和最大端到端延迟都有所增加。然而,在SWOC的情况下增长得更
快,这就意味着,帧越大,使用SWC替代SWOC就越适合。我们还观察
到,改变连接路径的长度不会改变SWC的执行优于SWOC的事实。例如,
对于长度为30的路径,相对于SWOC,SWC给出了至少26%的更好的
平均端到端延迟。因此,在指定数量的激活时间段中,激活和非激活时间
段的经协调的调度可显著的减小延迟。
B.NSF网络
我们考虑的第二网络是NSF网络,其由14个节点和20个链路组成。
在这个和任意其它网络中,SWOC如同它在线路中一样进行工作,简单地
使用最短路径路由。然而,我们需要定义SWC通常如何在NSF和任何任
意网络中进行工作。解决方案是进行线路分解:将网络分解为边缘不相交
的线路,沿该线路路由连接以及在每个线路上使用SWC。在这种情况下,
我们手工地将NSF网络分解为4个链路不相交的线路。
如果需要的话,分组不需要切换线路。在我们的仿真中,当这种情况
出现时,在新的线路中将正在切换的分组p视为任何新到达的分组进行对
待,并且特别地,p只有等到下一个帧时才会移动。这会在每个线路切换
中对SWC进行严重惩罚。我们感兴趣的是通过参数k来捕获的关于路径长
度的线路切换的有关端到端延迟的影响,该参数为连接路径的长度与线路
切换的次数的比率。由于原始NSF网络比较小,我们通过将每个链路替代
为长度为l的路径的方式来扩展所述NSF网络。这会允许刚刚定义的比率k
增加而不改变线路切换的数量。因此,在我们的仿真中,l大致代表上述比
率。
在NSF网络的每个实验中,构造100个连接。在每个连接中,将相同
数量ρT的分组在每个T时帧内注入朝向其它节点的每个终端节点中。如上
所述,当使用SWOC时通过最短路径来路由这些分组,并且当使用SWC
时通过分解线路来路由这些分组。仿真结果显示,对于较小的l(例如l=1),
SWC和SWOC具有相当的性能。然而,随着l增大(例如l=10),SWC
比SWOC提供显著改善的延迟,不论是平均的还是在最坏的情况下。下
列的表1中概述了值l=1、10时在实验中观察到的一些参数。从该表可容
易地看出,l实际上表现为比率k。因此,根据该表以及以上所描述的其它
结果可以得出,随着比率k的增加(例如,2.0/0.63<20.7/1.1),SWC比
SWOC提供更好的端到端延迟性能。
表1连接路径长度和线路切换数量
应当理解,介绍前述的详细实例是为了描述本发明特定实施方式的性
能优势,而且在实例中所作的假设并不必应用到本发明其它实施方式中。
如上所述,本发明实施方式的至少一部分可通过一个和多个软件程序
的方式来实现,这些软件程序可存储在存储器中或者网络设备的其它可读
存储介质或者通信网络的其它处理设备。诸如调度器210和线路分解模块
212的网络组件可至少部分使用软件程序来实现。另外,如前所述,替代
在每个独立的网络设备中实现这些组件,还可通过例如控制器104的集中
式设备来实现。
当然,依据本发明的所有系统元件都可采用硬件、软件或者以任意方
式相结合的软硬件的多种不同方式来实现。例如,本发明实施方式可通过
一个或多个现场可编程逻辑门阵列(FPGA)、特定应用集成电路(ASIC)
或其它集成电路设备以任意方式组合来实现。这样的集成电路,包括部件
及其组合,都是此后使用的术语“电路”的实例。
应当再次强调,以上描述的实施方式仅是为了示例性的说明,而不应
当被理解为任何限定。根据特定应用的需要,其它实施方式可采用不同类
型的网络、设备配置和通信媒介。因此,不同的实施方式可以在其它环境
中使用此处所描述的技术,只要在该环境中需要通过协调网络设备的激活
和非激活时段来提高通信网络的能量利用即可。同样,应当理解,在描述
示例性实施方式的上下文中所作的特定假设并不应被构建为本发明的要
求。本发明可通过其它没有应用上述特定假设的实施方式来实现。处于所
附的权利要求书范围内的这些或其它各种不同实施方式对本领域技术人员
来说都是显而易见的。