标题: 想搞个分布式计算项目:SuperPi@home
hackerboy
版主
Rank: 6Rank: 6Rank: 6


UID 716
精华 0
积分 363
帖子 339
阅读权限 100
注册 2004-3-4
发表于 2004-3-4 00:00  资料  主页 短消息  加为好友  QQ
想搞个分布式计算项目:SuperPi@home

我一直对圆周率的超精度计算很感兴趣,但知道靠自己一人的力量是没法完成. [em00]
      前几年接触到分布式计算,于是想到,用分布式计算来完成圆周率的超精度计算是很有希望的.于是,开始了漫长的自学编程之路.
      现在,希望把这个梦想早日实现.请大家畅所欲言各抒己见,谈谈看法.
      谢谢

不好意思,因为给人原因一直没时间和精力来完成这个项目。但我对这个项目的热情丝毫没有减退,非常感谢大家的支持和关心,我会在忙完这阵子后重新进行这个项目!     2007.4.27添加

[ 本帖最后由 hackerboy 于 2007-4-27 14:31 编辑 ]





SuperPi@home----需要你的共同关注!!! [IMG]http://www.jason314.com/pic/pf1e.gif[/IMG]
顶部
[广告] [Folding@Home] NV/AMD 版 GPUv2 客户端均已发布,附简单教程!
烦人
超级版主
Rank: 6Rank: 6Rank: 6
不是会员



UID 5
精华 4
积分 4739
帖子 4482
阅读权限 101
注册 2003-11-7
来自 浙江
发表于 2004-3-4 00:00  资料  主页 短消息  加为好友  QQ
好像不太现实,分布式计算最基本的要求就是要能将计算任务划分成小块.
pi的计算能否"断点续算"?






顶部
和平
资深顾问
Rank: 5Rank: 5



UID 10
精华 0
积分 1561
帖子 1417
阅读权限 10
注册 2003-11-8
发表于 2004-3-4 00:00  资料  主页 短消息  加为好友  QQ
我觉得这个算了有什么用...





[img]http://sig.braindev.de/dc.php/user/wangji/team/China%20Grid%20Team/transparent/true/bg/255,0,0/line/255,0,0/ucolor/255,0,0/scolor/255,0,0/logo/IrishLites3.png/projectpos/-10,-100/project/wcg.png[/img]
顶部
Simon_Sen
论坛知事
Rank: 3Rank: 3Rank: 3


UID 805
精华 0
积分 283
帖子 263
阅读权限 10
注册 2004-3-6
来自 玉隆轩-SimonJade.com
发表于 2004-3-4 00:00  资料  主页 短消息  加为好友  添加 Simon_Sen 为MSN好友 通过MSN和 Simon_Sen 交谈 QQ ICQ 状态 Yahoo!
像 gimps 一样, 是数学爱好者的爱好,  但取精圆周率 也有意义, 在一些大型工程项目上.....  但只有在实施工程才去运算,

楼主是为了计算 而计算, 没有实际意义啊............





