本文介绍了针对16 Gb FC(功能代码:EN0A)和10 Gb FCoE(功能代码:EN0H)HBA的IBM®AIX®光纤通道(FC)/以太网光纤通道(FCoE)设备驱动程序堆栈的性能改进。 AIX FC驱动程序堆栈包括启动程序模式小型计算机系统接口(SCSI)协议驱动程序和适配器驱动程序。 现有的AIX FC适配器驱动程序维护一个SCSI I / O队列,用于将所有I / O请求提交给FC HBA。 现有的FC堆栈具有每秒最大I / O事务(IOPS)和较小I / O大小的扩展问题。 这是由于通过单个I / O队列进行的I / O序列化。

为了在较小的块大小的I / O请求上提高IOPS的数量,多队列功能与16 Gb FC或10 Gb FCoE适配器驱动程序一起引入,从以下位置开始:

  • AIX发行版– AIX 7.2 TL01 SP1,AIX 7.1 TL04 SP3和AIX 6.1 TL09 SP8
  • VIOS版本– VIOS 2.2.4.30和VIOS 2.2.5.0

图1描述了如何在多个I / O队列上并行化I / O,以及本文中讨论的改进。

图1.传统的FC驱动程序堆栈与改进的FC驱动程序堆栈

配置细节

以下配置用于块大小为4 KB的随机读取操作的性能分析

  • IBMPower®System E870服务器,带有64个处理器,频率为4.350 GHz
  • 具有八个存储FC端口的IBMFlashSystem®900:
  • 带FC
    • Brocade 16 Gb FC交换机:2498-B24
    • PCIe2两端口16 Gb FC适配器(功能代码:EN0A)
  • 使用FCoE:
    • PCIe2 10 Gb四端口FCoE适配器(功能代码:EN0H)
    • Brocade 10 Gb FCoE交换机
  • 使用本机(独立)AIX配置:
    • 操作系统:AIX 7.2 TL01 SP1
    • 处理器数量:32
  • 使用N_端口ID虚拟化(NPIV)配置:
    • VIOS版本:2.2.5.0
    • NPIV客户端操作系统:AIX 7.2 TL01 SP1
    • VIOS主机上的处理器数量:32
    • 每个NPIV客户端上的处理器数量:4

实施细节

为了支持多个I / O队列功能,为FC / FCoE设备(fcs)引入了新的对象数据管理器(ODM)属性num_io_queues ,以指示在FC适配器驱动程序中配置的I / O队列数。 每个I / O队列都与FC HBA中的硬件工作队列关联。 发出到特定hdisk的所有I / O请求都将映射到相同的SCSI I / O队列。 每个SCSI I / O队列可以为多个hdisk服务,但是,给定hdisk的I / O请求不能分配给多个SCSI I / O队列。

示例:对于16 Gb FC HBA, num_io_queues的ODM节如下所示:

# lsdev | grep fcs
fcs0       Available 00-00       PCIe2 2-Port 16Gb FC Adapter (df1000e21410f103)
fcs1       Available 00-01       PCIe2 2-Port 16Gb FC Adapter (df1000e21410f103)# odmget -q name=fcs0 CuDv
CuDv:name = "fcs0"status = 1chgstatus = 0ddins = "pci/emfcdd"location = "00-00"parent = "pci0"connwhere = "0"PdDvLn = "adapter/pciex/df1000e21410f10"
#
# odmget -q uniquetype="adapter/pciex/df1000e21410f10" PdAt | grep -p num_io_queues
PdAt:uniquetype = "adapter/pciex/df1000e21410f10"attribute = "num_io_queues"deflt = "8"values = "1-16,1"width = ""type = "R"generic = "DU"rep = "nr"nls_index = 67
#

可以使用chdev命令或系统管理界面工具(SMIT)界面来更改此属性的值。 可能的值为:

# lsattr -l fcs0 -a num_io_queues -R
1...16 (+1)

要启用多个I / O队列,HBA的直接内存访问(DMA)资源应足以在多个队列之间分配I / O请求。 现有的ODM属性io_dma控制着适配器驱动程序在配置HBA时请求的I / O DMA区域的数量。

