Performance evaluation of long integer multiplication using OpenMP and MPI on shared memory architecture

Jitendra V. Tembhurne, S. Sathe
{"title":"Performance evaluation of long integer multiplication using OpenMP and MPI on shared memory architecture","authors":"Jitendra V. Tembhurne, S. Sathe","doi":"10.1109/IC3.2014.6897187","DOIUrl":null,"url":null,"abstract":"Multiplying long integers is an operation that has many applications in Computational Science and arbitrary arithmetic computation. Many cryptographic algorithms such as Diffe-Hellman key exchange [1], RSA, ECC and etc. require operations on very large subsets of the integer numbers. These algorithms use security key size of 1024 bits and more for secure message encryption, decryption and, key exchange. To perform encryption, decryption and key exchange we are required to perform a series of exponentiation and multiplication operations. In this paper, we propose the parallel multiplication algorithms for long integers on multiple core processors using parallel programming languages such as OpenMP and MPI. The OpenMP and MPI are most common parallel languages for programming and provide different performances characteristics. We also target to analyze and compare the OpenMP and MPI implementations on multi-core processors. The new proposed parallel algorithm achieves better performance than the basic serial implementations. The achieved speedup by OpenMP and MPI on serial implementation are 12.62x and 10.72x using school-book, 49.95x and 37.26x using Karatsuba on school-book, 66.11x and 31.47x using Toom-Cook on school-book. We have observed, as bit-length are increased the parallel algorithms exhibits better speedup performance on utilizing more cores available.","PeriodicalId":444918,"journal":{"name":"2014 Seventh International Conference on Contemporary Computing (IC3)","volume":"157 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 Seventh International Conference on Contemporary Computing (IC3)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IC3.2014.6897187","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

Abstract

Multiplying long integers is an operation that has many applications in Computational Science and arbitrary arithmetic computation. Many cryptographic algorithms such as Diffe-Hellman key exchange [1], RSA, ECC and etc. require operations on very large subsets of the integer numbers. These algorithms use security key size of 1024 bits and more for secure message encryption, decryption and, key exchange. To perform encryption, decryption and key exchange we are required to perform a series of exponentiation and multiplication operations. In this paper, we propose the parallel multiplication algorithms for long integers on multiple core processors using parallel programming languages such as OpenMP and MPI. The OpenMP and MPI are most common parallel languages for programming and provide different performances characteristics. We also target to analyze and compare the OpenMP and MPI implementations on multi-core processors. The new proposed parallel algorithm achieves better performance than the basic serial implementations. The achieved speedup by OpenMP and MPI on serial implementation are 12.62x and 10.72x using school-book, 49.95x and 37.26x using Karatsuba on school-book, 66.11x and 31.47x using Toom-Cook on school-book. We have observed, as bit-length are increased the parallel algorithms exhibits better speedup performance on utilizing more cores available.
基于OpenMP和MPI的长整数乘法在共享内存架构下的性能评价
长整数的乘法运算在计算科学和任意算术计算中有着广泛的应用。许多加密算法,如Diffe-Hellman密钥交换[1]、RSA、ECC等,都需要对非常大的整数子集进行操作。这些算法使用1024位及以上的安全密钥进行安全消息加密、解密和密钥交换。为了执行加密、解密和密钥交换,我们需要执行一系列的幂和乘法运算。本文采用并行编程语言OpenMP和MPI在多核处理器上实现了长整数的并行乘法算法。OpenMP和MPI是最常见的编程并行语言,它们提供了不同的性能特征。我们还将分析和比较OpenMP和MPI在多核处理器上的实现。所提出的并行算法比基本的串行实现具有更好的性能。OpenMP和MPI在串行实现上的加速速度分别为:使用schoolbook时的12.62倍和10.72倍,使用Karatsuba时的49.95倍和37.26倍,使用Toom-Cook时的66.11倍和31.47倍。我们观察到,随着比特长度的增加,并行算法在利用更多可用内核时表现出更好的加速性能。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信