分布式系统概念和设计
分布式多媒体系统
QoS
QoS(Quality of Service,服务质量)是一种网络管理和控制技术,可以对网络流量进行管理和调度,以确保网络对不同类型的数据流的传输可以提供适当的带宽、传输延迟、抖动和可靠性。
QoS可以通过以下技术来实现:
- 网络带宽管理:限制不同类型的流量的带宽使用,确保网络带宽足够满足所有流量的要求。
- 流量控制:限制来自客户端或服务器的流量,防止网络过载或拥塞。
- 服务分类:将流量分成不同的类别,并为每个类别分配不同的带宽和优先级,以确保关键数据获得足够的带宽和响应速度。
- 基于时间的调度:通过设置延迟和帧顺序,防止出现数据包乱序和网络拥塞。
- 优先考虑:确保高优先级的数据包得到更快的处理和传输。
QoS可以在网络中实现更好的数据传输和响应时间,加强网络安全性和可靠性,提高应用程序的高可用性和性能等。
服务质量管理
服务质量协商
- 当处理和传输多媒体数据时三个参数
- 带宽
- 多媒体数据流或组件的带宽是数据流向的速度
- 延迟
- 延迟是单个数据从源流向目标的时间
- 当系统中数据量大小,以及负载中的其它参数发生变化延迟也会发生变化
- 这种变化被称为抖动——抖动是延迟派生出来的
- 丢失率
- 因为延迟数据是没有价值的,如果从源到目标的数据不可能进行传输或者超时,那么数据将会被放弃
- 为了应付高峰的数据,系统必须做好资源扩容的准备应对压力
- 容忍一定程度的数据丢失
- 带宽
为数据流设定QoS参数
-
带宽50Mbps,延迟150ms,丢失率在10的3次方帧
-
丢失率
- 最难指定的QoS参数,通常丢失率源于对缓冲区溢出和延迟信息的概率统计
- 要么基于最坏情况假设
- 要么是基于标准的分配
-
流量调整
- 描述用来使用输出缓冲来使数据元素流平滑这一方法的术语
-
漏桶调整
-
流的规范
- 最大传输单元和最大传输率决定了数据流所需要的最大带宽
- 令牌桶大小和速率决定了数据爆发量
- 通过应用程序可以发现的最小延迟和其它可以接受的最大抖动来描述延迟的特性
- 通过在给定时间间隔内可接受的总丢失率和可接收的最大连续丢失数目来定义丢失特征
许可控制
许可控制管理对资源的访问,以避免资源过载,防止资源接收不可能实现的请求。
涉及关掉那些与当前的QoS保证冲突的资源
一个许可控制方案是基于整个系统容量和每个应用程序产生的负载这两方面的知识。
资源管理
资源调度
调度算法必须管理影响所有应用程序的资源。
当一个系统从磁盘上读取数据,通过网络发送到目的地,目标地址机器通过合并其他来源的数据流合并。
这个例子中用到硬盘,网络,CPU,内存和总线
公平调度
- 多个数据流竞争同一个资源,系统需要处理资源时间分配过度的问题。
- 所有的基本轮转算法都为每一个数据流分配同样的带宽
- 基于权值的公平排队
流适应
流调整
如果在系统的目的地端执行流适应的调整,中间的任何负载都没有减少,系统仍然会过载。
系统需要在数据流经过瓶颈前就调整好数据流量以便顺利平滑的过度瓶颈,这被称为流调整。
- 流调整算法
- 时态调整
- 通过减少传输一个时间间隔的视频帧的数目,系统可以减少时间域中的视频数据流的分辨率
- 空间调整
- 在视频数据流中减少每一帧的元素数量
- 频度调整
- 改变应用于每个图像的压缩算法,图像质量下降
- 振幅调整
- 减少每个像素的颜色深度
- 颜色空间调整
- 减少颜色空间的数目
- 时态调整
流过滤
通过在从源端到目的端的路径上的相关节点上采用流调整技术
- 过滤需要一个数据流被分解成一个层次性的子流集合,其中每一个增加更高级别的质量
- 路径节点的容量决定了目的端接收到的子数据流数
- 其他的子数据流靠近源的地方就被过滤掉,这样就避免传输后来被丢弃的数据。
- 如果一个中间节点存在一条可以传输整个子流的向下路径,那么子流在这个节点就不会被过滤