Redian新闻
>
什么影响了PCIe实际带宽?

什么影响了PCIe实际带宽?

公众号新闻

在PCIe链路中,数据的传输性能一般不会超过链路的最大带宽,通过将PCIe设备的硬件、固件优化极致,可以使性能发挥尽可能接近链路极限,但即便如此,编码层面的开销、链路层和物理层开销,以及一些参数设定,仍然会对PCIe链路的实际性能带来影响。


本文将对这些影响PCIe链路性能的因素做一个简单盘点,看看它们是如何影响PCIe实际性能发挥的。

数据编码


近年来,PCIe技术迎来了快速发展,从1.0到5.0,每一次技术迭代都带来了数据传输速率的翻倍提升,为NVMe SSD等PCIe设备实现性能的快速增长打下基础。细心的朋友肯定发现了,PCIe从1.0的2.5GT/s一路发展到5.0的32GT/s,它们并没有严格遵循等比关系,这里引出影响PCIe实际传输效率的第一个因素——数据编码。

在信号高速传输中,连续的多个0或多个1会导致信号失真和时钟恢复困难等问题。为避免此现象发生,PCIe 1.0和2.0使用了8b/10b编码机制,通过将8bit数据转换为10bit数据进行传输,使得信号中的0和1数量尽可能相等,并避免连续的多个0或多个1出现。如下图所示,数据 000 0000经8b/10b编码后,输出 100111 0100 或 011000 1011。

部分8b/10b Data Symbol Codes(引自PCIe 1.0 Spec)

8b/10b编码极大优化了PCIe链路的信号质量,但由此也带来了20%的编码开销,这也是PCIe 1.0、PCIe 2.0的数据传输速率明为2.5GT/s、5GT/s,实为2GT/s、4GT/s的原因。

PCIe 3.0、PCIe 4.0和PCIe 5.0使用更加先进的128b/130b编码以及新的扰码方式,以达到直流均衡的效果。同时,由于有效数据载荷占到数据流的98.5%,可以在大幅提高数据传输速率的同时,使得数据编码/扰码带来的损耗可以忽略不计;PCIe 6.0则改用PAM4调制,在不改变时钟频率的前提下实现传输带宽翻倍(即1次信号可以表述2bit数据),同时1b/1b的编码方式对传输效率无影响。

不同PCIe速率对应的数据编码与数据传输速率(引自PCIe 6.0 Spec)


链路层和物理层


在PCIe链路中,Host与PCIe设备(如NVMe SSD)之间的数据交换以TLP(Transaction Layer Packet)数据包的形式,由发送端事务层到接收端事务层进行传输。TLP由Header、Payload、ECRC组成,其中,Header为必需项,包含了该TLP的起始标识符、事务类型、请求方ID、需要发送的目标地址等重要信息,大小为12或16字节;Payload为可选项,是TLP中承载的有效数据,最大4096字节,如果该TLP并不需要传输数据,则Payload为0;ECRC也是可选项,大小为4字节,是对Header、Payload的校验,防止TLP本身出错。

TLP数据包构成

TLP在发送过程中,会经过“加头加尾”的过程——数据链路层添加Sequence Number与LCRC信息,防止数据丢包并避免链路层的错误产生;随后经过物理层,会添加开始与结束信息(结束信息自PCIe 3.0开始不再适用)。TLP在接收过程中,则会经过“掐头去尾”的过程——依照物理层、数据链路层、事务层的顺序,对TLP层层剥茧,识别和校验。毫无疑问,Header、ECRC、Sequence、LCRC、开始信息都会占用额外的数据带宽。

MPS


Payload是TLP中承载的最终有效用户数据,最大长度4096字节。MPS(Maximum Payload Size)是对PCIe链路中最大Payload字节数的设定,根据PCIe Spec规定,分为128B、256B、512B、1024B、2048B、4096B六种,MPS越大,TLP中可以承载的有效数据占比就越高。

但是,MPS并非越大越好。较大的MPS会导致每个数据包的大小增加,进而增加传输负载,使得延迟增加,错误率上升,甚至降低系统性能。常见MPS一般集中在128B、256B、512B三种。在PCIe链路初始化过程中,会根据RC、PCIe Switch、Endpoint的MPS支持情况,按照木桶效应将MPS设定为相同的值。以下图为例,Endpoint 3支持的MPS为128 Bytes,则该PCIe链路只能以最高128 Bytes MPS运行。


PCIe链路MPS设定示意(引自Xilinx)

MRRS


