《队列深度(QueueDepth)对硬盘性能的影响》

《队列深度(QueueDepth)对硬盘性能的影响》

ID:32347480

大小:473.64 KB

页数:5页

时间:2019-02-03

《队列深度(QueueDepth)对硬盘性能的影响》_第1页
《队列深度(QueueDepth)对硬盘性能的影响》_第2页
《队列深度(QueueDepth)对硬盘性能的影响》_第3页
《队列深度(QueueDepth)对硬盘性能的影响》_第4页
《队列深度(QueueDepth)对硬盘性能的影响》_第5页
资源描述:

《《队列深度(QueueDepth)对硬盘性能的影响》》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、队列深度(QueueDepth)对硬盘性能的影响在做性能测试的时候,主机端有时会成为瓶颈。有时,可能即使弄了很猛的主机,但是测试结果还是达不到最优,可以注意一下主机端对于挂过来的卷的QueueDepth设置。下面的文章是将硬盘的NCQ技术的,有涉及到这方面的一些基础东西:NCQ技术深度解析:纵观我们电脑中的储存设备,对机械设备驱动性能要求最强的当属硬盘了。机械设备所固有的属性在很大程度上制约了数据的读取速度,从而影响了硬盘的性能。要想提升硬盘的性能,我们通常会想到两个最为有效的方法:对硬盘机械的物理性进行改进和硬盘机械的流程顺序添加智能化。第一种有效方法

2、的实现是以大幅增加产品成本为代价的;而第二种则不同,产品成本的增加在大规模生成的时候几乎可以忽略不计。而本文所要讨论的命令排序就是属于第二种有效提升硬盘性能的技术。NCQ技术为SATAⅡ规范中重要组成部分,也是SATAⅡ唯一对性能有关系的技术。NCQ为NativeCommandQueuing(本地命令队列)的缩写,其实它仅仅是在以前运用于SCIS的TCQ(TaggedCommandQueuing)技术改进而来得。好了,闲话就不多说了。让我们一起进入NCQ的旅程中。NCQ、SCSITCQ、PATATCQ和SATATCQ四者的关系:当读者看到TCQ的时候,可

3、能会感到有些陌生。TCQ和本文所要谈的NCQ相同,也是一种命令排列技术,而且从严格意义上来讲,NCQ技术也就是在ATATCQ技术上改进而来的,两者同样支持32级的命令深度,但是NCQ对ATATCQ在技术上存在的缺陷进行了改进从而与TCQ相区分。说到这里,我们要对"命令深度"进行一下简单的说明,其实这个概念很简单,它就是指硬盘需要处理的寻址命令的个数;而下面我们提到的"命令深度级数"就是将"命令深度"具体化,比如NCQ最高可以支持命令深度级数为32级,那么换句话说就是,NCQ可以最多对32个命令指令进行排序。接着上面说,我们需要注意的是,NCQ为SATA专

4、有的技术而TCQ的运用范围就较广了——TCQ运用在SCSI硬盘和PATA硬盘上。其实,TCQ最初是使用在SCSI硬盘上,而PATATCQ也就是在1997年才被加入到了ATA/ATAI-4规范中。ATATCQ与最初使用在SCSI硬盘上的TCQ存在了很大的差别:首先,SCSITCQ支持三种队列类型,他们分别是简单队列(SimpleQueue)、有序队列(OrderedQueue)和队列头(HeadofQueue)而ATATCQ仅仅支持简单队列(SimpleQueue),这样的设计还是很合理的,毕竟简单队列是最为常用的队列排序,在高端服务器上当命令深度达到25

5、6级的时候其余两者队列排序也很难用到,更何况ATATCQ和NCQ都定位在主流市场,最大命令深度只能支持到32级呢。其次,SCSITCQ在队列深度上能够支持256级而ATATCQ只能支持到32级,支持队列深度越高其造成成本也就越大——硬盘缓存的提升是必不可少的,在支持NCQ技术的硬盘上全部采用了8M或者更多的缓存上可以看见,而且如果当深度过大会造成大量指令等待执行,反而会造成系统的瓶颈,所以定位于主流市场的ATATCQ和NCQ支持32级命令深度已经很合适了;再其次,当ATATCQ出现错误的时候,将会导致硬盘放弃队列中的全部指令而等待主机对其进行重新管理和恢

6、复,并且排队指令与非排队指令不能混合使用。那么排队指令与非排队指令不能混合使用会给我们的性能带来哪些影响呢?显然,硬盘对命令指令的排序需要时间的,当命令深度级数不是很大的时候可能这个排序的时间很短,但是随着命名深度级数的增大,这个时间就会显得尤为突出。在有的情况下,系统对数据的请求对应硬盘的LBA是连续的,此时并不需要对命令指令进行排序就可以达到排序后的效果,这样就为系统争取到了宝贵的时间使得性能得以提升。SCSITCQ技术支持该功能显然比ATATCQ不支持要强劲,毕竟它定位不同。而PATATCQ与SATATCQ的关系就更为密切了。众所周知,现有的SAT

7、A硬盘可以分为两大类——本地SATA(NativeSATA)和桥接SATA(BridgeSATA),而本地SATA对应了NCQ;桥接SATA对应了SATATCQ。在前文我们已经提到,在1997年业内厂商便把PATATCQ加入到了ATA/ATAI-4规范中,而纵观ATA时代的产品也就只有IBM硬盘支持该技术。造成这种情况的原因主要有两个:(1)当时的Intel并不支持超线程技术;(2)当是绝大多数的软件都是绝大多少属于同步I/O软件,也就是说程序的I/O功能的再次调用直到上次实际的I/O操作的完成后才进行,这样在硬盘中仅仅只有一个命令而再将命令排序执行就没

8、有什么意义了。但随着Intel的超线程技术的普及和应用环境的多任务化,以及异步I

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。