RSS

一种高效流媒体电影服务器的设计

  上述的设计是在硬件具有一个CPU的情况下,当系统硬件具有的CPU个数为n时(n>1,事实上做为流媒体服务器的硬件需求,一个CPU是远远不能满足系统需求的),程序将采用n个处理线程来分担事件线程调度的任务,利用系统的可扩展性来提高性能。

  2.4 性能分析

  新设计的方案充分发挥了指令局部性和数据局部性的优点。处理线程在处理队列任务时,由于队列中每一个操作所作的事都一样(如不停的发RTP包),因此每个操作的指令序列都是完全相同的;而且,当客户在连接后要求获得热点节目的媒体文件时,指令操作的数据也将非常相近,都在一个范围很小的区域内。这样,经过几次操作后,当指令被加载到Cache中,数据加载到内存中后,就不再需要从磁盘中去调,极大提高了程序的性能。

  新设计的方案可以实现流媒体数据在内存中连续存放,快速存取以及Cache预取,资源管理方式从以应用线程为中心的资源管理与分配转变为以数据为中心的资源管理与分配。

  衡量流媒体服务器的性能可以根据服务CPU的负载情况来衡量。CPU的使用情况主要和连接的客户数目,客户端的操作如读取,快进,搜索等相关。对于一个22kbps的文件集,改进的服务器设计方案与传统的服务器设计方案的性能优劣比较曲线,如图6所示。

  图6体现了随着CPU数的增加,传统设计方案的性能变化不大,改进的设计方案在多个CPU的系统里,充分利用了CPU所带的Cache的强大功能,CPU的总体负载明显下降,可以获得性能的极大提高。

 

3结束语

  本文从系统可扩展方面提出了实现高效的流媒体服务器的解决方案。除了系统可扩展方面,设计一个完善的高效流媒体服务器,还需要在实时的服务器操作系统,系统资源管理(CPU管理,内存管理,磁盘资源管理),文件管理,服务器磁盘调度方面进行高效的设计,这需要我们进一步研究和设计。

[时间:2010-08-14]
相关文章