在PCIe链路中,为平衡带宽分配,防止某个读请求过大导致独占PCIe带宽,PCIe Spec还规定了名为MRRS(Maximum Read Request Size)的最大读请求设定,并同样分为128B、256B、512B、1024B、2048B、4096B六种。读请求并不包含Payload。在Endpoint向Host请求较多数据时(如,将大量数据写入NVMe SSD),过低的MRRS设定会导致读TLP过多,并带来大量的ACK/NAK DLLP额外开销。

MPS、MRRS都是影响PCIe传输效率的重要参数,但二者并没有绝对相关性。通常,MRRS会等于或大于MPS,以带来更高的效率。如,MPS设定为128B,MRRS设定为512B,当发起512B数据读请求时,数据将分为4个TLP被传输。

以上是影响PCIe链路传输效率的几个重要因素,它们客观存在且不可避免。作为技术实力领先的NVMe SSD产品和解决方案供应商,我们要做的,是不管产品处在何种PCIe接口速率下,亦或何种不同的硬件搭配、参数设置,都尽可能发挥出产品应有的性能,为企业业务的稳定开展带来支撑。

原文链接:
https://mp.weixin.qq.com/s/KBkkI42pb8jyMlZjKTw2Ew

相关阅读:

高性能计算技术、方案和行业全解(第二版)

InfiniBand架构和技术实战总结(第二版)

RDMA原理分析、对比和技术实现解析


全店铺技术资料打包(全)




转载申明:转载本号文章请注明作者来源,本号发布文章若存在版权等问题,请留言联系处理,谢谢。


更多架构相关技术知识总结请参考“架构师技术全店资料打包汇总(全)(39本全)”相关电子书已经更新至39本,持续更新中。
1、下单“架构师技术全店资料打包汇总(全)”,包含服务器基础知识全解(终极版)pdf及ppt版本,价格仅收239元(原总价399元)。
2、随着电子书数量增加及内容更新,价格会随之增加,所以现在下单最划算,购买后续可享全店内容更新“免费”赠阅。

温馨提示:

扫描二维码关注公众号,点击阅读原文链接获取架构师技术全店资料打包汇总(全)电子书资料详情


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
未来产品经理之路,如何越走越宽?北京大会多位行业高手深入解析!博士扩招破13万,会产生什么影响?美联储议息会议暗示降息,对国内投资市场有什么影响?欧洲将迎来一场不可避免的危机,对我们会有什么影响?以造福人民群众实际成果检验主题教育实际成效!陈吉宁专题调研新一轮民心工程推进落实情况被妖魔化的金税四期对企业和个人有什么影响尖叫声会对大脑造成什么影响?为何让人难以忍受?|科学60秒罗马斗兽场(Colosseum), 古代建筑手套花,慢慢呈现ChatGPT/学历贬值等现象对大学生的学业与就业带来什么影响打响了!八月新奥莱折扣福利已打响了,护肤彩妆,速干衣,运动鞋他发明了PCR,却执迷于玩女人,差点因此错失诺奖利率升高对年金有什么影响?北京上海首套房资格拟放宽?业内:房价还会继续跌|氪金 · 大事件南京再次“松绑”限购,会带来什么影响?便宜却危险!日本核污水排海会对环境和人体造成什么影响?打响了!美国年中大促618全面打响了,奥莱名品折上折,限时惠购继续上新!有哪些音乐和理工都很优秀的Top 30寄宿美高?绿卡对孩子的美国读书有什么影响?| FS问答精选美国新冠疫情正式结束,这3年对你有什么影响?产后屁股大、大腿粗、假胯宽?这3个方法让你快速恢复!(建议收藏)国六B排放/GPF 对我们有什么影响?儿子画的画:春花理解这两个字,就掌握了PPT排版的答案!在海外居住的美国申请人不报税,会带来什么影响?相互利用还是相互欺骗?为何俄罗斯始终坚定支持印度“入常”? zt争议统租房!到底要干什么?对楼市会产生什么影响乌获得F16将对战局产生什么影响“父母的职业对孩子有什么影响??”救命原来这就是差距...浙江全面放宽落户限制,有什么影响?乌克兰装备F16会产生什么影响?英国加入CPTPP,对中国会产生什么影响?绿卡持有者到底是否属于国际学生?对美本申请有什么影响?今年来英留学生爆棚,对今后有什么影响?北京上海成都深圳巡回见面会跟你聊!confident not they will like me but it is fine if they don't7月起一批新法生效,对加州人有什么影响?
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。