找回密码
 新注册用户
搜索
查看: 61201|回复: 83

想搞个分布式计算项目:SuperPi@home

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

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

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

使用道具 举报

发表于 2004-3-4 00:00:00 | 显示全部楼层
好像不太现实,分布式计算最基本的要求就是要能将计算任务划分成小块.
pi的计算能否"断点续算"?
回复

使用道具 举报

发表于 2004-3-4 00:00:00 | 显示全部楼层
我觉得这个算了有什么用...
回复

使用道具 举报

发表于 2004-3-4 00:00:00 | 显示全部楼层
像 gimps 一样, 是数学爱好者的爱好,  但取精圆周率 也有意义, 在一些大型工程项目上.....  但只有在实施工程才去运算,

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

使用道具 举报

发表于 2004-3-4 00:00:00 | 显示全部楼层
不是有一个软件是superpi吗,测试CPU的。
回复

使用道具 举报

发表于 2004-3-5 00:00:00 | 显示全部楼层
Pi 值计算并不需要很强的计算能力,一般的 PC 足够了。只是利用无穷级数不断从两端逼近而已,原理并不复杂。
回复

使用道具 举报

发表于 2004-3-6 00:00:00 | 显示全部楼层
现在一个普通的PC在能够接受的时间内算出的结果已经足够精确了
回复

使用道具 举报

 楼主| 发表于 2004-3-6 00:00:00 | 显示全部楼层
感谢各位的意见,下面我谈谈我的看法:
一。首先我谈谈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编辑过]

回复

使用道具 举报

 楼主| 发表于 2004-3-6 00:00:00 | 显示全部楼层
我不是心血来潮,而是"蓄谋以久",我相信会成功的,虽然要走的路还很长.
希望能得到大家的支持与帮助!
谢谢!!!
回复

使用道具 举报

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

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


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

回复

使用道具 举报

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


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

使用道具 举报

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

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




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

使用道具 举报

 楼主| 发表于 2004-3-6 00:00:00 | 显示全部楼层
Ubero 就是用JAVA实现的
回复

使用道具 举报

发表于 2004-3-6 00:00:00 | 显示全部楼层
楼主弓虽,支持.好好干吧.
回复

使用道具 举报

 楼主| 发表于 2004-3-6 00:00:00 | 显示全部楼层
不知这是否能上BOINC?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2024-5-3 01:27

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表