欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 计算机论文

RAID0请求性能的模拟评估_磁盘阵列-论文网

时间:2015-03-30  作者:佚名
编写了一个请求生成函数Generate_Req(),该函数完成了对请求逻辑地址的生成,由于要符合现实情况,在生成请求的逻辑地址和逻辑长度时,要判断它们是否超过磁盘的总容量。于是就是涉及到总容量的计算:磁道×扇区×扇区大小。当请求的逻辑起始地址+逻辑长度>总容量时,不符合要求,返回并重新生成逻辑地址和逻辑长度。

(2)控制模块C:主要功能是I/O请求分配。编写了一个请求分配函数Separate_Req(std::vector),该函数完成了地址映射,从逻辑地址及逻辑请求大小转换为物理地址及物理请求大小。单磁盘是由逻辑地址和逻辑长度直接算出对应的磁道号、扇区号和扇区个数。而对磁盘阵列,由于要分配到几个磁盘上,就涉及到条状块,即请求分配到几个磁盘上的单位大小。由此使一个请求分配到几个磁盘上,提高并行度,从而提高处理请求的效率。根据条状块就可以算出分配请求的磁道号、扇区号及扇区个数,从而实现地址的映射,算出对应的物理地址。

当一个请求被处理完后,处理时间最长的那个磁盘所对应的时间作为该请求的时间。这里用到了两个特殊处理:

只需考虑起始盘的情况,其它盘不需考虑。因为起始盘所分得的数据量总是最大的,则其处理时间理论上应该是最长的,所以可以将其处理时间作为当前请求的处理时间。

对于一个盘来说,也就是起始盘,该盘所分得的一组子请求的物理地址是连续的。所以,这里的磁道号和扇区号都只求第一个子请求的,扇区数就为几个子请求的相加。

(3)磁盘模块D:主要功能是磁盘调度和处理时间计算。编写了一个磁盘调度函数和处理时间计算函数。

首先,磁盘调度选择的是SCAN算法(即电梯调度算法),由此对请求排序,从而使处理请求时有个先后顺序,达到提高效率的目的。在这个调度算法中,会根据磁道号选择最优的处理顺序,最先处理最近及磁道号递增的请求,然后再返回来处理磁道号递减的请求。随机产生当该组请求到达时的磁头位置,保证了真实性。

然后,处理时间计算函数给定n个磁盘请求的等待队列R1,R2,…,Rn,它们对应完成时间分别为T1,T2,…,Tn。这样,它们占用磁盘的总时间为:

式中,T,T和T分别为第k个请求的查找时间,旋转延迟和传输时间。同一磁盘,请求相互依赖。第k个请求可以用参数(C,S,B)形式化,其中C,S和B分别表示要到达的柱面号、要读的起始扇区号和要读的扇区个数。TD=B/(rN),其中N为对应磁道上的扇区数,r为旋转速度,以转/分(rpm)作为单位。用旋转一个扇区的时间作为基本时间单位τ=1/(rN),例如HP97560,N=72,r=4002,所以τ=0.21ms。一般地,查找时间表示为查找所经历的柱面数nt的函数:

在该设计中,a=3.24,b=0.40,c=8.20,d=0.0075,n0=383。

查找和旋转时间依赖于磁盘所处磁臂和旋转位置。因此考虑两个磁盘请求且假定具有参数(C,S,B)的第k-1请求紧靠在具有参数(C,S,B)的第k个请求前。第k-1个请求完成后磁头停在柱面C处,而旋转位置在起始扇区。第k个请求在柱面C处寻道,在C处结束。所经历寻道距离为d(R,R)=g|CC|,其中g为紧相邻磁道间距离。参数n=|CC|,得到查找时间T(|CC|)。以一个扇区作为时间单位,查找时间内盘片旋转接近个扇区。查寻后旋转位置为

如果,则要经过旋转个扇区后才能开始传输数据;否则要经过个扇区才能开始传输数据。这是旋转延迟的部分。第k个请求真正用于数据传输的时间为T=τ×B,而其它时间用于磁盘定位操作,一般称之为磁盘定位时间或称为磁盘访问时间T。传输结束,旋转位置在。第k个请求存储服务时间可以按下面的公式计算:

从上面可以看到相邻请求之间的磁道、扇区和传输的扇区数对旋转位置的依赖。得到的总的时间就是处理该组请求的处理时间。最后,将得到的单磁盘与磁盘阵列处理请求的时间并比较,就可以达到此次设计的目的。

4.性能测试与分析

按照上述设计思路,在VC++的环境下实现性能测试的模拟,运用MFC对建立好的模拟模块具体实现。为了测试多磁盘下I/O请求的性能,选择了对RAID0技术的模拟,为了使测试结果的可信性强,不但在对磁盘配置相应的性能参数要符合实际,还要有比较对象,此次设计选用了与单磁盘下执行I/O请求性能模拟的比较,在配置参数时要与多磁盘的参数相同,磁盘调度算法也要选择相同的。这样运行结果才有可比性,也就是对磁盘阵列性能近一步的分析和了解。软件的界面如图2所示。

图2软件界面

一个盘面的磁道数设定为1964个,一个扇区的大小为512B,一个磁道的扇区数为72个。需要用户输入的参数:磁盘转速(能选5400rpm或7200rpm)、磁盘个数、阵列级别(这里只实现了RAID0)、条状大小、请求类型以及请求个数。

查看相关论文专题
加入收藏  打印本文
上一篇论文:关于IRT应用于计算机自适应考试的综述_项目反应理论-论文网
下一篇论文:Struts 1框架和Struts 2框架的比较研究_依赖性-论文网
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关计算机论文
最新计算机论文
读者推荐的计算机论文