1、P2P流媒体系统能力研究流媒体系统能力研究答辩人:陈一帅2010年6月11日北京交通大学博士研究生答辩大纲 P2P流媒体系统简介 研究内容 实际系统测量 媒体块调度算法 对Flash Crowd的支持 对VBR的支持 总结和展望历史 起源于中国 2004,华中科技大学,香港科技大学, 成长于春晚 海外华人看春晚的最佳途径 逐渐获得研究界的关注 Sigcom 07 workshop Infocom 09 best paper 商业化于中国 PPLive,最流行的软件,上亿的用户,同时在线用户上百万 奥运直播 CNTV IPTV机顶盒系统组成与技术特点视频质量较好400kbps(标清)800kbp
2、s(高清)1.2Mbps(蓝光)网络规模大(百万人同时看一个节目)对服务器的性能和带宽要求低基于Buffer的P2P共享长度:几十秒到上百秒Buffer的滑动 本地播放完成 & 其它Peer不需要时,就Reject。大纲 P2P流媒体系统简介 研究内容 实际系统测量 媒体块调度算法 对Flash Crowd的支持 对VBR的支持 总结和展望实际系统测量 两部分: Buffer管理策略的测量 媒体块的传输性能的测量Buffer管理策略的测量 问题:对Buffer的管理策略依旧模糊不清 固定大小:Coolstreaming,BiTos 变化大小:Liu Yong PPLive测量方法 观察VBR时
3、缓冲区的变化 长度的变化 出口处的Rejection速度的变化测量结果 长度和速度成正比 出口处Rejection的速率随Media Server送出媒体块的速度变化而变化,且时延较固定固定时延Buffer?较难实现实现方法 所有Peer以同一个速度Reject同一个媒体块 该速度等于该媒体块的演播速度dq(t)/dt= r(t)g(t) dgtqtt)()(d (t)/dt=0固定时延缓冲 好处:- 自适应地Buffer Size调整- 有利于P2P共享。小结 测量了真实世界系统的固定时延缓冲区的性质,揭示了其实现方法。 这个连PPLive的人都没有想到,他们完全是无意中这么做的媒体块传输性
4、能的测量P2P的媒体块传播实际: alog2(N),a 1 a 越小,性能越好X(t) = 2tT = log2(N)测量的困难 传统测量方法 记录每个Peer的收到时间 统计出X(t) 问题:在P2P网络中难以收集大范围的稳定的数据 用户不稳定 网络规模大 缺少时间同步从Peer的Buffer填充情况推断整个网络中的媒体块扩散速度 用户Buffer的填充情况隐含了媒体块的扩散情况(Bitmap) Buffer位置 扩散时间滑动方向老媒体块新媒体块前提:CBR测量方法Pm:填充率1 。 0遍历性的验证测量结果的验证有m的人的比例小结 利用系统的特点 从单个用户缓冲区来Infer整个网络中的媒体
5、块传输性能 一叶而知秋 并和大范围的不稳定数据的结果进行比较 证明了从单个用户缓冲区能够大致推断整个网络的媒体块传播质量。该方法非常经济。实践表明该方法简单,高效,正确。大纲 P2P流媒体系统简介 研究内容 实际系统测量 媒体块调度算法 对Flash Crowd的支持 对VBR的支持 总结和展望背景 传统媒体块调度方法 先收集Bitmap 再调度(拿谁) Rarest First 【BT】 Greedy 【BiToS】 Random 【Yong】 问题: 回避了何时拿 定时困难 其实更难请求冲突带来的重试问题冲突,重试 带来延时研究P2P直播流媒体系统的新角度:随机接入、冲突解决的角度特点:1
6、)资源数逐渐增长2)先占式的冲突新视角下的新调度算法 类似Aloha,冲突解决办法 当发现媒体服务器送出了一个新的媒体块时,先指数Backoff 然后检查自己的邻居是否已经有了这个媒体块。如果有了,就去抢。如果没有,或抢失败了,就再指数Backoff 易于实现 调度和邻居是否有这个Piece独立:“盲” 不需要周期调度,没有定时的难题性能分析 扩散过程模型 PPLive实测结果*)(*)(ttebbNNttetXttbt)()(,),(),(),(mind)(dtptHbttwttwttwtbHttHa=1.23 ,1.40Heterogeneous网络中的推广用户类型用户类型上载带宽(上载带
7、宽(kb/s) 用户所占比例用户所占比例112820%238440%31 00025%45 00015%用户的上载带宽是不一样的Server应该优先给高性能节点送给哪个呢?送给哪个呢?初始Peer选择的性能分析 初始peer的性能越高,媒体块在网络中的扩散越快。和其他研究者的实验结果相符【Marco】基于随机接入,冲突解决的模型能够反映真实世界系统的特征。kijjjjikiikiiiijjjikiijxNpxNpxbcxNpxNpxbcdtdx1111第四类第一类高性能节点优先算法 先监视邻居或Peer的带宽分布 然后选择高性能的peer优先为它提供上载 问题 监视的成本大 不灵活:Peer的
8、不稳定导致带宽浪费我们的方法 从冲突解决的视角出发 上载带宽小的节点让一下 慢一点重试:请求速度随着带宽变化 晚一点请求:初始启动时间随着带宽变化 高性能节点自然地能够更早得到Piece,从而发挥它们的作用。 好处: 简单易行。不需要精确的带宽测量和智能Peer选择算法。性能 慢一点请求 平均传输时延减小了15.72%-28.12% 晚一点请求平均传输时延减小了63.17% 小结 从冲突解决的角度提出了盲随机媒体块调度算法,该算法简单,高效。并提出了慢节点让步算法,改进媒体块传播时延。 从随机接入,冲突解决的角度建立了媒体块传输模型,正确反映了真实世界中媒体块传输的规律。大纲 P2P流媒体系统
9、简介 研究内容 实际系统测量 媒体块调度算法 对Flash Crowd的支持 对VBR的支持 总结和展望背景 容量问题: 传统的能力分析关注稳定情况下缓冲区的大小和演播连续性的关系。Tlog2N Flash Crowd, VBR时系统的容量问题被忽略 但是这些都是非常常见、重要的问题直播中的Flash Crowd现象 PPLive财经频道的实测结果 11:30am和3pm,股市收盘时,大家涌入的现象。 原因 直播节目通常有预定的开始时间 定义 用户到达速度突然增加问题 新用户无法启动。短Session意味着用户无法启动与传统的认识相悖 传统认为P2P应对Flash Crowd的能力很强 Bit
10、Torrent原因 新Peer贡献少 不拿到一定数量的媒体块,不向外广播Bitmap。 严格从最老的拿起。Diversity不好 结果:新Peer太多,平均每个人得到的下载速度都不行,大家都拖着。模型ttadxcyR)(0)()(,minttdtx)()()()()()( tttx)()()()(tytttyttddddxxCdebe)(0)()()()()(启动过程:累积一定数启动过程:累积一定数目媒体块的过程目媒体块的过程启动节点数目启动节点数目启动节点数目的变化率启动节点数目的变化率稳定节点数目的变化率稳定节点数目的变化率仿真发现 系统具有一定的支持Flash Crowd的能力 但这一能
11、力是有限的小规模FC时能扛住(6倍)大规模FC时会崩溃(30倍)能力 能扛住的最大FC强度 与初始状态无关,能用速度的倍数来表示 与稳定Peer停留时长成正比。Power-law改进方法避免争抢,重点培养一个一个喂,喂起一个来,它就能够贡献byxuybybyxuyxuybydtdybyxbybyxxbydtdx, 0, 00, 0, 000结果 总能恢复稳定 恢复时间为O(logV),其中V是FC的强度第一阶段:第二阶段:小结 模型了FC下系统的动态 仿真发现了FC极大时系统崩溃的危险,研究了系统支持FC的极限 分析了问题的根本原因在于用户之间的冲突,证明了利用CAC方法解决用户之间的冲突后系
12、统支持FC的性能大纲 P2P流媒体系统简介 研究内容 实际系统测量 媒体块调度算法 对Flash Crowd的支持 对VBR的支持 总结和展望背景 VBR编码效果好 但对P2P系统是一个挑战 PP实验效果不好 但没有人研究过问题:速度增加时,单位时间内更多媒体块到达,使用户的下载带宽overload研究方法 我们以前的测量出现过速率变化的情况 以此切入研究系统中VBR时的动态质量评估速度增加时用户缓冲区填充率下降压扁平移原因分析 速率增长时下载速度变化不大 缓冲区下载位置曲线变化下载速度变化不大平移原因:平移原因:Fixed-Duration Buffer,Buffer Size增长增长压扁原
13、因:更多媒体块的出现使下载范围扩大,但总下载速度不变,所以幅度变小压扁原因:更多媒体块的出现使下载范围扩大,但总下载速度不变,所以幅度变小模型分析:稳定情况下的缓冲区下载位置曲线缓冲区填充率曲线缓冲区下载位置曲线求导0)(000101)( )(rtmebbrrtmebbrmpmtrmtrmb0)(0001rtmebbrtmebptrmtrmbm变化过程中的一种 连续变化:例:在20s内连续完成下载曲线的变化压扁平移mTrattratebbratTrTrTrattratmatebbratTrTratmtmtTatTratmtTatTratmb)/(11)/(110),(0000000000000
14、000缓冲区填充情况的变化 从100%变为了65% 对用户演播质量带来冲击todrmrmBtm0000, 0),(mtrebbtrmebmmBtrmtrmb00)(0000001000), 0(速率增加的幅度越大,冲击越大 幂率tTratttTTrooTratttTTrooooodtTrrdtTrrtTrBt100100, 0)(13012系统的自适应能力 自动恢复过程(缺乏模型) 提高请求速度,从而提高了下载速度提高下载速度提高下载速度带来的恢复重新站起来了恢复不了的补救措施 在800的缓冲区位置,进行一个补救措施。 兜底小结 测量了VBR时系统的质量问题 模型了VBR时用户下载曲线的变化,
15、由此模型分析了VBR时用户缓冲区填充率的变化情况的模型,揭示了问题,得到了VBR幅度和质量下降幅度的定量关系。 测量了真实世界系统在VBR下的自适应恢复过程和特殊补救措施。结论 实际系统测量 Buffer的Rejection算法 验证了遍历性质,从而可以从单个用户的缓冲占用分布,描述块在网络中的传播特征 媒体块调度算法 新观念:冲突解决问题 盲随机调度算法:去掉了定时的问题 不同能力用户的不同Backoff策略的算法:改进了性能 对Flash Crowd的支持 一个被忽视的重要的容量问题 建立了理论模型。证明了系统崩溃的可能性 提出了CAC算法,解决问题 对VBR的支持 观察到了VBR时的性能劣化和原因 建立了模型进行描述 发现了更多模型无法描述的有意思的现象,留待以后解决谢谢! 谢谢观赏