[url=http://www.simonjade.com][img]http://www.simonjade.com/bbs/sign.php[/img][/url] [url=http://www.tong19.com][www.tong19.com][/url]
顶部
S-Vampire
资深顾问
Rank: 5Rank: 5


UID 14
精华 13
积分 4329
帖子 3853
阅读权限 10
注册 2003-11-8
来自 Canada
发表于 2004-3-4 00:00  资料  主页 短消息  加为好友  添加 S-Vampire 为MSN好友 通过MSN和 S-Vampire 交谈
不是有一个软件是superpi吗,测试CPU的。

顶部
heroufo
论坛担当
Rank: 4


UID 84
精华 0
积分 776
帖子 744
阅读权限 10
注册 2003-11-21
来自 天津
发表于 2004-3-5 00:00  资料  短消息  加为好友  添加 heroufo 为MSN好友 通过MSN和 heroufo 交谈 QQ Yahoo!
分布式计算是如何工作

看看这个

1、常见的分布式计算模型
分布式计算的两个主体是Server和许多的Client。中枢计算机——Server产生发送给工作站端的工作数据包,工作站端则根据工作数据包里的数据逐一进行计算,待计算结束后,结果数据包将回传给Server。
当前受欢迎的则是三层架构的模型,把Server的任务分成两层,一层产生工作数据包,另一层充当代理,负责和客户端的联系这是一个简单的能够处理负载量和具备错误保护功能的方法。
基于这种模型的Server必须要能够知道潜在客户端的存在,当每一个工作站开始运行时,Server都需要另一个信息以增加工作数据包的发送量并进一步完善工作数据包,因此每台Client开始工作时将会发送一个需要工作数据包的请求,Server收到这个请求后发送一个工作数据包到Client,随后客户端的软件开始计算。



例如:分布式网络的RC5-64号工程是一个破解加密信息的挑战。为了尝试到每一个可能存在的密钥,从0~264被一个一个的测试,直到我们找到英文文本。事实上,为了易于一次性探测到正确的密码,我们假设隐藏文本是以“密文是……”开始的。
在这种类型的搜索里,我们也许幸运的一开始就找到答案;也许不够走运以至于到最后才找到答案,这都很公平。然而完成RC5-64这一处理将花费掉单个Pentium 3处理器20万年的时间,显然,这超过了它的使用期限。相比之下,如果我们找200000台计算机来进行分工处理,那么也许只需花费一年的时间就能够顺利完成——待检测的密钥序列被化整为零分裂成一个个以228个密钥为单位的块,而每一个块被制成一个工作数据包。



2、Server与Client是如何交流的
要与工作站建立联系并交换数据,服务器产生的所有信息都需要被广播出去。Internet是无处不在的,而电子邮件和超文本传输协议等公用的传送机制都是可供选择的通信资源,至于如何选择取决于我们的分布式运算是以那种方式进行的。

3、工作站端干什么?
分布式计算提出了一个让工作站端能够在后台持许工作的方法,而用户完全不需关心任何东西。这种实现基于两个原则,其一是任务连续分配和空闲优先权,其二是写一个屏幕保护程序。现在的调度程序已经不错了,而空闲优先任务将在人们完全不用关心任何东西的情况下自动执行。利用屏幕保护程序可以利用计算机闲置的时间计算工作任务。





4、如何产生工作数据包?
工作数据包的产生依赖于工作站端的询问工作。在Distributed.net的例子中,这非常简单。从0~264的关键字区域被划分为大小为228的快。当一个工作站端请求一个工作包时,传给它一套10个数据快。这种处理非常简单——当工作端在执行时不能请求新的工作包,它会自发的选择一个数据块来进行计算。为什么要划分为228大小的数据块呢?228是一个比较适当的大小,包含232个关键字的数据块显得太大了,而包含224个关键字的数据块却又过快。





QQ: 15311370
顶部
mopz0506
论坛会员
Rank: 2Rank: 2


UID 107
精华 0
积分 81
帖子 74
阅读权限 10
注册 2003-11-29
发表于 2004-3-5 00:00  资料  短消息  加为好友 
Pi 值计算并不需要很强的计算能力,一般的 PC 足够了。只是利用无穷级数不断从两端逼近而已,原理并不复杂。

顶部
Lightalt
版主
Rank: 6Rank: 6Rank: 6
[G5 CPU]


UID 12
精华 10
积分 8231
帖子 7618
阅读权限 100
注册 2003-11-8
来自 [我是火星人]
发表于 2004-3-6 00:00  资料  主页 短消息  加为好友 
现在一个普通的PC在能够接受的时间内算出的结果已经足够精确了





[离别地球|回到火星]
-----[中国分布式计算论坛]-----[生命不息|计算不止]-----
-----[Lightalt]-----

顶部
hackerboy
版主
Rank: 6Rank: 6Rank: 6


UID 716
精华 0
积分 363
帖子 339
阅读权限 100
注册 2004-3-4
发表于 2004-3-6 00:00  资料  主页 短消息  加为好友  QQ
感谢各位的意见,下面我谈谈我的看法:
一。首先我谈谈SuperPi的意义
   在历史方面,众所周知,中国的3。1415926……在世界领先了近千年。但在此之后,就没了身影。pi的记录20年来一直被日本保持。而且一直都是用超级计算机。
   在数学方面,圆周率的研究,推动了一些数学算法的发展。
   再者,圆周率的计算,是检验计算机总体性能的最好方法之一。将其引入分布式计算,能检验网络的总体情况。对下一代网络建设有一定指导作用。(这是我的初衷)

二。现在谈谈实现
   考虑再三,我想放弃C++和FORTRAN,而用JAVA2来实现。究其原因,我们不是因为计算而计算,所以不用在速度上太在意。而要考虑跨平台的可操作性。
   我所知的现在最新记录是日本金田教授在2002年创造的12111亿位,这只有用分布式计算才能打破。我做过分析:
   设经过k次迭代能算出n位有效值。如果用波耳温四级收敛式(至今最快的公式),则需要13.5n字节的存储空间(RAM),要经过(7+27k)*24n*log2 n次双精度运算.(使用多精度算法)
   要用分布式并行计算,必须将它分段.如果分为10段,就需要10的平方+1=101台pc来参加计算,
其间只要有1台出问题,就会前功尽弃. 如果计算到1000万位,每台pc就要100*1000万/10=100MB的RAM空间.总的信息交换量达2*101*100MB=202000MB!


[此贴子已经被作者于2004-3-6 14:54:41编辑过]







SuperPi@home----需要你的共同关注!!! [IMG]http://www.jason314.com/pic/pf1e.gif[/IMG]
顶部
hackerboy
版主
Rank: 6Rank: 6Rank: 6


UID 716
精华 0
积分 363
帖子 339
阅读权限 100
注册 2004-3-4
发表于 2004-3-6 00:00  资料  主页 短消息  加为好友  QQ
我不是心血来潮,而是"蓄谋以久",我相信会成功的,虽然要走的路还很长.
希望能得到大家的支持与帮助!
谢谢!!!





SuperPi@home----需要你的共同关注!!! [IMG]http://www.jason314.com/pic/pf1e.gif[/IMG]
顶部
hackerboy
版主
Rank: 6Rank: 6Rank: 6


UID 716
精华 0
积分 363
帖子 339
阅读权限 100
注册 2004-3-4
发表于 2004-3-6 00:00  资料  主页 短消息  加为好友  QQ


QUOTE:
以下是引用烦人在2004-3-4 14:07:52的发言:
好像不太现实,分布式计算最基本的要求就是要能将计算任务划分成小块.
pi的计算能否"断点续算"?

因为是迭代计算,所以目前还没找到断点续算的方法,所以只有将每一次的迭代值备份.


[此贴子已经被作者于2004-3-6 14:56:01编辑过]







SuperPi@home----需要你的共同关注!!! [IMG]http://www.jason314.com/pic/pf1e.gif[/IMG]
顶部
hackerboy
版主
Rank: 6Rank: 6Rank: 6


UID 716
精华 0
积分 363
帖子 339
阅读权限 100
注册 2004-3-4
发表于 2004-3-6 00:00  资料  主页 短消息  加为好友  QQ


QUOTE:
以下是引用mopz0506在2004-3-5 20:38:33的发言:
Pi 值计算并不需要很强的计算能力,一般的 PC 足够了。只是利用无穷级数不断从两端逼近而已,原理并不复杂。

1000万位的话一般pc一小时就能算完,1亿位呢?1000万位要135MB的RAM,而1亿位则要1.35GM的RAM,一般pc没那么大,只有调用硬盘做虚拟内存,这样所需时间成指数增加.
那么我们要计算10000亿位呢?





SuperPi@home----需要你的共同关注!!! [IMG]http://www.jason314.com/pic/pf1e.gif[/IMG]
顶部
heroufo
论坛担当
Rank: 4


UID 84
精华 0
积分 776
帖子 744
阅读权限 10
注册 2003-11-21
来自 天津
发表于 2004-3-6 00:00  资料  短消息  加为好友  添加 heroufo 为MSN好友 通过MSN和 heroufo 交谈 QQ Yahoo!
计算圆周率是不错的想法,还可以测试机子,再说了分布式并不是用C++、JAVA这种语言编写的,主要还是如何把数据包分发给用户和如何回收并组合这些数据包,需要有一整套的机制来完成,并不是你想的那么简单,想法不错(希望能实现吧)

你可以看看这本书介绍分布式是如何编写的等。
http://www.dearbook.com.cn/Book/ViewBook.aspx?pno=TS001248






QQ: 15311370
顶部
hackerboy
版主
Rank: 6Rank: 6Rank: 6


UID 716
精华 0
积分 363
帖子 339
阅读权限 100
注册 2004-3-4
发表于 2004-3-6 00:00  资料  主页 短消息  加为好友  QQ


QUOTE:
以下是引用heroufo在2004-3-6 15:23:21的发言:
计算圆周率是不错的想法,还可以测试机子,再说了分布式并不是用C++、JAVA这种语言编写的,主要还是如何把数据包分发给用户和如何回收并组合这些数据包,需要有一整套的机制来完成,并不是你想的那么简单,想法不错(希望能实现吧)

你可以看看这本书介绍分布式是如何编写的等。
http://www.dearbook.com.cn/Book/ViewBook.aspx?pno=TS001248


JAVA2已对分布式计算有了很好的支持。
现在我想尽快和中科院联系上,取得他们的帮助。(中科院曾也搞过这样的项目。我也曾和一位中科院教授取得了联系,和他探讨了一些高精度Pi值的问题。)





SuperPi@home----需要你的共同关注!!! [IMG]http://www.jason314.com/pic/pf1e.gif[/IMG]
顶部
hackerboy
版主
Rank: 6Rank: 6Rank: 6


UID 716
精华 0
积分 363
帖子 339
阅读权限 100
注册 2004-3-4
发表于 2004-3-6 00:00  资料  主页 短消息  加为好友  QQ
Ubero 就是用JAVA实现的





SuperPi@home----需要你的共同关注!!! [IMG]http://www.jason314.com/pic/pf1e.gif[/IMG]
顶部
 



当前时区 GMT+8, 现在时间是 2008-7-24 20:03
沪ICP备05042587号

本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0 © 2001-2007 Comsenz Inc.
清除 Cookies - 联系我们 - 中国分布式计算总站 - Archiver - WAP