iSCSI资源专用(CPU)

      然而,并不像你所想象的那样,比如,iSCSI直接就是在主机端操作系统中的TCP协议栈之上加一层逻辑,直接利用现有的IP网络,那么 FCoE是不是也类似,直接在主机端安装一个FCoE协议栈,直接将其承载到以太网上呢?如果真的是这样,FCoE与iSCSI就没有什么本质上的 大区别了,也就无法体现其价值所在了。那么FCoE到底是一种什么形态呢?我们知道,传统FC环境下在主机端原本是靠一块FC HBA来实现 FC网络接入的,全部FC逻辑都运行在这块卡上(SCSI逻辑运行在主机端OS内核中),这样做可以充分降低主机资源消耗。如果现在要将FC 的上层逻辑全部拿来主机端协议栈中运行,那么效率势必要打折扣,对主机CPU资源的消耗也必将增加。那么iSCSI就不消耗主机资源么?当 然消耗,那为何iSCSI可以存在,就不允许FC的软协议栈存在呢?要知道,1Gbps的以太网环境下,iSCSI软协议栈不会消耗主机端太多资源

(根据实测一颗单核Intel至强CPU约可承载300MB/s的大块连续IO的iSCSI流量,此时CPU已经满载,如果是IO密集型流量,CPU会更快满 载),但是在10Gbps以太网的环境下,iSCSI软协议栈对主机CPU的消耗就不可同日而语了,有数据表明,10Gbps下的软iSCSI          initiator对主 机CPU的占用率在30%~60%之间,这已经不可容忍了。所以,10Gb/s以太网承载的iSCSI协议,迫切需要运行在硬iSCSI          HBA上,这才是 以向企业级用户所交付的合适形态。至于前期微软与Intel合作进行的iSCSI百万IOPS测试结果(见之前章节),只是一个测试而已,恐怕其 CPU利用率已经达到很高的程度了,这种测试不具备实用性价值,况且Intel是做CPU的,这种测试的目的大家都明白。所以同样,FCoE也需要 运行在一块硬的HBA上。

 

原文地址:https://www.cnblogs.com/pipci/p/15351746.html