龙之梦工作室
LOGO

技术文章


(SCI) Parallel Algorithm for Wireless Data Compression and Encryption   (SCI) Fast Algorithm of Truncated BWT for Data Compression of Sensors   Dr. Qin Jiancheng   龙之梦助力肇庆教育网云计算   Dr. Zhou Yousheng   Dr. Bai Yuan   龙之梦工作室加盟华南理工学术团队   [软件下载] ComZip超级压缩机免费版下载   继续潜行,龙之梦工作室技术研发又一年   [软件交易] “雅典娜”网页密码锁在线购买   [软件交易] Super Prime超级质数机在线购买   [软件交易] ComZip超级压缩机在线购买   [信息安全] “风语者”高强度加密技术   [信息安全] 多层纵深防御体系结构   [合著] 专利:安全事件检测方法及装置  

[原创] 电脑的奥林匹克:Super Prime五项测试的并行算法优化

[ 2008-08-31 23:00:14 ]

  引言/提要:某些特定情况下的测试结果,低档次电脑系统反而超越了高档次的电脑。正如奥林匹克竞赛,谁输谁赢并不是早已注定。这是公平竞争,人人都有的机会。

  关键词:奥林匹克,并行计算,算法优化,核心技术,核心竞争力

Super Prime 超级质数机

  Super Prime超级质数机,是龙之梦工作室自主开发的快速求64位大质数软件,可以用来测试电脑系统的性能。它主要通过算法优化的方式,把现代电脑的性能优势充分发挥出来,从而体现出新的电脑系统比旧电脑快在哪里。
  Super Prime由五个不同的测试程序组成,分别侧重与测试电脑系统的不同方面。犹如奥运标志的五环,分别代表地球的不同地区。
  从2007年初开始,龙之梦工作室对这个软件进行了并行算法优化,使其在超线程、双核、多核、多CPU等技术下发挥更出色。在多个升级版本中,陆续开放了求64位质数主程序、求32位预备数据的并行优化。
  实际测试中,用双核CPU系统验证了并行算法优化对性能起到了实质性的提升作用。主要表现在:
  求64位大质数的速度提高77.5%,轻松突破了10秒钟的大关。具体见《百米冲刺,Super Prime求质数突破10秒大关》和《并行计算显神威,Super Prime性能倍增》。
  解决了文件写入冲突之后,求所有32位质数的时间,也就是数据准备时间,从接近9个小时,大幅缩短到3小时13分钟。具体见《更快、更高、更强,Super Prime再度升级》和《超级质数机:并发执行中的异步问题处理心得》。
  最后完成的节约内存模式下的并行算法优化,解决了共享缓存冲突问题。实际测试结果显示,不但双核CPU系统中的性能大幅提升,就连单核、无超线程CPU系统中也有显著改善。究其原因,一是并行算法提高了磁盘缓存的命中率,减少了读取硬盘的次数,二是多线程状态下,CPU和硬盘能够同时工作,不必互相等待。
  后面附上内部测试数据和简要说明,供大家参考。从中也可以看出,某些特定情况下的测试结果,低档次电脑系统反而超越了高档次的电脑。正如奥林匹克竞赛,谁输谁赢并不是早已注定。这是公平竞争,人人都有的机会。
  Super Prime超级质数机,是奥林匹克计算机竞赛选手开发的软件,体现了更快、更高、更强的奥林匹克精神。龙之梦工作室将会一如既往地秉承这种宝贵精神,在信息化的领域中发扬光大。

  内部测试数据如下:

A机:AMD Athlon XP 2000+系统,单核、无超线程技术,8MB缓存的IDE硬盘,测试程序prime64_f.exe对内存大小不敏感。

prime64_f.exe (group=1, threads=1) >>> Mon Oct 08 18:37:46 2007
 //group=1表示一个一个质数计算,threads=1表示单个线程运算
18446744073709551557 , 34000 ms  ( thread 1 , +34000 ms )
18446744073709551533 , 68781 ms  ( thread 1 , +34781 ms )
18446744073709551521 , 104328 ms  ( thread 1 , +35547 ms )
18446744073709551437 , 171390 ms  ( thread 1 , +67062 ms )
18446744073709551427 , 206047 ms  ( thread 1 , +34657 ms )
18446744073709551359 , 240734 ms  ( thread 1 , +34687 ms )
18446744073709551337 , 275265 ms  ( thread 1 , +34531 ms )
18446744073709551293 , 312000 ms  ( thread 1 , +36735 ms )
18446744073709551263 , 346672 ms  ( thread 1 , +34672 ms )
 //9个质数总耗时346.672秒,平均每个质数38.52秒

