服务器
流媒体服务器大比拼
网络流媒体服务在最近已经成为非常热门的一个话题,无论是电信、广电、还是新兴的ISP/ICP部门都对此非常关注,众多的厂商和技术机构都对此投入了比较深入的研究,国内运营商早在1996年开始就进行了有关VOD实验,目前其技术已经成熟,一旦有关运营的游戏规则制定,宽带用户接入全面铺开,网络流媒体应用将在短时间内掀起多媒体应用的飓风。为此,天极服务器栏目特地策划了运营级网络视频流服务器系列专题,从介绍运营级网络视频流服务器(以下简称视频服务器)的结构入手,分别介绍有线网络(HFC)、ATM网络、IP网络运营级流媒体服务的综合解决方案,最后对国内目前视频服务器做了评述。本文是此系列专题的最后一篇,主要介绍了目前主流流媒体服务器并对这些产品的各方面做了比较。
目前,高性能的流媒体服务器有美国nCUBE公司的nCUBE4,SGI公司的Origin2000和Origin3000系列,以及并行(Concurrent)公司的MediaHawk2000,以下从体系结构,系统性能,系统流媒体应用的参数指标等方面对它们进行比较,最后给出了各款产品各项指标的综合评分,以便大家对其综合性能有一个粗略的了解。
常见流媒体服务器体系结构比较
1.1 nCUBE4
nCUBE4是美国nCUBE公司在1999年秋季推出的第三代流媒体服务器产品,由于其第二代流媒体服务器nCUBE3(MediaCUBE系列)已经停产,这里不再介绍,有关介绍可参考前面HFC网络流媒体解决方案中的说明,这里只介绍nCUBE4。
nCUBE4采用了单节点机箱型设计,每个机箱是一个服务节点,称为MediaHUB,每个MediaHUB内部有一个PII CPU,4条Ultra2SCSI存储总线,5个用于外部网络吞吐的PCI网卡插槽,可配置IP,ATM和DVB-ASI网卡,一个专门用于节点间互连的向量加速处理(HAVOC)芯片,这个芯片就相当于用于节点互连的路由器(Router),该芯片挂在每个节点的PCI总线上,并有8条全双工1Gbps的链路用于连接其它节点上的HAVOC,各个HAVOC之间的互连采用超立方体(Hypercube)连接方式,最高可达到8维超立方体结构,共计2**8=256个节点(MediaHUB)的规模。图1给出了32个节点(5维)情况下的拓补结构图,一个路由器挂一个节点,图中仅画出了向量处理芯片(HAVOC)部分,其上连接的节点省略。
图1:32个节点的nCUBE4拓补结构图
所有的节点采用MPP方式互连,MPP方式使系统具有很高的可扩展性,由于其MPP是采用多地址空间的完全分布式系统,因此系统可编程性能变得比较差。nCUBE服务器从其工作行为来看应属于多计算机体系结构,属于大规模并行处理计算机(MPP),这种结构的并行计算机就像多个计算机(节点)通过一个无阻塞交换式互连网络组成的一个节点集合,每个节点都可以完成所有的应用功能(全职功能),但也可以根据需要完成某些特定的功能,如系统引导,重新启动,特定的I/O功能等,节点内部(局部)的内存、I/O可直接访问、但节点之间(全局)的内存、I/O不可直接访问,节点之间的内存和I/O访问通过特定的通信协议进行交互。这种计算机通过任务平均分摊的机制实现了集中式调度管理和分布式任务处理,使得任何应用都被极为平均的分摊到各个节点上去完成。
nCUBE的系统软件是其自身开发的基于u9fs文件系统的Transit操作系统,用于系统中非视频文件的访问和对视频播放进程的管理。.该系统是基于AT&T的Plan 9派生出来的,是类UNIX操作系统,所有的指令都几乎和传统的Unix雷同。Transit是一个轻量级的并行操作系统,具有最小化的内存消耗,nCUBE公司专门对这个系统进行了面向视频应用的优化,使得Transit成为了一个量身定制的系统,显得很小,这也使得系统对硬件资源的消耗可以最大限度的降低.这也为系统的稳定性和系统的可靠性提供了更高的保障.
Transit提供了一个超文本的系统设置界面和在线系统帮助,使得系统配置显得十分简单和方便!
Transit具有以下特征:
(1) 流水线化的内部代码路径
(2) HyperCube通信驱动软件
(3) 硬件级别的算法优化
(4) 类 Unix操作环境
(5) 专门针对视频的应用优化
(6) 可靠性和高性能
nCUBE使用了Oracle Video Server(OVS, Version3.1)作为视频播放软件,提供了大范围
增强性特征,如简化的启动和系统管理,完全的VCR控制支持,专门的可视化浏览和Oracle8I进行了完美的集成,还有专门的实时RAID技术和DVB支持,以及健壮的为分发成百上千个并发视频流而设计的解决方案。nCUBE具有在OVS上进行5000个并发流实际运行超过72小时的测试经验。
1.2 SGI Origin
SGI的Origin系列服务器是在其收购了Cray公司之后,两强联手的力作,这一款产品是将SGI公司的卓越的图形处理能力和Cray的并行互连技术紧密结合的产物。这一款产品推出后的不久,SGI公司又推出了积木化(Brick)设计的Origin3000系列,这两款高性能服务器都可以作为流媒体服务器使用,以下分别介绍其体系结构。
(1) Origin2000系列
Origin2000和nCUBE4在结构上有一些类似,但有部分差异,Origin2000的节点采用了双CPU设计,节点内采用了X-bar交换式总线设计,如图2所示:
图2:Origin2000,3000节点拓补结构
对于Origin2000,一个节点就相当于两个独立的计算机,节点间的互连和nCUBE的节点间互连方式不同,nCUBE4有8个端口用于互连,Origin2000的路由器只有6个端口,其中2个用于连接节点,只有4个可以用于互连,这种路由器之间的互连被SGI称为CrayLink,此外Origin2000还有一种路由器专门用来进行路由器之间的互连,称为中间路由器(Meta-router),具有4个端口,两款路由器每个端口的带宽为全双工1.6GB(采用HiPPI6400互连标准),每个方向为800MB。所有的路由器的连接和nCUBE有微细的差别,在0~4维时都是超立方体结构,但在第5维开始,Origin2000采用了厚超立方体结构,如图3所示:
图3:64节点(128CPU)的Origin2000拓补结构图
图中与节点相接的路由器有32个,而中间路由器有8个,这种厚超立方体结构是SGI与nCUBE体系结构细微差别的地方,可以看出,SGI的设计比nCUBE更加密集。
在节点物理结构的设计上,SGI采用了将4个节点(8CPU)为一个机柜/台式单元的设计,其中每个节点有1.6GB的系统存储带宽用于连接I/O设备,每两个节点公用6个XIO设备(用于HiPPI到PCI 32/64总线或VME总线转换的适配),整个机柜单元有12个XIO插槽,用于插网卡或存储设备卡。
(2) Origin3000系列
Origin3000系列的体系结构在origin2000的基础上进行了革命性的设计,将CPU,存储,网络输出,XIO到PCI/VME的转换,以及内部节点间互连设计成一个个功能单元,系统可根据用户的需求任意定制,这就是积木式结构,有以下几种积木式结构单元:
R-Brick: 路由器模块,提供6端,8端,4端3种型号的路由器,4端口的路由器是用于路由器之间进行互连的中间路由器,每个路由器端口的速率为全双工3.2GB,这将Origin2000的路由器端口性能提高了一倍。
C-Bricks: 处理器(CPU)模块,可插2或4片R12000或R14000处理器,提供4个内存插槽,支持512M,1G,2G 3种内存条,支持4路插页式内存组织,整个模块有3.2GB的内存通信速率。
I-Brick: 输入输出(I/O)模块,提供2个USB和100Base-T接口,1个IEEE1394和串口,一个FC通道,用于磁盘驱动器的接口,提供2个66M(64位)和3个33M(64位)的PCI总线插槽,总带宽2.4GB/s。
P-Brick::PCI扩展模块,提供12个66M(64位)的PCI总线插槽,带宽峰值为3.1GB/s.
XIO-Brick: HiPPI适配插槽,提供4个XIO槽,总带宽1.6GB/s
D-Brick: 存储模块,具有66Mhz的1Gb带宽的FC通道,支持SAN,可接12个3.5’’磁盘,存储带宽为200MB,单盘磁盘容量为18,36,73GB
G-Brick: 图形处理模块,用于图形处理工作站onyx3000系列,这是用于SGI的图形处理服务器,与流媒体服务系统的关系不大。
Origin3000采用了更高密度的节点和节点连接设计,内部总线的设计和Origin2000类似,但总线带宽除了用于I/O处理的XIO部分是2.4GB/s以外,其余的带宽都变为Origin2000的两倍,达到3.2GB/s,如图2右上图所示,每个节点配置了4片CPU,同时将4个节点连接在一个路由器上,Origin3000的路由器增加了一款8个端口的路由器,其中4个用于连接节点,有4个可以用于互连,用于路由器之间的互连SGI称为NUMALink,此外Origin3000同样有一种路由器专门用来进行路由器之间的互连,称为中间路由器(Meta-router),具有4个端口,两款路由器每个端口的带宽为全双工3.2GB(采用HiPPI6400互连标准),每个方向为1.6GB。所有的路由器的连接和nCUBE有微细的差别,在0~4维时都是超立方体结构,但在第5维开始,Origin3000采用了厚超立方体结构,如图4所示:
图4:128节点(512CPU)的Origin3000系统拓补图
Origin的体系结构促使SGI开发出了顺应SMP结构的可编程性好,也同时体现其多处理器结构的计算机的特性的内存组织结构,这种结构就是分布式共享内存(DSM)ccNUMA体系结构,在基于ccNUMA的Origin系统中,分布式内存相连接形成单一内存,内存与内存之间没有页面复制或数据复制,也没有软件消息传送。ccNUMA只有一个单一内存空间,存储部件利用硬件进行物理连接,这样一来,整个系统具有所有内存直接寻址,所有I/O直接寻址的功能特性。系统不需要软件来保持多个数据拷贝的一致性,也不需要软件来实现操作系统与应用系统的数据传输。,ccNUMA结构必须解决高速缓存的一致性问题,因为所有内存都被当作一个逻辑上的全局内存来处理,而这个内存可以被所有的CPU访问,因此必然要处理内存访问冲突的问题,这就需要一种全局内存管理机制,即需要一段专门的内存用来维持高速缓存目录的一致性。总的来说,分布式共享内存通过附加的解决访问冲突的内存开销和通信协议,换来了极大的内存访问灵活性,使得内存对CPU来说是完全可访问的,CPU不用太多关心内存的实际物理位置(在哪个节点),这种全局可寻址特性使得资源可以在不通过复制的情况下就被访问,带来了极大的编程灵活性,将SMP的编程性好的特点和MPP的可扩展性好的特点结合在一起,而将SMP可扩展性差和MPP可编程性差的弱点丢弃,这就是可扩展对称多处理机结构(SSMP)。
SGI的系统软件是其自己开发的基于xfs文件系统的IRIX6.5,IRIX是一种UNIX操作系统的版本,最初IRIX是SGI为其图形工作站而设计,为将IRIX移植到Origin上,SGI特意为IRIX做了并行化处理等许多工作,同时也去掉了其用于图形处理的许多功能,但不管怎么说,IRIX是一个很庞大的系统,由于其面向通用目的的特性,在某些专门的应用中实际上顺带引入了很多额外的资源开销,造成了部分硬件资源的不必要浪费。
SGI最初自行开发了一款流媒体服务软件MediaBase,但从使用效果来看,MediaBase远远没有将其硬件性能发挥出来,市场和用户的反映也不是很好,因此,SGI在最近也将视频流播放软件全面转向了OVS,和nCUBE不同的是,SGI是集成的ThirdSpace公司的OVS视频播放软件,因此,从软件上说,两家公司已经走到同一起跑线上了,但Third Space公司的OVS和nCUBE公司的OVS都是从Oracle公司购买得到的,两者的性能优劣目前还没有定论。
1.3 MediaHawk2000
MediaHawk2000是美国并行公司推出的部门级流媒体服务器,尽管并行公司有悠久的历史,但其计算机离超级计算机还有很长的距离,所以其服务器仅仅是基于工作站的服务器,其MediaHwak是基于SMP体系结构的计算机,采用模块化设计,一个服务器单元称为交互式视频模块(IVM),每个模块带自己的CPU,以及网络输出接口,称为一个数字视频组(VA),每个IVM可具有存储通道,用于连接磁盘阵列。两个VA的组合称为DVA。在组建更大的系统时,就需要多个独立的DVA/VA进行叠加,这些DVA/VA之间通过100M以太网连接,用TCP/IP方式通信和交换数据,是一种完全松散的系统组织结构,DVA之间的数据没有实现在系统级共享。Mediahawk2000的体系结构如图5所示:
图5:MediaHawk2000的结构
MediaHawk2000系统软件采用专门的嵌入式实时操作系统,视频应用软件也是自己开发,其服务器视频播放软件的独特之处就实支持可变帧大小(VFS)技术,支持变位速率(VBR)编码数据以降低消耗并提供连续的视频流。MediaHawk视频服务软件包括MediaHawk Video Pump(视频泵)用于从磁盘读取视频数据向前端网络输出,包括MediaHawk Video Manager用于控制视频流分配到各个Video Pump上去。
1.4 体系结构点评
nCUBE公司和SGI公司的流媒体服务器都代表了未来运营级流媒体应用的方向,不同的是,nCUBE公司的系统是一个专门为流媒体系统定制的系统,而SGI的服务器除了流媒体应用外,还可以用于事务处理和科学计算领域,对并行公司的服务器而言,由于是SMP体系结构,并采用松散耦合,基于SMP部门级应用的定位,其服务器不适宜作大规模应用的组网,就体系结构而言,以下是对这几款服务器的印象评分:
nCUBE4: ★★★★★
SGI Origin2000:★★★★★
SGI Origin3000:★★★★★
MediaHawk:★★★
全部0条评论
快来发表一下你的评论吧 !