资源管理和调度技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
资源管理与分布式多媒体调度
一、多媒体流的资源管理
资源管理在分布式多媒体计算机系统具有很重要的作用,分布式多媒体计算机系统的资源一般包括处理机、内存、总线带宽、设备IO和网络带宽。由于多媒体本实时性的要求,以及其它一些Qos方面的要求使得传统的操作系统的一些资源管理已经不适应多媒体,如CPU调度算法、I/O总线管理等等。为此提出了一些多媒体资源管理模型,例如基于Qos保证的资源管理模型,基于节的分布式多媒体流的资源管理模型等。下面简单介绍一下基于节的分布式多媒体资源管理。
✧节的定义
节描述了一个连续多媒体流在网络上的执行过程,它使连续多媒体流在分布式系统中操作的时间段,包括了连续多媒体流传输必须顺序访问的资源:CPU、缓冲区、I/O带宽和网络带宽,是系统资源分配的管理的基本单位,如下图所示:
节的图形表示
有了节的概念过后,多媒体流就可以用节定义,设系统有n个多媒体流,节S i=(λi,T i, B i,d i,g i),i=1,2,…,n,其中
λi------多媒体流速率,定义为数据单元/秒,一个数据单元可以是一个视频帧或一组音频采样。
T i------一组线程τij(j=1,2,…,m i m i≥1),τij执行S i,τij定义为τij(p ij,e ij,x ij),p ij是线程执行周期,e ij是处理一个多媒体数据单元的执行时间,x ij是每个周期p ij内所处理的多媒体数据单元数。
B i------一组分配给S i的缓冲区b ij(j=1,2,…l i l i≥1),b ij定义为b ij(u ij,x ij),u ij为多媒体数据的存储单元,x ij为分配缓冲区得数据存储单元数
d i------I/O处理,完成S i的I/O操作,d i定义为d i(r i,a i,y i),r i是I/O请求周期,a i是一个媒体在外界形式下的数据单元,y i是每个周期r i中存取媒体的单元数。
g i------一组网络处理,完成S i的网络操作。
✧资源管理结构
由于多媒体流不仅要求保证稳定速率的各单一媒体流,而且保证媒体流间同步.提出了三级资源管理模型,如下图所示:
资源管理结构
系统资源管理,按节的方式为单一多媒体流分配资源和进行资源管理,按照应用对资源的要求决定是否执行,同步模型负责多媒体流间同步,将计算出的同步信息传给系统资源管理,调整节速率。
资源分配
在节模型中,线程、I/O处理和网络处理都是生产者和消费者.它们通过一个缓冲区产生和消费媒体数据。一个媒体流从产生到网络发送的生产者和消费者关系如图所示:
然后根据分布式系统中每个节的生产者和消费者建立平衡方程,根据平衡方程可以保证稳定的多媒体数据流,在这里方程就不列出了。
此外,基于节的多媒体资源管理还给出了实现多媒体流的同步问题。
二、前缀缓存
多媒体代理服务器是一种主要应用于Internet中的资源管理技术,它扩展了用户对Internet数据访问能力,使用户获得更好的Qos服务,例如减少了延迟时间,降低了服务器到代理服务器之间的网络消耗等。为了提高代理服务器的系统效率,缓存技术被引入到代理服务器中,例如前缀缓冲技术。
代理服务器必须要位于客户端和服务器之间,这样当客户端向服务器请求数据时,会经过代理服务器,代理服务器根据一定的授权截取该请求消息,然后代理服务器就可以根据一定的策略对客户端提出的请求作出相应的服务。
前缀缓存的流程如下:
线程、缓冲区、I/O处理和网络处理关系图
如上图所示:首先代理服务器缓存部分媒体节目流的一部分数据,当某个用户向服务器请求数据时,代理服务器截取该消息,然后将缓存的数据发送给客户端,同时代理服务器向服务器请求剩余的数据(预取prefetching),这样就减少了客户端得播放时间的延迟,而且代理服务器大多位于Internet的边缘,节约了从远程服务器到代理服务器之间的网络资源。
前缀缓存模型不需要服务器端作任何改变,但是代理服务器必须要有一个有效的策略去确认并存储相应的帧的序列号,例如RTP封装了包的序列号和时间戳等信息,这些信息使代理服务器可以确认这些帧序列号,并根据这些序列号来进行缓存调度并从服务器取剩余数据,也就是说当一个client请求视频时,代理服务器向服务器请求剩余的数据,而不是从头请求数据。
代理服务器中的前缀信息可以放在硬盘或者主存中,即使数据存储在低速的磁盘存储系统中,代理服务器也可以将它的一部分先放入主存中来降低磁盘访问的延迟。代理服务器给每个流主存的大小还取决于该流的流行度,下面是一般的用来分配缓存空间的例子:假设从服务器到代理服务器的延迟抖动为d min到d max,从客户端到代理服务器的延迟为s,那么代理服务器至少要缓存max{d max-s,0}大小的数据。
三、补丁算法改进:Catching and Selection Catching
Catching and Selection Catching算法是对补丁算法的改进,热门节目的点播用户较多,系统采取补丁流策略提高系统资源利用率;冷门节目的点播用户较少,系统在组播通道中采取服务器推模式循环播放节目。该算法可以更有效的利用服务器和网络的资源,同时不需要用户等待很长的播放延迟时间。
Catching
Catching将”server-push”和”client-pull”结合起来:周期性广播,client只能在规定的时间点才能加入组播组,导致了播放延迟。而catching的策略是当client 请求数据时,首先加入当前播放的组播组,同时直接向服务器请求一个单播通道来获取以前的数据,client直接播放从服务器取得的数据,缓存从当前组播通道中获得的数据。下面举个例子来说明Catching是如何工作的:
如上图所示,视频文件被分成A B C 大小相等d ,D 的大小为2d ,服务器为四块分别开辟了组播通道。当组播通道A 播放到t 秒时,client1加入该通道,那么此时client1一边从A 通道获取数据并缓存,另一方面向服务器请求一个单播通道来获取前t 秒得数据,当A 通道的数据接收完后,client 开始加入通道B 获取通道B 广播的数据,此时client1还在播放A 的数据;当接收完B 通道的数据时,Client1同时加入了通道C 和D 。 Seclective Catching
Seclective Catching 结合了catching 和controlled multicast 技术,为了决定何时用catching 何时用controlled multicast ,将视频按照一定的策略进行了分类,分为hot 和cold 。一个视频对象被视为hot 当且仅当满足下列条件:
*
*
1
/(2())1i
K i i i j K L f j λ=+>
-∑
对热门节目采用catching 提高系统资源利用率降低播放延迟,对与冷门节目系统采用controlled multicast 。 四、 参考文献
1. 刘玉贵,杨学良,《分布式多媒体计算机系统》
2. 张占军,杨学良,张靖,基于节的分布式多媒体资源管理,计算机学报,1988
(11)
3. Lixin Gao ,zhi-li zhang ,Don Towsley. Catching and selected catching : Efficient
latency reduction techniques for delivering continuous multimedia streams. Proc ACM Multimedia ’99, 1999
4. Sen S, Rexford J,Towsley D. Proxy prefix caching for multimedia streams. Proc
IEEE Infocom ’99, New York, NY, March 1999.