580 likes | 738 Views
五、交换式网络实时通信的 保证机制和服务策略. PART 01. 引言 —— 网络作为被调度的资源. 网络(广义)的规模 I/O 总线、存储域网( SAN )、系统域网 现场总线 局域网(广播介质、空分交换)、广域网、电信骨干网 交换式网络 回顾第四部分 ——“ 共享介质网络 与 交换网络 的访问控制策略的异同 … ” 可调度实体的种类复杂,数量众多 需要 找到工程化的、系统的、综合的解决方案 使 应用任务 对 底层资源访问机制 的认知具有一致性. 引言 —— 实时保证. 提供“实时保证”( Real-time Guarantee )是一项系统工程
E N D
五、交换式网络实时通信的保证机制和服务策略五、交换式网络实时通信的保证机制和服务策略 PART 01
引言——网络作为被调度的资源 • 网络(广义)的规模 • I/O总线、存储域网(SAN)、系统域网 • 现场总线 • 局域网(广播介质、空分交换)、广域网、电信骨干网 • 交换式网络 • 回顾第四部分——“共享介质网络 与 交换网络 的访问控制策略的异同…” • 可调度实体的种类复杂,数量众多 • 需要 找到工程化的、系统的、综合的解决方案 • 使 应用任务 对 底层资源访问机制 的认知具有一致性
引言——实时保证 • 提供“实时保证”(Real-time Guarantee)是一项系统工程 • TAMU的课件[Bettati 2009] ——
管制(Policing, Access Ctrl. ) • 流量整形 • 面向连接的服务 • 虚拟链路 • 通信任务流 1 1 2 2 3 3 严谨的延迟/抖动参数计算 4 4 确定性数据包调度 • 实时通信连接的建立 • 准入控制(Admission Ctrl.) 引言——实时保证的机制 接收应用 发送应用 网络服务 流量模型 服务规程 服务规程 决定或 网路演算…
引言——实时保证的机制 • 连接(connection)的概念 • 面向连接 和 面向数据 • 面向连接的方法,为每个消息流(或消息流的集合)的传输设置了一个从源到目的的逻辑单工(simplex)的连接。 • 电信网 和 计算机网 —— “路”和“端” • 实时QoS——既关注“端”,也关注“路”
可行域(Feasible region) Q’best 请求域 (requested region) Q’worst 服务质量的请求域与可行域 引言——实时保证的机制 • 准入控制的概念 • 也叫作“接纳控制” • 流规格说明 • QoS Negotiation • 被接纳的连接信息 • 存储于连接的路径 • 被称为“descriptor” • period / interval • max length • service quanta / rate • max burst size • link deadline • 分配给该连接的资源
PART 1 概念,在网络演算中详细分析 提纲 • 实时流量模型——real-time traffic model • 实时通信服务规程的概念 • 调度器的参考模型 • 服务规程(service discipline)的分类 • 确定性数据包调度的服务规程 • WFQ及其扩展 • J-EDD和D-EDD • WRR及其扩展 • * IntServ 与 DiffServ
实时流量模型 实时通信服务规程的概念 确定性数据包调度的服务规程 WFQ及其扩展 D-EDD 和 J-EDD WRR及其扩展 * IntServ 与 DiffServ 五、交换式网络实时通信的保证机制和服务策略 2013
实时流量模型 • 到达速率 与 到达流量累计量 • a(t)和 A(t) • 设:时间段 I • 确定性到达流量描述器(descriptor) • 最大流量函数 • 最大速率函数 在一些文献中,习惯上以a(t)表示最大流量函数
实时流量模型 • 确定性流量模型 • 周期模型 (e, p) • 可延期服务/偶发服务模型 (es, ps) • Cruz R L的(σ,ρ)模型 • 漏桶(leak bucket)模型(λ,β) • Ferrari & Verma的FeVe模型 • Knightly & Zhang的D-BIND模型(Deterministic Bounding Interval Length Dependent) • 依赖于间隔长度的确定性界限
软实时约束作业的性能 以下模型 在 第3部分 的选讲部分,这里仅… • Cruz R L的(σ,ρ)模型 • 漏桶(leak bucket)模型(λ,β) • Ferrari & Verma的FeVe模型 • e:任务的最大执行时间 • p:任务的最小到达时间间隔 • :任务的平均到达时间间隔 • I:平均间隔长度
t t t • (σ,ρ)到达“流量”约束模型
λ • 漏桶(leak bucket)模型(λ,β) l:充值速率;b:漏桶深度;l= b/充值间隔 在一些文献中,也习惯上记为(L,E)。
确定性流量模型 之 • 串联漏桶模型
FeVe模型 • FeVe模型 和 漏桶模型的关系 • 推导: • 不失一般性:令e=1 • 漏桶约束 (Λ,E)
确定性流量模型 之 • D-BIND模型 • 其它模型对于突发度的描述不尽准确 • 由“速率——时间间隔”对表示 • 多个“rate-interval”对 —— (Rk , Ik) • “ 时间——累计流量”二维坐标中的点 • 其中Rk是长度为Ik的任意时间段中的最坏情况下的速率
如果有P对,则 FeVe 其它模型对于突发度的描述不尽准确 • 确定性流量模型 之 • D-BIND模型 (续)
实时流量模型 实时通信服务规程的概念 确定性数据包调度的服务规程 WFQ及其扩展 D-EDD 和 J-EDD WRR及其扩展 IntServ 与 DiffServ 五、交换式网络实时通信的保证机制和服务策略 2013
实时通信服务规程的概念 • 服务规程 包括 • 接受测试 与 准入控制协议 • 同步协议 • 调度算法(速率控制、速率分配…) • 延迟 和/或 抖动控制 • 数据包输出的派发 • 需要说明的是: • 延迟 和/或 抖动控制——实时通信的流控 • 不同于普通网络的流控,如TCP • 它们是完整的服务规程的一部分,而不是从调度和缓冲区管理分出来的独立部分,是实时通信的特殊要求。
实时通信服务规程的概念 • 输入链路端的调度器参考模型 规整 解复用 插入排队 队管理 优先级(或加权) 规整器 逻辑时间的计算 MUX De MUX 消息离开 消息到达 保持队列
实时通信服务规程的概念 • 规整器的作用 • 被称为Pre-Packet Processing • 原因:源流量满足某种模型约束,但中间节点会出现与流量模型不符合的情况…? • 计算逻辑到达时间li(k),不小于实际到达时间ai(k) • 第i条连接、第k个数据包 • 规整器平滑中间节点的数据包的到达过程 • 延迟早到的数据包 • holding time——吸收延迟的波动;restore操作 • 相当的调度开销 • 调度器休假——也相当于规整器的作用
规整器的作用 替代方法 用Re-Characterize 替代 Re-Shaping FY(I)=FX(I+dY) dY——服务器Y 的延迟 端到端延迟分析 例如:基本网络演算——元件分解法… 悲观的界限…?如何缓解? 实时通信服务规程的概念
服务规程的分类 持续工作 work-conserving 贪心 greedy 速率分配规程 Rate-allocating 满足其它连接保证的条件下,允许高于保证速率发送数据包。 非持续工作non-work-conserving 非贪心 non-greedy 速率控制规程 Rate-controlled 确保每条连接的保证速率,但不允许数据报得到超过其保证速率的服务。 实时通信服务规程的概念
实时通信服务规程的概念 • 服务规程的分类——其它分类考虑 • 从调度算法的设计思路 • Rate-Based • WFQ • PGPS (Packet Generalized Processor Sharing) • RCSP (Rate-Controlled Static Priority) • HRR (Hierarchical Round Robin) • S&G (Stop-and-Go) • Scheduler-Based • D-EDD、J-EDD • SRT (Smallest Response Time) • PCT (Preemptive Cut-Through)
实时通信服务规程的概念 • 服务规程的分类——其它分类考虑 • 从调度根据的参数 • Priority-Based Scheduling • 公平排队 • 虚拟时钟 • Earlier Due-Date • RCSP (Rate-Controlled Static Priority) • Weighted RR Scheduling • WRR • HRR (Hierarchical Round Robin) • S&G (Stop-and-Go)
实时流量模型 实时通信服务规程的概念 确定性数据包调度的服务规程 WFQ及其扩展 D-EDD 和 J-EDD WRR及其扩展 *IntServ 与 DiffServ 五、交换式网络实时通信的保证机制和服务策略 2013
确定性数据包调度的服务规程 • WFQ及其扩展 • 不可抢占的WFQ算法 • [Demers, Keshav, Shenker,1989] • 速率比例服务器(RPS)算法 • [Stiliadis D, Varma,1998] • 基于帧的加权公平排队(FWFQ)算法 • [Stiliadis D, Varma,1998]
§11.2.1 不可抢占的WFQ算法 • 通过控制数据包的优先级的方式,模拟“bit-by-bit Round-Robin”的情况 • 这类似于GPS服务器的理想模型 • 参数设置 • 对于连接i—— • 数据包的长度 ei • 链路带宽比例(“规模”) • 有积压连接的当前的总带宽 • 链路的完成数 FN
不可抢占的WFQ算法 • 完成数的概念 • 回顾… • 用 虚拟时间 代替 实际时间 度量截止期限 • 完成数(Finish Number, FN)——虚拟时间截止期限 • 含义:如果有积压的服务期按照GPS调度,完成数给出全部消耗掉服务器预算所需要的轮数(the number of the round)。 • 例如…
FN 40 36 32 斜率1 28.8 28 24 20 16 轮数:仿佛是以调度器的观点,确定的服务先后次序。 12 8 斜率1.6 4 25.2 29.2 0 18 t 4 8 12 16 20 24 28 0 在 三、非周期和偶发任务的调度 中可抢占的加权公平排队(rtsys2013-03P02:pp47) • 举例: • 以 “单位1”作为正常的轮长,t<18的时候,每轮的长度只有5/8,则: • 5 —— 完成8轮;18 —— 完成28.8轮 • 当t>18以后,轮长为1 • 虚拟时间 • 以调度器的“轮”数作为区分时间先后的依据
不可抢占的WFQ算法 • 考虑 • 就绪(ready)的数据包——每条连接的FIFO队列头部的数据包 • 对所有有积压(backlogged)的连接FIFO中就绪的数据包,根据完成数条目(fi , i) 进行优先级排队 • 其中: i ——连接的ID,fi ——该连接当前的完成数 • 并不需要将这些数据包移动到另一个队列中, • 只需对条目进行“最小完成数优先”(SFN first)排序,再根据SFN所对应的连接,进行数据包的派发(dispatch)操作
消息包派发的操作 • 不可抢占性 Non-preemptive • 当前正在传输的数据包的条目,始终放在SFN队列的头部,即使当前又出现更小完成数的新条目,亦不可抢占。 • 操作方法 • 链路由“闲” “忙”,调度算法计算到达数据包的完成数,条目入SFN队列,派发程序立即开始传输该数据包; • 链路“忙”,一个空闲连接上一个数据包到达,调度算法计算其完成数,条目插入SFN队列; • 链路“忙”,当前的数据包传输完毕,则 • 派发程序把它从对应连接i 的FIFO中移除,将它在SFN中条目移除; • 如果连接 仍然有积压,调度算法计算此时FIFO头部数据包的完成数,条目插入SFN队列; • 派发程序根据SFN队列头部的条目,决定相应连接的就绪的数据包进行传输。
不可抢占的WFQ算法 • 完成数的计算 • 调度算法需要维护 • 所有有积压的连接的总带宽Ub • 链路的完成数FN • 设 • 当前时刻—— t, Ub和FN被更新的前一个时刻 t-1 • 数据包的长度—— e,以输出链路传输该数据包的时间表示 • 数据包长度的规格化——不失一般性,设最大长度为1
不可抢占的WFQ算法 • 完成数的计算(续) • 初始化规则 • FQnp-I1:链路空闲时,FN=0,Ub=0,t-1=0,对每个连接,完成数fi=0。 • FQnp-I2:当长度为e,属于连接i的数据包到达,使链路“闲”“忙”,则: • 设 t-1=t; • ,将条目(fi , i)插入SFN队列。 • 在链路忙时,“补充”(replenishment)规则…
不可抢占的WFQ算法 • 完成数的计算(续) • 在链路忙时,“补充”(replenishment)规则 • FQnp-R1:对于连接i,如果原先空闲,现有一个数据包到达,则: • FN=FN+(t-t-1)/Ub,且将条目(fi , i)插入SFN队列; • 设置t-1=t,且 。 • FQnp-R2:对于连接i,当数据包完成传输时,则: • 如果该连接仍有积压,设此时就绪数据包长为e,则 ,将条目(fi , i)插入SFN队列; • 如果该连接变为空闲,则FN=FN+(t-t-1)/Ub,且使 t-1=t, 。
不可抢占的WFQ算法 • 调度的性能 • 时延 • latency——从 消息包到达FIFO队列头部 到 传输完成 • 不可抢占延迟,最大数据包长度“1” • 连接i中的最大数据包长度ei • 时延Li —— • 第一个交换节点上的最大延迟与队列长度 • 设到达流量满足 漏桶约束 (ui, Ei) • 忙区间:最坏情况突发Ei,且每单位时间到达 单位 • 最坏情况的FIFO排队延迟
第一个交换节点上的最大延迟与队列长度(续)第一个交换节点上的最大延迟与队列长度(续) • 考虑不可抢占的部分 • 连接i的第一个数据包会被阻塞1个单位时间,但随后它的FIFO队列总是有积压,所以不会再被抢占 • 所以: • 所需要缓冲区: • 最大队列长度(因为可以被阻塞1个时间单位) • 缓冲区
不可抢占的WFQ算法 • 调度的性能 • 最大端到端延迟 • 设置有第一级有(ui, Ei)漏桶约束,中间节点没有整形 • 设简单情况 ,同类交换 • 经过k个WFQ交换节点 • Pay Burst Only Once! 漏桶 到达和离开的累计流量 最慢离开第1台交换机 第2台交换机 第k台交换机 t
不可抢占的WFQ算法 • 调度的性能(其它稍为复杂的分析) • 当各交换节点的速率规模不一致时 • 分析最大延迟抖动…
不可抢占的WFQ算法 • WFQ服务器的优点——公平 • WFQ服务规程的缺点 • 实现复杂,每次调度决策时,更新计算完成数的次数可达O(n) • 与之相对——虚拟时钟(virtual clock)算法 • 不可抢占的 总带宽服务器 算法 • 但是不能保证公平性 • 解决:Stiliadias等学者的WFQ近似实现…
速率比例服务器 模型 • Rate Proportional Sever Model • 该模型的特点 • WFQ的近似实现 • 复杂度O(1) • 算法特性——有界的延迟、公平性 • 潜力(potential) • 某种时间参考量——完成数、虚拟时钟、偶发服务器的时限
说明:(对比) • GPS —— 所有有积压的连接与链路的潜力相等; • 虚拟时钟——链路潜力为当前时间t,而连接潜力等于或大于t,甚至可任意大于。 速率比例服务器 • 潜力 的性质 • 在链路忙区间,每个有积压的连接i的潜力πi(t)是t的非递减函数; • 在t时刻,链路潜力π(t)是t和恰好在t之前的现有连接潜力的函数; • 当连接空闲,潜力保持常量,当数据包在时刻t到达,而该连接(设为i)以前已经是空闲,则连接的潜力πi(t)=max(π(t-) ,πi(t-))。 • 为了满足 有界延迟,链路潜力必须满足 • π(t2)- π(t1) ≥ t2 – t1 ,其中t2、t1在忙期内,且t2 ≥ t1 • 对于每个有积压的连接i,有: π(t) ≤πi(t)
速率比例服务器(RPS)算法 • 这是一种理想化的算法,设: • 连接i得到链路带宽的一个比例 ,且 • 满足: π(t2)- π(t1) ≥ t2 – t1 π(t) ≤πi(t) • 并且如果连接i在区间(t1,t2]一直有积压,则 • 获得时间 • 含义:连接i的潜力的差值等于时间区间中获得的规格化服务。
速率比例服务器算法 • 最小潜力优先调度 • 理想模型: • 任意时间,有积压的连接上具有最小潜力的数据包,都依照一种无限小粒度的加权轮转进行传输; • 每个连接按照一个比率分配带宽。 • GPS模型是RPS模型的特例
基于帧的加权公平排队 • Frame-based WFQ(FWFQ) • 考虑:为什么WFQ具有复杂性 • 一个连接由闲变为有积压时,调度算法要更新潜力(完成数);反之亦然。 • 最坏情况下,每当数据包到达和离开,都要进行这种更新。 • FWFQ的调度算法用时间戳,并对各消息排队——与Virtual Clock算法几乎相同,但是:重新校准(recalibration)机制防止“饿死”! • 回忆与联想:公平性与饿死
在 三、非周期和偶发任务的调度 中可抢占全带宽服务器(2012-3p2:pp47)
基于帧的加权公平排队 • 重新校准机制——Recalibration • 调度引擎“周期性地”增加链路潜力,以使之接近于有储备连接的潜力;(!换个思想解决“隔山打牛”问题) ^)^ • 两次校准之间,链路潜力按照每单位时间加1的速率递增,等同于虚拟时钟算法中的链路潜力; • 调度程序确定何时重新校准,复杂度约O(n),但每次重新校准都是在上次基础上进行的。
基于帧的加权公平排队 • FWFQ算法的公平性 • Latency时间与WFQ相同 • 但是,帧的周期F,第k次重新校准,如果链路潜力小于kF,则该链路潜力增加到kF。 • 校准周期越大,越不公平; • Trade-off:公平性 与 开销。
一个空闲的连接,其潜力要么是0,要么是上次最后传输的数据包的潜力。一个空闲的连接,其潜力要么是0,要么是上次最后传输的数据包的潜力。 基于帧的加权公平排队 • 链路潜力的重新校准——起始 • 链路忙区间开始时,第0次校准,设为时间原点; • 校准的时刻为tk。 • 连接潜力超过帧边界的条件 • 对于有积压的连接, 满足:πi(tk)≥kF • 对于所有的连接, 满足: πi(tk)<(k+1)F • 链路潜力的重新校准——校准时刻tk • π(tk)=max(π(tk-) , kF) • 两次校准之间,链路潜力每单位时间加1 调度算法通过检查离开的数据包的潜力标记来确定这两个条件何时为真!