prime64_f.exe (group=1, threads=2) >>> Mon Oct 08 10:51:12 2007
 //group=1表示一个一个质数计算,threads=2表示2个线程并行运算
18446744073709551557 , 44657 ms  ( thread 2 , +44657 ms )
18446744073709551427 , 75797 ms  ( thread 1 , +31140 ms )
18446744073709551533 , 85078 ms  ( thread 2 , +9281 ms )
18446744073709551359 , 115610 ms  ( thread 1 , +30532 ms )
18446744073709551521 , 125719 ms  ( thread 2 , +10109 ms )
18446744073709551437 , 167250 ms  ( thread 2 , +41531 ms )
18446744073709551263 , 168282 ms  ( thread 1 , +1032 ms )
18446744073709551191 , 215578 ms  ( thread 1 , +47296 ms )
18446744073709551337 , 215641 ms  ( thread 2 , +63 ms )
 //9个质数总耗时215.641秒,平均每个质数23.96秒
 //并行运算比单个线程快了60.8%


B机:AMD Athlon64 X2 3800+系统,双核、无超线程技术,8MB缓存的SATA硬盘,测试程序prime64_f.exe对内存大小不敏感。

prime64_f.exe (group=1, threads=1) >>> Mon Oct 08 10:40:16 2007
 //group=1表示一个一个质数计算,threads=1表示单个线程运算
18446744073709551557 , 40703 ms  ( thread 1 , +40703 ms )
18446744073709551533 , 90719 ms  ( thread 1 , +50016 ms )
18446744073709551521 , 138953 ms  ( thread 1 , +48234 ms )
18446744073709551437 , 196344 ms  ( thread 1 , +57391 ms )
18446744073709551427 , 245687 ms  ( thread 1 , +49343 ms )
18446744073709551359 , 295515 ms  ( thread 1 , +49828 ms )
18446744073709551337 , 344109 ms  ( thread 1 , +48594 ms )
18446744073709551293 , 392875 ms  ( thread 1 , +48766 ms )
18446744073709551263 , 441547 ms  ( thread 1 , +48672 ms )
 //9个质数总耗时441.547秒,平均每个质数49.06秒
 //单线程运算,比档次更低的A机还要慢21.5%(主要原因估计是硬盘子系统NCQ工作原理的差异)

prime64_f.exe (group=1, threads=2) >>> Mon Oct 08 10:57:45 2007
 //group=1表示一个一个质数计算,threads=2表示2个线程并行运算
18446744073709551557 , 17422 ms  ( thread 2 , +17422 ms )
18446744073709551427 , 33813 ms  ( thread 1 , +16391 ms )
18446744073709551533 , 35969 ms  ( thread 2 , +2156 ms )
18446744073709551359 , 53203 ms  ( thread 1 , +17234 ms )
18446744073709551521 , 54547 ms  ( thread 2 , +1344 ms )
18446744073709551437 , 73078 ms  ( thread 2 , +18531 ms )
18446744073709551263 , 74031 ms  ( thread 1 , +953 ms )
18446744073709551337 , 92531 ms  ( thread 2 , +18500 ms )
18446744073709551191 , 93063 ms  ( thread 1 , +532 ms )
 //9个质数总耗时93.063秒,平均每个质数10.34秒
 //并行运算比单个线程快了374.5%——惊人的提升
 //与A机的并行运算相比,也快了131.7%——作为双核系统,这个差距还算是正常

发表意见   相关搜索   返回主页   关闭窗口
相关文章:
  [原创] 项目组长与软件设计师的故事 [2007-08-31]
  [合著] 网友交流:关于互联网技术发展方向 [2007-07-28]
  [合著] 网友交流:关于智能搜索 [2007-07-28]
  [原创] 网页加密利器——“雅典娜”网页密码锁使用技巧 [2008-08-06]
  [转载] 美对华科技产品出口管制源于“中国威胁论” [2007-06-19]
  [原创] 超级质数机:并发执行中的异步问题处理心得 [2007-09-01]

最新留言:
  [2014-10-16]
  [2014-10-16]
  [2014-06-04]
  [2014-06-04]
  [2013-12-08]
  [2013-11-29]


从2005年3月18日起
访问本站页面计数器人次
版权所有 © 2005 龙之梦工作室,保留一切权利。
电子邮箱:master@28x28.com , co2288@126.com
相关链接 |