默认ODM属性值

本部分提供与多个I / O队列功能相关的ODM属性的默认值。

对于AIX 7.2 TL01 SP1和VIOS 2.2.5版本

所述的缺省值num_io_queues属性被设置为8,并具有足够的DMA资源,所述的缺省值io_dma属性增加到256,开始与AIX 7.2 TL01 SP1和VIOS 2.2.5版本。

# lsattr -El fcs0 | grep -e num_io_queues -e io_dma
io_dma          256          IO_DMA                                     True
num_io_queues   8            Desired number of IO queues                True

对于AIX 7.1 TL04 SP3,AIX 6.1 TL09 SP8和VIOS 2.2.4.30版本

对于AIX 7.1 TL04 SP3,AIX 6.1 TL09 SP8和VIOS 2.2.4.30版本, num_io_queues属性的缺省值设置为1, io_dma设置为64。

# lsattr -El fcs0 | grep -e num_io_queues -e io_dma
io_dma          64        IO_DMA                                     True
num_io_queues   1         Desired number of IO queues                True

如本文前面所述,应该有足够的DMA资源来支持多个I / O队列。 因此, io_dma属性的值应从64增加到256。如果用户仅更改num_io_queues的值而未将io_dma值增加到256,则适配器实例将配置有单个SCSI I / O队列,并且以下信息错误将与AIX错误日志一起记录。

# errpt | grep fcs0
29FA8C20   0629173616 I O fcs0  Additional FC Adapter Information

使用chdev命令调整num_io_queues属性的步骤

您需要执行以下步骤来使用chdev命令针对16 Gb FC HBA调整num_io_queues属性:

  • 取消配置设备实例。

    #rmdev -Rl fcs0
  • 将属性更改为所需的值(例如16)。
    # chdev -l fcs0 -a num_io_queues=16
    fcs0 changed
  • 配置设备实例。
    # cfgmgr -l fcs0
  • 验证属性是否设置为必需值。
    #  lsdev | grep fcs0
    fcs0       Available 00-00       PCIe2 2-Port 16Gb FC Adapter (df1000e21410f103)
    # lsattr -El fcs0 | grep num_io_queues
    num_io_queues   16         Desired number of IO queues                        True

性能结果–随机读取操作,块大小为4 KB

以下结果适用于AIX本机[即逻辑分区(LPAR)拥有的物理HBA]案例。 I / O请求并行使用默认的FlashSystem 900存储目标运行shortest_queue上的hdisk设备算法。

图2. 16 Gb FC HBA的AIX(本机)结果
图3. 10 Gb FCoE HBA的AIX(本机)结果

以下结果适用于NPIV(即VIOS拥有物理HBA和在VIOS上调整的num_io_queues )。 使用Flash System 900存储磁盘上的默认shortest_queue算法,每个NPIV客户端上给定磁盘的所有I / O路径上并行运行的I / O请求。

图4. 16 Gb FC和10 Gb FCoE HBA的NPIV结果

结论

在本机配置中,使用改进的FC堆栈,对于单个FC HBA端口情况,用于块大小为4KB的随机读取操作的IOPS数量增加了约2.5倍,这是一个重大改进。 IOPS达到390,000,非常接近单个FC HBA端口的线速度。

在客户端数量为六个或更多的情况下,NPIV配置中块大小为4 KB的随机读取操作的IOPS增益几乎等同于本机配置。


翻译自: https://www.ibm.com/developerworks/aix/library/au-aix-performance-improvements-fc-fcoe-trs/index.html

