




已阅读5页,还剩59页未读, 继续免费阅读
(计算机系统结构专业论文)面向视频服务器的高性能存储系统研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要+ 随着视频数字化技术的广泛应用,视频服务系统中的存储“瓶颈”也日益突出。 因此,如何实现高性能的视频存储系统成为人们研究的热点a 目前,提高存储系统性能主要有两个切入点:提高磁盘阵列( r a i d ) 的性能; 改进存储体系结构。 在分析h u s tr a i d 的系统结构、实时工作模型及其实际应用中视频数据特点 的基础上,确立了预取、并行的思路,研究了与之相关的旦q 塑鏖篡鎏、缓存策略。 在常规阵列系统的基础上,提出采用预取技术,同时优化任务调度,最终实现了笋 行预取阵列系统。通过性能测试,在连续操作环境下并行预取阵列系统的性能优于 常规阵列系统。 陪统的基于主机的存储结构中,大量的视频数据传输必须依赖主机与盘阵列相 连的数据总线s c s i 通道数率,这将导致视频服务器的慢速响应,同样也由于i l o 通道的限制,传统的存储系统扩展性和安全性差,这些都是导致存储结构由基于主 机存储结构向网络存储结构进展的主要原因。存储局域网s a n 是网络存储结构的典 型代表,它把应用流量从存储器流量中分离出,使服务器从繁杂的数据存储处理中 解放出来,也相应提高了服务器性能,是视频存储系统的首选。此外,视频服务系 统的两种s a n 存储解决方案被提出。y 实时操作系统具有任务间快速切换、移植性好、操作系统核心小等优点在 口s o s + 操作系统下构建s a n 具有更加独特的优势,特别是其网络组件的p n a + i 勾存优 化处理进一步提高网络处理速度。最后,以实例分析了网络接口n i ( n e t w o r k i n t e r f a c e ) 的工作原理。 斑讯黻侈哭;并秒一谬;拶 本项目受国家自然科学基金( 6 9 9 7 3 0 1 7 ) 的资助 华中科技大学硕士学位论文 a b s t r a c t + w i t ht h ep o p u l a ra p p l i c a t i o no ft h ev i d e od i g i t a lt e c h n o l o g y , t h es t o r a g eb o t t l e n e c ko f t h ev i d e os e r v i c es y s t e mi sb e c o m i n gi n c r e a s i n g l ys e r i o u s h o wt oi m p l e m e n t t h ev i d e o s t o r a g es y s t e m w i t he x c e l l e n tp e r f o r m a n c ei sb e c o m i n g t h eh o ts t u d ys p o t a tp r e s e n t ,t h e r ea r et w om a i nw a y st oi m p r o v et h ep e r f o r m a n c eo fs t o r a g es y s t e m : i m p r o v i n gt h ep e r f o r m a n c e o fr a i d ( r e d u n d a n ta r r a yo fi n d e p e n d e n td i s k s ) a n d i m p r o v i n g t h ea r c h i t e c t u r eo f t h et r a d i t i o n a ls t o r a g es y s t e m t h ea r c h i t e c t u r eo ft h eh u s tr a i da n di t sr e a l t i m ep r o c e s sm o d e la r es t u d i e d t h r o u g ht h ea n a l y s i s o ft h ec h a r a c t e r i s t i c so fv i d e od a t ai n p r a c t i c a la p p l i c a t i o n , p r e f e t c h i n ga l g o r i t h mb a s e do nr a i d i sp r o p o s e d i nt h em e a n t i m e ,t h et a s ko f f e t c h i n g d a t af r o md i s ka n dt h et a s ko fr e n a m i n gt h ed a t ap r e f e t c h e dt oh o s ta r ep a r a l l e l t h e p a r a l l e lp r e f e t c h i n gr a i ds y s t e mi si m p l e m e n t e de v e n t u a l l y i th a sb e e nd e m o n s t r a t e d t h a tt h ep e r f o r m a n c eo ft h en e wr a i ds y s t e mi s s u p e r i o rt ot h a to ft h et r a d i t i o n a lo n e u n d e rt h ec o n t i n u o u so p e r a t i o n se n v i r o n m e n t o nt h eo t h e rh a n d i nt h et r a d i t i o n a ls e r v e r - a t t a c h e ds t o r a g e ,t h el i m i t a t i o no fi o c h a n n e l ,s c s i ,m a k e st h et r a d i t i o n a l s t o r a g es y s t e mr e s p o n ds l o w l y a n dl a c kt h e s c a l a b i l i t y , r e l i a b i l i t y b ys e p a r a t i n gt h ed a t af l o wo f t h ea p p l i c a t i o na n dt h ed a t af l o wo f s t o r a g e ,s a n ,s t o r a g ea r e an e t w o r k ,r e l e a s e st h ev i d e os e r v e rf r o mh e a v yd a t as t o r a g e p r o c e s s t h e r e b y , s a ni st h ep r e f e r r e dc h o i c ef o rt h ev i d e os t o r a g es y s t e ma n dt h et w o s a n s t o r a g es o l u t i o n sf o rt h ev i d e os e r v i c es y s t e ma r eb r o u g h tf o r w a r d i nt h ee n d ,f o rt h ee x c e l l e n ta d v a n t a g e so f p s o s + ,t h e b l u e p r i n to fb u i l d i n gs a n i n p s o s + i sp u tf o r w a r da n dt h ew o r k i n gp r o c e s so f n i ,n e t w o r ki n t e r f a c e ,i sa n a l y z e d k e y w o r d s :c o n t i n u o u sm e d i a ,r a d ,p a r a l l e lp r e f e t c h i n g , i os c h e d u l e ,s a n + s u p p o r t e d b yn a t i o n a ls c i e n c ef o u n d a t i o no fc h i n a u n d e r g r a n t6 9 9 7 3 017 一一 n 华中科技大学硕士学位论文 1 绪论 1 1 课题背景 近年来,随着数字技术以其无可比拟的优越性在视频播放领域得到越来越广泛 的应用【”,比较典型的包括视频数字化,电视节日的数字化采编、存储和自动播出, 还有互联网上方兴未艾的流式视频媒体播放等,导致视频数据量呈爆炸式增长,这 对视频存储系统提出了更高的挑战。因此如何实现高效能的存储系统成为最迫切的 问题之一。 外存储设备的研究者们致力于采用各种技术提高外存储设备的性能和容量。通 过采用磁阻、巨磁阻技术,提高磁记录密度。通过提高主轴转速提高数传率并减少 旋转延迟。在控制算法上,采用各种调度策略和c a c h e 技术来提高磁盘驱动器的综 合响应性能。磁盘阵列技术则采用并行i o 技术,将多个独立的磁盘驱动器组织成 一个大的逻辑驱动器,从而可提供较大的存取带宽。它采用分块技术把数据分块存 放在多个磁盘驱动器上,大块连续的数据可通过多盘并行处理来获得较高的数传 率,小块数据则各盘单独并发处理。 尽管做出这些努力,存储系统仍然是视频服务系统中的性能“瓶颈”。目前我们 所用的磁盘阵列没有如何针对应用来做优化,而且传统存储系统结构有难以实现长 时间提供高带宽、可扩展性差、安全性差等弊端。然而视频服务等请求密集的应用 对于这些问题提出了很高的要求,所以如何打破传统的客户服务器模型,提出新的 结构成为人们研究的重点。 本文主要的研究目的是针对电视台视频服务系统应用( 如图1 - 1 ) ,来提高其存 储系统的性能。 华中科技大学硕士学位论文 图1 1 电视台数字化全自动视频服务系统 图卜l 注释:视频服务系统的结构由上载( 输入) 部分( 包括数字录像机、模 拟录像机等) ,输出部分( 包括视频输出设备、磁带、d v d 等) 和视频播放部分( 视 频服务器构成) 通过于兆以太网连接构成。 1 2 国内外概况 1 2 1 视频数字化与存储方式 数字视频就是先用摄像机之类的视频捕捉设备,将外界影像的颜色和亮度信息 转变为电信号,再记录到储存介质( 如录像带) :播放时,视频信号被转变为帧信 息,并以每秒约3 0 帧的速度投影到显示器上,使人类的眼睛认为它是连续不间断 地运动着的。电影播放的帧率大约是每秒2 4 帧。 传统的视频数据保存方法是将记录有内容的录像带、光盘等贴上标签放在库房 的架子上,以后在此基础上人们逐渐开发了计算机的管理应用系统,即将原来记 录在卡片上的文字说明迁移到了计算机上,卡片式的管理形式换成了利用数据库的 2 华中科技大学硕士学位论文 管理,此时视频数据及其它多媒体数据的存储在原有的基础上已有了一个大的飞 跃,检索工作效率被提高了许多。但是这种方法对于计算机系统的应用仅限于数据 库内容检索,在计算机技术高速发展的现在,并没有充分利用到先进技术的优越性。 同时,传统的录像机带技术也在不断的发展,影音质量不断提高,随着设备的升级 换代,不可避免的要进行存储内容的整理转录工作,可是在传统的模拟设备上进行 这种工作开销太大,要耗费很多时间和成本,已经不能适应目前的需要。 数字化的存储不仅克服了传统模拟数据存储的一些弊端,更重要的是极大的方 便了视频信息的高质量存放、3 n q - 和发布,充分实现数据的共享和重复利用,这也 是数字式存储得到了广泛应用的重要原因。 当前的数字视频信息的存储方式主要有”1 : 1 ) 类似于传统的存储方式,但是采用数字格式,避免了模拟视频数据在多次 复制后引起质量下降,然而在应用上却没有突破,无法进一步采用计算机系统的其 它先进技术。 2 ) 将数字化后的视音频数据迁移到数据流磁带中去,摆脱传统的视音频的概 念,以数据文件方式存储,实现视频数据的快速访问。 3 ) 使用磁盘光盘磁盘阵列,所有视频数据以文件方式存储在系统内,可以 快速便捷的检索到所需的内容,和计算机系统结合最为紧密,可以充分利用到先进 的计算机网络和数据处理能力等。其前提是计算机系统的外存储器容量价格比足 够高,随着现在硬盘技术的不断进步,生产成本的不断降低,这个前提条件已经逐 步被实现。 4 ) 在磁盘磁盘阵列存储体系的基础之上建造的网络附属存储和存储局域网 ( 我们将在第四章进行详细介绍:s a n 与视频播放系统的结合) 。 事实上当前的海量数字式视频存储媒介的选择0 1 已经倾向于磁带库、光盘库和 磁盘阵列。可改写光盘库成本仍然很高,磁带库和磁盘阵列两者在视频服务上各有 特点。磁带库可以提供容量价格比更高,但同时又因大的访问延迟和低带宽限制 了服务。磁盘阵列在访问延迟、带宽上有很大优势,然而价格偏高。但当用户数显 著提高时,以磁盘阵列为基础的系统其单位用户代价将会低于以磁带库为基础的结 构。本文所研究的存储系统是以磁盘阵列为基础。 华中科技大学硕士学位论文 i 2 2 视频存储系统的i l o 瓶颈 音频和视频这一类数据是由连续的存储粒子( 如音频的每一个取样,视频的每 一帧) 组成,这些数据粒子只有准时到达才有意义。所以与普通的文本数据服务器 相比,这一类针对连续介质( c m ,c o n t i n u o u sm e d i a ) 的服务有本质区别,主要表 现在以下方面: 1 ) 实时存储和恢复数据。音频数据的间断会导致爆破声,视频数据的不连续 会导致掉帧,甚至无法观看。如果是有配音的电影片段,声音和图像也必 须同步。这一切都要求存储和恢复数据实时进行。 2 ) 大容量的存储空间。当前数字化视频实际实施时主要运用了m - j p e g 和m p e g , 在m p e g 一2 ”3 标准中为了适应各种图像格式,分成了四种等级。其中,”高等 级”及”1 4 4 0 等级”是用于高清晰度电视的格式;主等级( m l ,m a i nl e v e l ) 是 标准清晰度电视的主要格式,与i t v r 6 0 1 标准一致,低等级( l ) 是与m p e g 一1 “3 兼容的3 5 2 x 2 8 8 ( 或3 5 2 x 2 4 0 ) 的格式。i p e g 一2 视频压缩基本采用离散余弦变 换及具有运动补偿的帧间预测编码方式。实际采用的压缩比大约为2 0 一3 0 之间。i t u rb t 6 0 1 建议的取样频率:亮度信号为l 3 5 m b p s ,色度信号r y 、 b - y 均为6 7 5 m b p s ,即所谓的4 :2 :2 取样。以此为准,4 :2 :2 视频压缩信号 的码率、硬盘容量及存储时间的关系如表卜l 所示: 表l 一1 最大录像时间( 目前采用最多的是5 0 m b p s 码速) 硬盘容量( gb y t e s ) 码率 压缩率 l g b2 g b 4 g b9 g b 1 6 6 m b p s1 :l0 8 分1 6 分3 2 分7 2 分 9 0 m b p s 1 8 :l 1 _ 5 分3 0 分5 9 分1 3 3 分 5 0 m b p s 3 3 :l 2 7 分5 3 分1 0 7 分2 4 分 2 5 m b p s 6 6 :l 5 3 分1 0 7 分2 1 3 分 4 8 分 1 0 m b p s 1 7 :l 1 3 3 分2 6 7 分5 3 3 分2 小时 5 m b p s 3 3 :i 2 6 7 分5 3 3 分1 8 小时4 小时 由表卜l 不难看出存储在数字化视频处理中所处的重要地位。而对于视频 服务系统来说,存取视频数据的方式是衡量系统性能优劣的基础。 3 ) 高数据传输率。数字音频和视频的回放需要很高的数传率( 见表1 2 ) 华中科技大学硕士学位论文 表1 2 各种数字化媒体对数传率的需求 数据类型规格数据率 低质量的音频数据单通道,8 位取样,取样频率8 k h z 6 4 k b s m p e g 压缩的音频数声音质量与激光唱片相同 3 8 4 k b s 据 高质量的音频数据双通道,1 6 位取样,取样频率 1 4 m b ,s 4 4 1 m m p e g 2 压缩的视频 6 4 0 4 8 0 像素帧,2 4 位像素 3 3 6 m b s 数据 n t s c 制式的视频数 6 4 0 4 8 0 像素帧,2 4 位像素 2 1 6 m b s 据 高清晰度电视的图象 1 2 8 0 x7 2 0 像素帧,2 4 位像素6 4 8 m b s i 2 3 存储系统i o 瓶颈的主要解决方法 传统的技术不能满足严格的实时性和大容量要求,其技术“瓶颈”特别反映在 网络带宽、文件系统和存储设备i o 性能这三个方面,即要求网络有足够的带宽、 存储系统有充分的i 0 速率来保证视频数据传输。 磁盘阵列技术( r e d u n d a n ta r r a y so fi n e x p e n s i v ed i s k s ,r a i d ) s - 7 1 是解决计算机 外存i o 瓶颈问题的有效方法之一。磁盘阵列( d i s ka r r a y ) 是由一个硬盘控制器 来控制多个硬盘的相互连接,使多个硬盘的读写同步,减少错误,增加效率和可靠 度的技术。而r a i d 是通过磁盘阵列与数据条块化方法相结合,以提高数据可用率 的一种结构。常用的r a i d 级别有r a i d0 、r a i d1 、r a i d2 、r a i d3 、r a i d4 、 r a i d5 4 。提高磁盘阵列性能有多种方法“”。“,如充分利用磁盘带宽、平衡多盘的 负载、减少奇偶检验数据存取时间和磁盘阵列c a c h e 技术等。 然而,高效能的存储系统的实现则要从多个方面来考虑,包括存储器自身、存 储子系统结构、存储子系统在整个应用系统中的使用方式。下面是存储系统i o 瓶 颈的主要解决方法: 1 ) 磁盘本身的改进 从硬盘的工作原理可以得知,硬盘的i o 操作有相当大的一部分是由机械装置 华中科技大学硕士学位论文 所控制,如:步进电机控制磁头寻道,主轴马达控制盘片的旋转等等。这些机械装 置性能的好坏直接影响着磁盘处理i o 的速度。我们知道i o 请求的响应时间由三 部分组成:寻道时间、旋转等待时间和数据传输时间。要加快i o 处理速度,首先 从这三部分寻找突破口“。 减少寻道时间。采用的方法:改进电机的设计,提高音圈电机的比推力,加 快电机的运动速率;使用新型材料,减轻运动质量;缩小硬盘的盘径,提高道密度, 减少寻道移动距离;采用数字式控制等等。 减少旋转等待时间。采用的方法:提高磁盘的旋转速度;采用空气轴承,减 少转动阻力;使用高性能的磁性介质,表面做得更光滑,选择质量更佳的盘基:降 低磁头高度。 减少数据传输时间。采用的方法主要是提高存储密度和磁盘转速,二者综合 起来以提高数据的传输率。 2 ) 优化调度策略 磁盘i o 请求进入请求等待队列后,一旦被调度,请求的响应时间就是一固定 值,处理时间缩短的程度全部由磁盘性能改进的多少来决定。目前,尽管人们对硬 盘本身进行了众多的改进,硬盘本身处理速度的提高仍十分有限,远远满足不了要 求。为进一步提高i 0 处理速度,必须从磁盘i 0 的整体性能进行改进。应用环境 的不同,调度策略的选择也不同,常用的策略有: 先到先服务f c f s “”。调度的次序按i o 请求达到的先后来确定。 单向s c a n 。从当前磁头的位置开始向一个方向扫描,完成这个方向的 所有请求后,再回头向反方向扫描,调度其它的请求。 异步i o 重叠技术。采用先读后写策略,利用i o 请求对应数据的连续性, 预先读进将要读取的数据,后写保证写操作的连续,提高i o 效率。 目前,调度策略的优化手段集中在两个方面:使用命令缓存,将命令按寻道 时间最短的原则来排序;利用多盘并行操作。今后,调度策略优化的方向是进一 步缩短定位时间,在达到零延迟的同时,解决并行数据传输的问题;合并多个命令, 减少随机操作的可能性。 3 ) 高速缓存和预取 i o 瓶颈的症结主要在于速度的不匹配,c a c h e 技术的使用正是为缓冲磁盘存 华中科技大学硕士学位论文 储速度和主存的速度差。为了最大限度地提高存储速率,人们在主存和磁盘中各设 有单独的c a c h e : 磁盘c a c h e 。“”设置在硬盘内,大小在3 2 k b 到1 m b 不等。硬盘c a c h e 有两个作 用:多个硬盘有可能共享单一通往c p u 的通道,c a c h e 起着盘速与总线速度的匹 配作用。为避免占用总线更多的时间,硬盘常常是把数据先读至c a c h e ,再突发传 送至c p u 。写的过程也一样,使用c a c h e 后,硬盘r p s ( r o t a t i o n a lp o s i t i o ns e n s i n g ) 率下降。( r p s 指磁盘已准备好接收数据,磁头也已到了指定的磁道而此时通道又被 他人占用,i 0 处理进程只有等待下一次调度机会的情况) 应用程序通常顺序地 处理文件,因而硬盘也相应顺序存取,这样,每次读操作完成后,盘控制器会继续 从盘上读下一数据至c a c h e 。若下一次要读的数据与前一数据在物理上是连续的话, 可直接从c a c h e 中取出该数据,不用从磁盘中读,减少真正地访盘操作次数,这样 既提高了吞吐量又降低了延时。许多硬盘具有预读功能,这使得c a c h e 的作用更大。 在主存中设置c a c h e 的原因是用户程序访问数据具有局域性和暂时性。当 用户重复使用相同的数据块时,直接命中c a c h e ,无需访盘。磁盘c a c h e 的主要目 的是保证磁盘操作的连续性,而主存c a c h e 则是为了减少实际的i o 次数,两种 c a c h e 的同时使用把物理访盘操作降至最低程度,从而加快i o 处理速度。 c a c h e 可以降低存取延迟,但并不能完全消除。其有效性依赖于低的请求缺失 率,仅仅简单地加大c a c h e 和改进替换策略并不能提高命中率。对读密集型应用, 如全文本搜索、三维科学可视化、关系数据库查询、语音识别等,处理的数据集远 远大于c a c h e 容量,存取具有非顺序性和非局部性,c a c h e 就不太有效,此时可以 借助与预取。 预取 2 1 - 2 5 根据推测的应用i 0 负载的存取模式,预测未来将要存取的数据,在 实际请求发出之前取入c a c h e ,因而请求总能命中在c a c h e 中。预取通过预测c a c h e 缺失、重叠i 0 和计算、消除对于可用资源的争用,可以降低存取延迟。使用预取 技术,将传统的基于局部性原理的c a c h e 由“保存最近可能存取的数据”变为“保 存将要存取的数据”。本文第三章将详细讨论预取问题。 4 ) 总线和通道技术的发展 总线和通道作为主机和存储器之间的桥梁,能否提供足够的带宽也直接影响着 i 0 。各种外设、局域网、广域网数据流量的爆炸性增长,迫切要求与之相适应的高 华中科技大学硕士学位论文 性能接口。近年来,随着制造工艺和器件技术的提高,总线协议和新的通道技术不 断被提出并得到迅速的应用。 1 1 6 位s c s i 总线 1 6 位s c s i 总线也被称为“宽”s c s i ,与8 位s c s i 总线相比,它支持的s c s i 设备数为1 5 个。1 6 位s c s i 总线有三种总线速度:f a s t ( 2 0 m b s ) 、u l t r a ( 4 0 m b s ) 和 u l t r a - 2 ( 8 0 m b s ) 。 2 u l u r a a t a 接口 u l t r a a i a 是由s e a g a t e 公司、i n t e l 公司和q u a n t u m 公司共同设计和开发的,其 基础是u l t r a d m a 3 3 技术规范,将数据传输率由上一代接口f a s t a t a 一2 的1 6 6 m b s 提高到3 3 3 m b s ,使磁盘驱动器的性能提高跃上了新的高度。 3 f i b e rc h a n n e l 总线 f i b e rc h a n n e l 是由美国标准协会( a n s i ) 开发的一系列标准的集合。它除了支 持本身协议外,还同时支持一些更高级的协议,如f d d i ,h i p p i 和i p i 。f i b e rc h a n n e l 可以满足通道和局域网间大容量信息的高速传输,使用8 b 1 0 b 编码串行的数据流, 提供最高达i g b i t s e c 的传输率。f c 的拓扑结构有多种,其中仲裁环( f c a l ) 结 构的一个环路上最多可有1 2 7 个设备,但同时只能有一对设备互相通信,传输率最 高可达2 0 0 m b s 。f c a l 已用于系统级,在盘驱动器领域也迅速获得了推广应用。 本文第四章将对f c 进行详细介绍。 4 s s a 总线 s s a 总线全称串行存储体系结构( s e r i a ls t o r a g e a r c h i t e c t u r e ) ,是由i b m 公司开 发。它基于串行s c s i 协议,其物理层与f c 相同,也使用8 b 1 0 b 编码串行的数据 流。s s a 使用的介质目前是屏蔽双绞线,连接速度为2 0 m b s 和4 0 m b s ,电缆最大 连接距离为4 0 米,将来如果使用光纤,传输距离可延长到2 5 公里。s s a 采用点对 点的存储转发拓扑结构,存储结点具有空间复用( s p a t i a lr e u s e ) 等特点,同一环 路最多可有1 2 7 个设备。 5 i e e e1 3 9 4 总线 p 1 3 9 4 总线是i e e e 提出的一种高速、廉价串行总线标准,可连接光,磁盘、v n 己、 h d t v 和m i d 设备。缆线之间的数传率有1 0 0 ,2 0 0 和4 0 0 m b i t s s e c 三种。具有菊 花链和分支能力,可连接超过1 0 0 0 个总线段( b u ss e g m e n t ) ,每个总线段最多可挂 华中科技大学硕士学位论文 6 3 个设备。 5 ) 采用新的存储系统结构 仅仅研究如何提高存储器本身的性能己难以满足视频应用对存储系统的需要。 传统的基于主机的存储体系结构和s c s i 的限制存在许多弊端,必须拓宽思路,寻 求新的存储系统结构。目前,典型的并行分布式存储系统有:冗余磁盘阵列( r a i d ) ; 附网存储系统:州( n e t w o r k a t t a c h e ds t o r a g e ,n a s ) ;存储局域网络汹2 ”( s t o r a g e a r e an e t w o r k ,s a n ) ;高性能存储系统”1 ( h i g hp e r f o r m a n c es t o r a g es y s t e m ,h p s s ) ; 以及存储器簇瑚。( s t o r a g ec l u s t e r ) 等。本文将在第四章对存储局域网络s a n 做 详细的分析。 1 3 本文研究的主要内容 本文的研究工作是提高电视台数字化全自动视频服务系统的存储子系统的性 能。其内容涉及到以下部分: 1 ) 分析视频系统数字化的现状和发展,以及对存储系统提出的新挑战。研究 实现高效能的存储系统的一般解决方法。 2 ) 研究基于实时操作系统p s o s + 的磁盘阵列系统的工作模型,分析盘阵列控 制软件的存储管理策略、调度策略及其b u f f e r 调度系统、多线程技术。 3 ) 研究视频服务存储系统的要求和特点,在原有的阵列控制策略的基础上优 化c a c h e 策略和任务调度,来提高盘阵列的性能并取得试验结果。 4 ) 研究传统的视频存储系统结构,支持其弊端,并提出视频服务系统的s a n 存储解决方案。分析在实时操作系统p s o s + 下实现存储局域网s a n 的优势。 5 ) 剖析实时操作系统p s o s + 的网络组件p n a + 的通讯机制、内存优化管理。 并以实例分析网络接口层n i 的工作原理。 9 华中科技大学硕士学位论文 2 基于p s o s + 操作系统的磁盘阵列 2 1 磁盘阵列操作系统p s o s + 介绍 磁盘阵列操作系统是磁盘阵列控制软件的运行平台,视频服务器要求:实时响 应、高吞吐率。为了减小i l o 请求调度的负载,由表2 1 看出,采用实时操作系统 p s o s + 作为磁盘阵列控制软件的运行平台是比较恰当的。 表2 1不同操作系统对阵列性能影响比较 测试 u n 揖作系统l i n u x 操作系统 p s o s + 操作系统 次数访问时间数传率访问时间数传率访问时间数传率 l9 o m s7 4 0 k b s8 9 m s1 0 0 0 k b ,s8 9 m s1 6 2 0 k b s 29 1 m s7 4 3 k b s8 7 m s9 9 0 k b s9 o m s1 6 4 0 k b ,s 39 o m s6 9 8 k b ,s8 9 m s1 0 l o k b s8 9 m s1 6 3 0 k b ,s p s o s + 是由美国! n t e g r a t e d s y s t e r o s 公司开发的一种嵌入式多用户多任务实时 操作系统。p s o s + 软件系统采用模块结构,它由p s o s + 实时多任务核心模块和一组 软件组件组成,软件组件是空间独立的与硬件无关的结构模块,在组件启动时,每 个软件组件通过用户提供的配置表中的参数( 与硬件和应用有关的配置参数) 来配 置自己:每个组件完成一组系统调用供应用调用,系统调用是可重入的c 函数。 p s o s + 软件组件包括:p s o s + m 多处理器多任务核心,p n a + t c p i p 网络管理,p r p c + 远程过程调用库,p h i l e + 文件系统管理,p r e p c + a n s ic 标准库等。它具有如下优 点 3 1 3 2 】: 1 ) 能在任务间快速切换。 实时操作系统p s o s + 的多任务机制为实现应用控制或对多个离散的真实事件 作出反应提供很大的方便。由内核在某一基本调度算法上轮流执行这些任务,给人 一种多个程序并发执行的感觉。在实时操作系统中,任务状态切换机制为维护系统 中的任务执行提供了创建、初始化、激活、删除一个新任务的接口。同时还为挂起、 重新开始、重新启动、延迟及取得一个运行任务信息提供了接口。实时操作系统还 分别提供了基于优先级的抢占和基于时间片的任务调度机制。缺省状态下采用基于 优先级的抢占方式,如果就绪任务具有相同的优先级,再采用时间分片的调度机制, 以实现多任务的公平调度。它支持全部实时特性,如快速多任务、中断、抢占与轮 华中科技大学硕士学位论文 片的调度机制。它采用了微内核设计,使系统丌销最小,响应外部事件最快。内核 操作不但快速而且时间限确定,例如,上下文切换仅需3 8 微秒,中断延迟小于3 微秒。p s o s + 提供了有效的任务间通讯机制,允许各种独立的任务协同动作。 2 ) 能够申请大容量的连续内存块。为了提高磁盘阵列的读写性能,在控制 软件中必须配以一定容量的缓存来加快阵列系统的响应速度,提高数据传输率。在 实时操作系统平台上,可申请的内存大小不受限制,内存是以内存片为单位分配的。 用户程序可以申请到任意大小的内存空间,空间大小是内存片的整数倍。所以在实 时系统下,阵列控制软件的缓存管理模块能更有效地发挥作用,管理的复杂度也得 以降低。 3 ) 针对不同的主机系统软件方便移植。编程语言采用a n s ic ,易于移植 到各种目标处理机、处理器。适用于用i n t e l 系列、m o t o r o l a 系列和t i 系列的c p u 或d s p 芯片构成的平台,因而得到广泛的商业应用。 4 ) 操作系统核心小。因为控制软件必须驻留在控制器的r o m 内,所以连 同核心在内的程序体一定要小。实时操作系统一般包括一个可扩展与自定义的内 核,以便于普通内核软件可以在嵌入系统中的内在空间分段协同工作。这样,操作 系统可以很容易与一个提供处理机和硬件接口标准抽象的普通内核层的主要功能 模块结合使用。现代开放式实时操作系统在微内核的基础上,还包含支持具有统一 设备独立接口的访问各种外部设备的i 0 子系统,如支持a d 、d a 、并行端口、串 行端口等。可以有选择地编译所需要的模块,获得精练的内核。 此外,由于p s o s + 提供了集成开发环境( i d e ) p r i s e 使得软件开发大为方便。 2 2 基于p s o s + 的磁盘阵列总体结构 基于p s o s j - 的磁盘阵列的系统结构如图2 一l 所示。p c 主机板将s c s i 适配器卡 和特殊功能部件集成到一起。主板的p c i 槽上插了六个s y m b i o s 公司生产的高性能 p c i s c s i 卡5 3 c 8 x x ,还需一个与视频服务器相连,作为与主机通讯的通道:其余 的五个卡做磁盘控制器。每个s c s i 适配器卡可连接多个s c s i 接口的硬盘,不过磁 盘数则受到适配器卡的s c s i 总线宽度限制。如总线的宽度为1 6 位,此适配 r 华中科技大学硕士学位论文 图2 1 基于p s o s + 的磁盘阵列的系统结构 器卡最多可连接l j 个硬盘。实现的主要功能是:通过总线适配器接收来自主机系 统的s c s i 命令,将其分解为针对每个独立磁盘驱动器的子命令。在命令分解的同 时,也要对随主机命令而来的数据进行分块。将这些子命令通过i 0 调度完成对磁 盘的访问,全部磁盘数据操作完成后,再将各磁盘上的分块数据进行重组,返回给 主机。这其中还需要进行校验信息计算、b u f f e r c a c h e 管理。 此磁盘阵列可根据用户需要设置为0 、l 、l + o 、4 、5 等不同的r a i d 级别。 2 3 磁盘阵列控制软件实现 2 3 1 控制软件模块构成 磁盘阵列控制软件主要由下列几个主要功能模块组成( 参见图2 2 ) :磁盘阵列 参数设置和阵列初始化、命令分解、数据分块重组、i 0 调度、校验信息计算、 c a c h e b u f f e r 管理、数据重构、数据修复等。 华中科技大学硕士学位论文 盘阵列控制软件 一一丁一一一 鍪i t 萋要:鍪耋,垂羹调i o 度孽| l 茎毳;蓑茎 j j _ j = _ _ _ 一 图2 2 磁盘阵列控制软件功能模块构成 2 3 2 控制软件流程 磁盘阵列主控软件流程如图2 3 所示。阵列控制器接收的从主机发来的命令主 要有以下s c s i 命令:6 字节读命令r e a d ( 6 ) 、1 0 字节读命令r e a d ( 1 0 ) 、6 字节写 命令w r i t e ( 6 ) 、1 0 字节写命令w r i t e ( i 0 ) 、t e s t 、m o d e s e n c e 、i n q u i r y 、c a p a c i t y 等等。阵列控制器接收到来自视频服务器的命令后,首先进行命令处理: 1 对于非读写命令,直接分解为每个盘上的相应命令; 2 如果是写命令,就必须先接收伴随命令而来的数据。然后将此命令按设 定的阵列级别所决定的映射方式分解到相应的独立磁盘驱动器的子命令,即命令分 解。大致过程如下:对于读写命令,为减少数据在缓存中的拷贝,将数据分块( 或 重组) 与命令分解过程结合起来同时进行。对写命令,命令分解时,每个写子命令 经分块得到的数据通过指针指向其头地址,同时给出数据块的长度; 3 对于读命令,分解后每个读子命令带有数据重组时的目的地址和长度信 息,以便全部磁盘读操作完成后直接进行数据重组,得到最终向主机返回的数据。 此时,每一个独立磁盘都可能有一条对本盘操作的命令队列,新生成的命令不 断附着在相应命令链的尾部。 接下来就是i 0 调度: l 通过对每一个独立盘的命令队列进行扫描,看缓存中是否有该数据。 2 如果某个命令结点的数据缓存命中,若是写命令则直接写缓存,读命令则 华中科技大学硕士学位论文 图2 3 磁盘阵列主控程序流程图 将命令中数据指针指向缓存数据。 3 如果该数据在缓存中缺失,就启动i o 调度,具体就是激活相应控制串的 磁盘i 0 子任务,该任务在磁盘阵列管理软件启动时已派生,平时处于睡 眠状态。由于扫描是按一次循环扫描所有串第j 号盘这样的规律来进行, 所以最多可以有等于串数个子任务并发进行对盘的操作。 4 i o 调度同时收集数据和状态信息,判断是否所有并发执行的i 0 都完成, 如果都完成就开始下一轮对命令队列的循环扫描,直到命令链全为空。 5 若是“读”命令,除了要将数据返回主机外,还必须将该数据拷贝到缓存 中。否则就进行出错情况下的数据重构和数据修复工作。 下面对图2 3 中的初始化模块、命令分解模块c m d _ m a n a g e r ( ) 和并行处理模块 p a r a l l e l p r o c ( ) 做更详细的分析: 、 华中科技大学硕士学位论文 图2 - 4r a i d0 写命令分解流程 ( 一) 初始化模块 此功能模块包括函数s e t r a i d p a r a m e t e r 0 ,此函数对阵列参数进行设置,就是按 照用户的需要,设定磁盘阵列参数,包括阵列级别、数据块分块大小、校验存 放策略、阵歹i j 中控制串的个数和磁盘个数。这些参数是控制软件计算阵列有效 容量、逻辑地址与物理地址相互转换的依据。 ( 二) 命令分解函数c m d a n a g e r ( ) :首先计算出i o 的起始地址和长度,然后对 各种命令作相应的分解: 1 ) 读命令( o x 0 8 ,0 x 2 8 ) : 对于r a i d ! 直接产生对应盘的读命令。 对于其他几种r a i d 级别,则根据分块的大小,派生出具体盘上的读命令链。 华中科技大学硕士学位论文 注意首尾两块可能不是满块,要计算相应的偏移量, 2 ) 写命令( 0 x o a ,0 x 2 a ) r a i d0 :和r a i d0 的读命令基本相似。其流程如图2 4 ; r a i dl :派生对数据盘和其镜像盘的写命令; r a i dt 0 :和r a i dl 相似,不同的是每个分命令都要对应一个写校验盘的 命令,其中调用了校验盘定位函数: r a i d4 、j :这是命令分解最为复杂的部分。分满块( 校验组) 写、 碎块写、大块写、小块写几种情况。 3 1 其他命令 命令0 x 2 5 ,0 x 0 4 ,0 x l a ,0 x 1 2 ,0 x 1 6 ,0 x 1 7 ,0 x o l ,0 x 0 0 ,0 x o b ,0 x l b ,0 x 2 b 都只生成 对第一串第个盘上的操作命令;0 x 3 5 ,0 x i e 命令没有处理;0 x 0 3 命令依次派 生对各个盘的命令。 4 ) 函数结束前的处理 在函数末尾还要检查重建标志,如果有要重建的命令,就生成重建命令。 ( 三) 并行处理函数p a r a l l e l p r o c 0 函数流程如图2 5 所示,该函数是在命令分解后被调用,它以校验组为单位, 依次分析同一校验组各串对应盘上的命令。对不同的情况做不同的处理,最后还要 判断b u f f e r 是否命中,如果命中即可释放该命令,否则释放相应的信号灯,让对应 的i o 任务就绪。把同一校验组的所有盘都分析完后,如果有i o 任务就绪,主任 务就挂起,并等待i o 任务唤醒,然后再去处理下一个校验组。 2 3 3 关键数据结构 对主机的命令,控制软件根据设定的阵列参数( 分块大小和阵列级别等) 将其 分解为对应磁盘的子命令,形成各磁盘的命令队列。命令队列要用到两个重要的数 据结构:命令链表和数据链表,在头文件d i s k h 中对它们作了定义。 命令链表中的成员主要包括命令的长度、命令类型、涉及盘所在的串和盘号、 华中科技大学硕士学位论文 图2 5 并行处理函数p a r a l l e l p r o c 0 流程 命令的执行状态、数据来源等,具体定义如下: t y p e d e fs t r u c tc m d t y p e u n s i g n e dc h a rs c s i e m d 1 2 ; u n s i g n e dc h a rc m d l e n ; 肛命令长度 i n t l o g t a r g e t i d : i n t l o g t a r g e t p a t h ; u n s i g n e dc h a rs t a t u s : u n s i g n e dc h a rf l a g ; 1 7 华中科技大学硕士学位论文 d a t a l i s t * d a t a h e a d : 木命令所带的数据链$ c h a r* r e a d d a t a ;十读数据头指针 s t r u ttc m d t y p e * n e x t ; c m d t y p e ; 数据链表采用链表指针的形式将内存中不连续的数据块链接起来,以便对数据 进行s c a t t e r g a t h e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 入职安全教育培训记录卡课件
- 桂林医学院口腔门诊部扩建项目环评报告
- 保育员理论知识培训体会课件
- 长城经销商管理办法
- 《内部资料管理办法》
- 数学与生活:探秘概率起源
- 机场保安考试题库及答案
- 烟草投诉举报管理办法
- 特种药品药店管理办法
- 企业安全知识培训台账课件
- T/CECS 10026-2019绿色建材评价建筑门窗及配件
- 企业往来款协议书
- 2025山东中考:生物高频考点
- DB65T 4815-2024 清洗消毒中心内畜禽及其产品运输车辆消毒技术规范
- 《儿童癫痫护理指南》课件
- 数学三年级上册二 观察物体1 看一看(一)教学设计
- 2025-2030中国PEM水电解槽行业现状调查与发展前景规划研究研究报告
- 2025年中国人保财险全系统黑龙江分公司招聘笔试参考题库含答案解析
- 施工阶段全过程造价咨询管理办法
- 新编物业设施设备台账表格模板
- 美术中的秘密课件
评论
0/150
提交评论