您的位置: turnitin查重官网> 计算机 >> 计算机硬件 >并行多核CPU上常见散列算法设计和优化中心

并行多核CPU上常见散列算法设计和优化中心

收藏本文 2024-02-04 点赞:6233 浏览:19134 作者:网友投稿原创标记本站原创

摘要:SIMD(Single Instruction Multi Data,单指令多数据流)指令是现代微处理器指令系统的重要组成部分,当前广泛利用的SIMD指令是x86系统结构中的MMX指令集和SSE指令集。在一条SIMD指令中可以实现多个数据的并行操作,实现数据级并行,可以有效提升程序的执行效率。另外,OpenMP是为在多处理机上编写并行程序而设计的一个运用编程接口,是用于共享内存并行系统的多线程程序设计的一套指导性注释,对基于数据分集的多线程程序设计,OpenMP是一个很好的选择。随着各种口令保护技术的不断提升,口令的难度和计算量也在不断增大,这主要体现在单向散列算法的复杂度越来越高。所以,如果能结合SIMD与OpenMP并行技术对散列算法进行重新设计与优化,这将为信息安全以及高性能并行计算等领域产生重要影响。本论文重点针对当前常见的MD4、MD5、SHA-1和R基本散列算法,以及基于这些基本算法实现的复杂散列算法,如NTLM、MSCACHE、MYSQL5、UNIX_MD5以及PDF文件加密算法。本论文先浅析这些算法的原理,然后利用SIMD以及OpenMP的并行计算能力,实现算法的CPU并行版本。将各种基本散列算法封装成相应的CPU外部接口,接口内的函数实现则由SIMD的SSE2指令集以及OpenMP共同支持。在实现复杂散列算法时,便可直接调用这些外部接口来并行计算相应的散列值,实验测试表明,利用SIMD指令的加速比在3-4倍之间,OpenMP的加速比则根据CPU的核数来决定,有效地提升了散列函数的并行计算性能,证实文中采取优化对策的有效性。关键词:SIMD论文SSE2指令集论文OpenMP论文散列算法论文并行优化论文

    摘要5-6

    Abstract6-9

    第一章 绪论9-12

    1.1 探讨目的和作用9

    1.2 探讨近况9-11

    1.3 论文的主要工作11

    1.4 论文的组织结构11-12

    第二章 多核 CPU 系统结构和 SIMD 介绍12-22

    2.1 多核 CPU 系统结构12-13

    2.2 OPENMP 介绍13-15

    2.2.1 OpenMP 原理与特点13-14

    2.2.2 OpenMP 程序的设计与执行14-15

    2.3 INTEL 微处理器中的 SIMD 指令15-21

    2.3.1 x86 处理器上的 SIMD 寄存器结构16-17

    2.3.2 MMX、SSE 和 SSE2 的指令功能17-19

    2.3.3 SSE2 指令内嵌原语19-21

    2.4 本章小结21-22

    第三章 常见散列算法原理22-34

    第一部分 基本散列算法22-28

    3.1 MD4 算法浅析22-23

    3.2 MD5 算法浅析23-25

    3.3 SHA-1 算法浅析25-26

    3.4 R 算法描述26-28

    第二部分 复杂散列算法28-33

    3.5 NTLM 算法描述28

    3.6 MSCACHE 算法描述28-29

    3.7 MYSQL5 算法描述29-30

    3.8 UNIX_MD5 算法描述30-31

    3.9 PDF 文件加密算法描述31-33

    3.10 本章小结33-34

    第四章 多核 CPU 上散列算法的并行实现34-54

    4.1 主要的优化策略34-38

    4.1.1 并行优化对策34-35

    4.1.2 XMM 寄存器处理的优化35-37

    4.1.3 OpenMP 技术处理的优化37-38

    4.2 软件总体结构38-40

    4.2.1 统一的处理流程和外部接口38-40

    4.2.2 基本散列算法库40

    4.3 基本散列算法的并行实现40-48

    4.3.1 MD4 算法的并行实现与优化40-43

    4.3.2 MD5 算法的并行实现43-45

    4.3.3 SHA-1 算法的并行实现45-47

    4.3.4 R 算法的并行实现47-48

    4.4 复杂散列算法的并行实现48-53

    4.4.1 NTLM 算法的并行实现48-49

    4.4.2 MSCACHE 算法的并行实现49

    4.4.3 MYSQL5 算法的并行实现49-51

    4.4.4 UNIX_MD5 算法的并行实现与优化51-53

    4.4.5 PDF 文件加密算法的并行实现与优化53

    4.5 本章小结53-54

    第五章 实验测试结果54-58

    5.1 测试平台54

    5.2 I7 处理器介绍54-55

    5.3 MD5 算法经 SSE2 优化后的测试结果55-56

    5.4 MD5 算法经 SSE2 以及 OPENMP 优化后的测试结果56

    5.5 各种算法经 SSE2 以及 OPENMP 优化后的测试结果56-57

    5.6 本章小结57-58

    总结与展望58-59

copyright 2003-2024 Copyright©2020 Powered by 网络信息技术有限公司 备案号: 粤2017400971号