fcoe和fc的区别_IBM AIX FC和FCoE设备驱动程序堆栈的性能改进相关推荐

  1. TIA PORTAL西门子博途中FB与FC的区别

    TIA PORTAL博途中FB与FC的区别 FB与FC区别 FB–功能块,带背景数据块 FC–功能,相当于函数 FB,FC块均相当于子程序,既可以调用其它FB,FC块,也可以被OB,FB,FC块调用. ...

  2. ibm aix_IBM AIX设备驱动程序开发

    在传统的UNIX®中,术语" 设备"指的是硬件组件,例如磁盘驱动器,磁带驱动器,打印机,键盘,伪设备(例如控制台,错误特殊文件和null特殊文件)等等. 在AIX中,这些设备称为内 ...

  3. ST、SC、FC光纤接头区别

    ST.SC.FC光纤接头区别 ST.SC.FC光纤接头是早期不同企业开发形成的标准,使用效果一样,各有优缺点. 疯狂学习网,视频学习,学习资料,学习论坛,视频教程,IT培训资料,考研资料,股票视频,视 ...

  4. fc oracle,使用 CLI 配置 FC

    使用 CLI 配置 FC 更改 FC 端口的模式 dory:configuration san fc targets> set targets="wwn.2101001B32A1163 ...

  5. android 6.0 存储卡,Android 6.0区别U盘和SD卡设备的方法详解

    如下所示: public static boolean isSdcardExists(Context context) { StorageManager storageManager = Storag ...

  6. AIX 热添加FcOE卡

    1.操作环境 HMC版本:V7R7.3.0.1 操作系统:AIX:6100-09-06-1543 主机:IBM POWER7 750 8233-E8B( 带#5802 #5877 扩展柜) 2.任务 ...

  7. 【用PS3手柄在安卓设备上玩游戏系列】FC(任天堂NES/FC主机)模拟器

    NESoid 是安卓系统下公认最好的FC模拟器.据我所知,现在安卓系统下面的绝大部分的FC模拟器,都是基于 NESoid 的内核来开发的. 官方网站:http://www.nesoid.com NES ...

  8. aix ntp 配置_IBM AIX系统NTP配置方法

    一.NTP服务介绍 xntp是关于网络时间协议的守护进程,它遵循了因特网时间服务器的通用标准.在启动 xntpd时, xntpd会读取/etc/ntp.conf配置文件来确定网络中系统时钟服务器,以N ...

  9. fc重装机兵计算机密码,FC重装机兵秘籍大全。。。。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 ⒈暴血秘籍:给战车补充参丸. ⒉暴攻秘籍:给牵引的战车补充参丸. ⒊暴装甲片秘籍:战车装备导致战车超重,给战车补充 PAGL. ⒋复制战车:找机械师时,机 ...

最新文章

  1. 认识登录控件(Login、CreateUserWizard、LoginStatus和LoginName)
  2. 如何在Swift 3中创建调度队列
  3. Servlet开发配置
  4. 【转】Struts2 和 Spring MVC对比
  5. python网站开发linux_使用Python编写Linux系统守护进程实例
  6. 必看2021年80后夫妻同时过信息系统项目管理师
  7. HBase性能优化方法总结(一):表的设计
  8. [总结]DataGrid 固定表头实现(纵向和横向滚动条滚动,而Header不动)
  9. main spring启动_SpringBoot学习(一):为什么main方法启动类需要放在项目根目录...
  10. 分布式锁RedLock的java实现Redisson
  11. java jlabel里面加button_在Java Swing中通过JLabel覆盖JButton?
  12. 2022年中国青少年STEAM教育研究报告
  13. javascript中new url()属性,轻松解析url地址
  14. linux下mysql5.7以上my.cnf配置文件配置
  15. ASP连接sql server实例解析
  16. 邮件病毒***后清除步骤
  17. linux用sed命令修改IP地址,通过sed命令获取IP地址
  18. 串口总线舵机之舵机命令
  19. STM32F10xx时钟系统框图及说明学习笔记
  20. html链接到word文档,word做html超链接

热门文章

  1. python调用百度语音搜索_使用 Python 和百度语音识别生成视频字幕
  2. 为什么火线魔盒显示服务器繁忙,火线魔盒使用教程,告诉你火线魔盒怎么用
  3. 2022春 哈工大《近世代数》习题作业解答汇总
  4. php环信发送消息,环信即时通讯 —— 消息、会话
  5. 数据分享|1961-2017年中国0.25°×0.25° 逐日地表水文数据集(VIC-CN05.1)
  6. 8.1 项目质量管理
  7. 如何实现OSM地图本地发布并自定义配图
  8. C#实现语音合成功能
  9. 微云视频转码架构介绍
  10. JAV学习笔记6--7