论文部分内容阅读
流媒体应用有着与其他应用所不同的特点,在分析流媒体对存储系统的特别要求的基础上,深入研究了能大幅度提高其读性能的技术——改进的文件系统与RAID算法,设计并实现了其在嵌入式Linux操作系统上的具体方案。对当前市场上常见的RAID卡深入分析后发现,它们并没有针对流媒体的应用进行优化。流媒体的存储有其自身的特点,需要进行优化才能达到理想的性能,在流媒体应用中绝大多数是读请求,而且单个请求读数据块大小往往比较大,而常用的文件系统都只支持4K的块大小,现有的RAID卡显然不适合流媒体的应用。另外,流媒体应用中对数据需要顺序存储,这也是现在的文件系统需要改进的地方。基于以上理论分析,面向流媒体应用的存储系统将可以大大提高存储系统的性能。面向流媒体应用的存储系统包括几个子系统:文件系统、PCI设备驱动程序、RAID算法、SCSI驱动程序与管理控制子系统。这些子系统分布在两个硬件平台上,主机硬件平台是普通的PC机或者服务器,主机软件平台为Linux2.4.18,嵌入式板采用Intel iq80310,软件平台采用Montavista Linux2.1,各子系统均是以Linux内核驱动的方式实现的。流媒体应用的特殊性在于,读请求数据块往往比较大,而最频繁的I/O操作是读请求,原有的文件系统和MD都不支持超过4K大小的数据块,所以设计了专用的流媒体文件系统并改进了Linux下的软件RAID算法,可以支持64K的读I/O请求与4K写I/O请求。对本存储系统进行了全面的综合测试,采用两块双通道Ultra160SCSI卡,当采用RAID5时最高可以达到300MB/S的数据读速率与70MB/S写速率,达到了预计的设计性能。