【摘要】计算机技术和网络技术逐渐成熟,计算机处理能力和相关数据需求不断增长,使得存储技术的发展得到更多的市场驱动,网络存储的浪潮随之到来。本文讨论通用、可配置性能评估模型的实现方法。首先讨论模块划分的方法,接着讨论模块的功能分配方法,最后以一个实例分析多模块结构怎样用于性能评估。
论文关键词:网络存储,可配置,多模块,性能评估
0引言
随着企业应用对信息存储需求的空前增加,对信息存储系统的性能,信息的备份、容灾能力等要求越来越高,网络存储也就应运而生。如何建立一个高效、合理的存储模式就成为信息化建设的核心问题。
本文致力于探讨建立通用、可配置评估模型的方法,以便用户与研究开发人员了解怎样评估阵列的性能。经过许多存储技术的分析,我们可以给出一个通用的、可配置、多模块结构模型。从存储结构的角度我们引出以下几个基本模块:主机模块H、阵列控制器模块C、带宽模块B、控制模块C'、磁盘模块D、转换模块T、无关模块X[1]。
/:用来表示模块的合并作用。
1性能评估模型的模块划分方法
不能也不必严格地按照真实磁盘阵列的细节,去建立多模块结构性能评估模型,必须简化无关的内容,抽象出评估模型需要的关键细节,以便得到的评估模型真实反映阵列工作情况[2]。下面给出模块划分的具体方法:
1、模块的划分按照I/O路径上它对请求响应时间的贡献进行;
2、模块的划分按照I/O路径上对阵列存储应用系统吞吐率的影响进行;
3、模块的组合反映I/O路径上请求流的连通关系;
4、模块的划分要真实反映I/O请求路径的开始和结束;
5、模块的划分要真实反映存储访问各个模块的功能和作用[3]。
2基本模块功能分配方法
在评估系统中,每个模块担负不同的职责。因此,必须赋予每个模块相应的功能,以便实现一个灵活有效的评估系统[4]。下面给出基本模块功能分配的原则:
1、从评估模型简化的角度,尽量把依赖性强的功能成分放到一个模块上;
2、从I/O路径信息流的角度,尽量让每个模块的功能界限是明确的;
3、每个模块依据它所扮演的角色,具有相应的功能选项和参数选项;
4、模块的组合使每个模块依据所在位置自动进入到某种功能配置方式[5]。
3多模块结构评估模型的应用方法
各种磁盘阵列结构的评估模型可以通过基本模块组合实现,下面给出了一种网络存储结构的完整的应用模块结构。右边的主机模块为存储服务器配置,客户与服务器采用NFS文件系统传输用户的文件请求,阵列控制器的功能在右边的存储服务器上。
基于这个实例讨论利用评估模块分析计算请求响应时间的过程。
图1 NAS存储系统的软磁盘阵列结构应用模型
图1中一个请求的响应时间计算步骤:
(1)在主机模块H(客户)中,多个客户联合处理,选择客户数n,配置不同类型请求数的不同比例,选择随机生成方式,得到请求形式为:(client_number,start_time,end_time,logical_address,lnumber_of-bytes,device_identity,physical_address,pnumber_of_bytes,anumber_of_bytes,operation_type)。如果operation_type是读数据,则设anumber_of-bytes=0,而写时anumber_of-bytes= lnumber_of-bytes。初始device_identity=null,并计算请求在客户模块的逗留时间。end_time=end_time+请求处理时间+cache查找时间。如果cache命中,则请求服务完成,返回该请求的磁盘响应时间为end_time-start_time。否则转下一步带宽模块Bb(总线)继续。
(2)连接4个成分的带宽模块Bb(总线)计算请求在带宽模块的逗留时间,涉及总线命令中的附加数据开销,以及X模块干扰请求和其他两个成分的处理。end_time=end_time+多成分影响的延迟时间+(anumber_of-bytes+附加数据)/总线速率。
(3)转换模块T(b,n)(总线对互联网)计算请求的逗留时间。end_time=end_time+转换(anumber_of-bytes+附加数据)的时间。
(4)连接有3个成分的带宽模块Bn(互联网)计算请求的逗留时间,涉及处理后的数据可能分段并按网络的TCP和IP增加头开销以及应答开销,同时涉及到X模块的网络干扰请求的处理。end_time=end_time+受多个成分影响的延迟时间+anumber_of-bytes经过协议处理后的字节数/总线速率。
(5)转换模块T(n,n)(互联网对互联网)计算请求的逗留时间。end_time=end_time+转换(该请求网络分组数据)的时间。
(6)连接多成分的带宽模块Bn(互联网)计算请求的逗留时间,与第4步相同。end_time=end_time+受多成分影响的延迟时间+anumber_of-bytes对应协议支持的字节数/总线速率。
(7)转换模块T(b,n)(总线对互联网)计算请求的逗留时间。end_time=end_time+转换(anumber_of-bytes+附加数据)的时间。
(8)连接m+2个成分的带宽模块Bb(总线)计算请求的逗留时间,涉及总线命令中的附加数据开销,同时涉及其他m+2个成分的处理。NAS设备的优化配置,没有X模块的干扰因素。计算:end_time=end_time+受多成分影响的延迟时间+(anumber_of-bytes+附加数据)/总线速率。
(9)主机模块H/C(服务器)计算请求的逗留时间。end_time=end_time+请求处理时间+cache查找时间。如果cache命中,则请求服务完成,返回到第14步的带宽模块Bb(总线)继续回程处理。‚否则完成阵列控制器模块C的功能,按logical_address和lnumber_of-bytes结合磁盘阵列数据布局进行分解,如果冗余布局且operation_type是写时,则增加冗余信息所需的子请求,进一步如果需要写请求同步则进行同步处理。此外,分配每个子请求上复制请求的部分信息如:client_number,start_time, logical_address,lnumber_of-bytes和operation_type。然后根据数据布局、系统状态(正常、降级和重建)和处理策略给出device_identity(对应磁盘的),physical_address和pnumber_of_bytes的值,此外,读时复制原请求的anumber_of_bytes值,而写时将pnumber_of_bytes的值,赋给anumber_of_bytes,同时将相应的子请求的end_time修改:end_time=end_time+请求处理时间,然后转下一步带宽模块Bb(总线)。
1/2 1 2 下一页 尾页 |