White Paper
Vinodh Gopal Jim Guilford Erdinc Ozturk Gil Wolrich Wajdi Feghali Martin Dixon IA Architects Intel Corporation Deniz Karakoyunlu PhD Worcester Polytechnic Institute
Fast CRC Computation for iSCSI Polynomial Using CRC32 Instruction
April 2011
323405
Fast CRC Computation for iSCSI Polynomial Using CRC32 Instruction
Executive Summary
Cyclic Redundancy Check (CRC) codes are widely used for integrity checking of data in fields such as storage and networking. There is an ever-increasing need for very high-speed CRC computations on processors for end-to-end integrity checks. We present fast and efficient methods of computing CRC on Intel processors for the fixed (degree-32) iSCSI polynomial, using the CRC32 instruction present in the Intel?? Core?? i5 processor 650 . Instead of computing CRC of the entire message with a traditional linear method, we use a faster method to split an arbitrary length buffer to a number of smaller fixed size segments, compute the CRC on these segments in parallel followed by a recombination step of computing the effective CRC using the partial CRCs of the segments. Parallelized CRC computation is used to maximize the throughput of the CRC32 instruction. We show an efficient method for data buffers of arbitrary length. The final recombination of CRCs adds an overhead and can be implemented with lookup tables on the Nehalem microarchitecture – we show how to do this with as few tables as possible while giving excellent overall performance on the range of sizes. The PCLMULQDQ instruction in the Westmere microarchitecture allows efficient recombination of CRCs without lookup tables. The various methods are thoroughly explained in this paper with real code examples.
2
Fast CRC Computation for iSCSI Polynomial Using CRC32 Instruction
These functions work across an arbitrary range of buffer sizes guaranteeing excellent performance across the range, achieving nearly 3X the performance of a linear implementation of CRC32. For instance, a single core of an Intel?? Core?? i5 processor 650 can compute the CRC of a 1024-byte buffer at the rate of 0.145 cycles/byte with a single thread! 1
- #cb#ce#cc#e5 > Fast CRCComputation foriSCSI PolynomialUsing CRC32Instruction
-
Fast CRCComputation foriSCSI PolynomialUsing CRC32Instruction
下载该文档 文档格式:PDF 更新时间:2012-09-02 下载次数:0 点击次数:1
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
- PDF格式下载
- 更多文档...
-
上一篇:#vtdu i
下一篇:#CDC# 6s8 DgeTeI#DB
点击查看更多关于#cb#ce#cc#e5的相关文档
- 您可能感兴趣的
- cecb 如图cacbcdce badacce5 cbce认证 b7c2cbcegb2312
- 大家在找
-
- · 10kv配电站变压器
- · 城市学院老师联系方式
- · 2010广西梧州蒙山论坛
- · 江西工业职业技术学院
- · 包头市土右旗邮政编码
- · 电驴搜索限制破解版
- · 哈工大大学
- · 简单好看的美甲图片
- · autocad考试题
- · 安徽省徽京剧院
- · 长沙工商联通讯录
- · 三菱伺服电机工作原理
- · 85级工程学图纸
- · 江苏草酸二乙酯
- · dlinkdir605
- · na2co3+caoh2
- · 南京钣金加工厂
- · 玉屏风颗粒增加抵抗力
- · 包头55aa包尾fe
- · 安保学警先进事迹
- · cad中如何做布局
- · solidworks2010sp1
- · 邓丽君去世后尸检照片
- · 思想道德修养与法律基础ppt
- · 新编成本会计实训答案
- · c5225机床电气原理图
- · 宁夏c1模拟
- · 百度怎么上传图片
- · 与时尚同居百度影音
- · 技嘉主板驱动
- 赞助商链接