We are finally done. I'm sorry it took so long to do the last couple of percent, if I had been more organized (as I really should have been) we would have finished about two months ago.
The official announcement should be going out very soon (ie, as soon as I write it) to everyone who has contributed CPU cycles to PiHex, as well as those who have expressed interest in hearing when we finish. If you belong in one of those categories but don't receive the announcement, I probably have an incorrect email address for you.
If anyone is still running the PiHex client, it isn't doing anything, so you might as well remove it. There isn't any fancy uninstall, just delete everything.
What now? I intend to move on to more interesting problems. PiHex is an example of an 'embarrassingly parallel' problem, which in english means it is really easy to distribute between computers as we have done. A classical computation of Pi (compute all the bits up to a point, rather than only computing a single bit) is much more difficult, but I intend to show that it is nevertheless possible. This project will be run under the name idlepower.net and may ultimately do much more than calculate Pi, as the problems which must be tackled to perform a classical computation of Pi are much the same as the ones which must be tackled to work on other similarly hard problems. Unfortunately, because of the increased difficulty of the problems which idlepower.net will be attacking, it will require participating computers to have a fast internet connection (cable modem, ADSL, satellite, etc.) and a significant amount of free disk space (a gigabyte or more).
To those who cannot or do not wish to follow me to this new project, I suggest that GIMPS would be worthy of your cpu cycles. It is in my opinion the most mathematically interesting project currently running, and needs all the cycles it can get.
Finally, I'd like to thank everyone who has helped out with PiHex over its 2.5 years. Over the years I have been repeatedly amazed at how willing people have been to go out of their way to help me. This could never have happened without all of you and all of your computers.
We're still not done unfortunately. Right now there remains a mess of irregularly sized blocks of work which the server is having trouble assigning. Given the server's lack of success here I'm going to return to the old method of assigning work: email. Anyone who wants to help out with the last few bits of work should email me telling me which computers they will be using and I'll email back some ranges.
PS. Because of a past history of people getting work and then dropping out, I have to restrict this to people who have been involved in PiHex for at least a few months. I hope you all understand.
Sorry guys, we're not quite done yet. Unfortunately as I was checking through all the output the server has received over the past year I found that approximately 0.5% of the work returned has errors in it. Some of this I traced down to a processor which appears to have been overheating; however for the rest I will have to tell the server to reissue the work twice, to be absolutely certain that we get the correct answer.
This regretably means that we will not finish until sometime around the 10th of August.
If anyone else is planning on starting a similar project, let this be a lesson: Check for errors as you go, because it's far more efficient than waiting until the end. If I had done that we would probably have been finished by now.
PiHex is now 99.85% done and counting... I don't think that we will finish today (unfortunately), but it will be Real Soon Now.
We are now about a week away from completion. Considering the current rate and the fact that inevitably some work will have to be redone due to errors, I'm guessing that we'll finish on July 25th. At that point I'll send out an announcement by email, first to PiHex participants, and then to everyone else (professors, webmasters, newspapers, basically everyone who has expressed an interest in PiHex).
The server is now only assigning up to on day of work at once. Hopefully this will not cause any problems; it was necessary because there is very little work left to assign, even after being less conservative in reclaiming overdue assignments.
Currently about 85% of the work has been done and 97% has been assigned. To aid in the prompt completion of our computation, please set your computers to only request one day of work at once if this is possible. Otherwise you may end up without any work when the server cannot find a large enough chunk of unassigned work.
Based on our current rate of computing, we would finish on July 7th; however, this rate will inevitably slow down as the server runs out of assignable work, so I'm estimating a completion date of around July 25th.
OOPS. It seems that some computers ran out of work and are not correctly fetching more. This results in PiHex scrolling "100.000000% done, 0.000000MHz" through the window. If this is occuring on one of your machines, please e-mail me and I'll give you instructions on how to fix it.
The PiHex server has almost run out of work to assign, so some people may not be receiving new work. As soon as I can, I will free up more of the assigned-but-not-finished ranges to be reassigned, and I think this should be done soon enough that no computers actually run out of work.
It looks like distributed computing may soon become commercially profitable. Processtree is a recent startup which is planning on paying people for their idle cpu cycles. Whether they will succeed I don't know, but it seems very likely that someone will eventually. It will be interesting to watch over the next year.
Computations are progressing well. So far almost 2000 computers have joined, of which (as has been the case for the past year) about half are still active.
I am currently working on an NT service version, but at the moment I can't think of any improvements to make to the 'normal' win32 client -- if anyone has any suggestions, please tell me. That said, it is nice to have a vacation for once -- with the server running and the stats being updated every 12 hours automatically, I finally have a chance to do other stuff. (Like christmas shopping, writing code to search for solutions to the Tarry-Escott problem, and collecting information on how to make money by ignoring banner ads.)
Although I expect that Y2K will be a complete non-event, I plan on taking the server offline for a few hours surrounding 4PM PST 31/12/99 (Y2K in GMT) and also around midnight PST. This should go largely unnoticed, since the PiHex client will just keep on trying to communicate every 30 minutes.
Computations are progressing well under PiHex 6.0, and the statistics are all being automatically generated every twelve hours again.
Unfortunately I have just been diagnosed with infectious mononucleosis (aka. "mono"). This is not a dangerous condition, but it means that I will be generally tired until I recover, so I probably won't be getting much work done.
Some people may have noticed that the "work assigned" line on the stats plots has been shooting upwards recently. Unfortunately, most of that is just a few misbehaving computers which are asking for lots of work; it should be around 35%.
Also, although the stats are still being generated every 12 hours, I am having trouble getting them uploaded automatically. So for the next while they will only be uploaded every few days, when I remember.
I just got back from England after a ten day vacation. Although the server stayed up (amazing given that it is running win95!), the statistics died on 28/8/99. I have updated those now, so it should be back to daily statistics updates.
I think that PiHex 6.0 is sufficiently stable for general use now. It can be downloaded from here. People running versions before RC1 may want to download the new version, although it isn't really necessary.
In a few days I will send an e-mail out to all the people who were running PiHex 5.10 but who are not yet running PiHex 6.0 suggesting that they switch to PiHex 6.0; unless there is some reason why people cannot run PiHex 6.0, I will likely not assign any more ranges under that system.
PiHex 6.0 RC1 is now available here.
A few days ago I opened up the betatesting of PiHex 6.0 to everyone. Anyone who is interested in betatesting PiHex 6.0 should go here.
Depending upon the number of bugs people find, I may "officially" release PiHex 6.0 as soon as the middle of August.
I now have my old e-mail account (firstname.lastname@example.org) back.
I would like to apologize to everyone who has tried to send me e-mail in the past couple of days and recieved a 'user unknown' error message back. The idiots at ACS decided to change my user name, so now instead of being email@example.com I am firstname.lastname@example.org.
Yes, I'm still alive ;-). PiHex 6.0 is being betatested right now; we are still finding problems, and I am not going to release it until we fix everything.
Just a slight revision to my comments of December 20 about SETI: Apparently they have decided now to also have a non-screensaver version, although its memory usage may render it somewhat usuable for most people.
I decided that it was a little too hard to get onto the top producers list, so I've enlarged it to show the top 50 people instead of the top 25.
We have finished calculating the forty trillionth bit of Pi. Read about it here.
I will be sending out an e-mail to all PiHex participants very soon to tell everyone about this. If you don't recieve it, I've probably got an incorrect e-mail address listed for you.
I think that I've updated all the PiHex webpages to reflect the fact that we have now finished the forty trillionth bit -- it you find an error please tell me!
We are almost finished computing the forty trillionth bit of Pi. When we do (hopefully within the week), I will e-mail out the announcement to everyone I have listed as participating in PiHex, as well as (of course) announcing it here.
Due to the pending completion of the forty trillionth bit computation, I have had to spend time rewriting my output processing code. As a result, I haven't been able to get much work done on the client for version 6.0. I should have more time starting next week, university permitting.
I have just finished writing the server code for PiHex 6.0. The code is quite fragile, but the server is very readily accessible, so if it crashes I should be able to fix it quickly.
Now I am starting on the client code, and I need betatesters for it. (Well, not quite yet, but I will soon). Anyone who has been participating in PiHex for more than three months, who has completed at least four ranges, and is interested in betatesting version 6.0, please e-mail me. I'd like to see as many 'strange' systems as possible, since those are the ones most likely to cause problems.
On a side note, congratualations to distributed.net on cracking DES-III in a record-setting 23 hours. Now if we could just see all those computers working on something more useful...
Some more information on the classical computation of Pi: Estimated start date: sometime around the beginning of 2000. Estimated duration: 2-3 months for the first record, we'd probably do something else thereafter. Estimated cpu usage: no more than 50%. That is right, it would not use all the idle cpu time. A project of this nature would require that each step finishes before the next one starts, which means that fast computers could easily get stuck waiting for slow computers. The net result being that a significant amount of the idle cpu time would be left as idle.
One final note, since PiHex 6.0 is getting close to being ready, I am not accepting new computers until we move over to PiHex 6.0, simply because the time it takes me to handle new people is better spent on coding version 6.0.
Don't worry, I'm still alive ;-). Here's what's been going on in the last two months:
I had hoped to finish calculating the forty trillionth bit by the end of November. Obviously we didn't quite make it, due to several events piling up on top of each other, including three people going on vacation. It looks now like we will finish the forty trillionth bit sometime in the middle of January. After that, of course, all the computers will be working on the quadrillionth bit, so that should go a bit faster.
After a couple months of hacking together communications code for version 6.0 of PiHex, I've decided that actually getting it released is more important than all the features that I wanted to put into it (having one copy of PiHex 'proxy' communications for another, for example). So (assuming that I get my christmas shopping done before I go back to university in the new year) it should come out relatively soon.
Many people have told me that they are running PiHex 'until the SETI project is ready'. Such people will not have to quit PiHex in April because the SETI project will be a screensaver and will therefore not use all the idle cycles during normal use. As long as PiHex's priority level (implemented in version 5.10) is set to something less than four, PiHex will not interfere with the SETI project screensaver, and will still get a large amount of work done.
People have been asking me where we will be going after the quadrillionth bit. Once we finish computing the quadrillionth bit, we will have accomplished everything that we set out to do, and so PiHex will stop there (at least until someone challenges our record!)
However, in my effort to prove to the world that idle-time computing (aka. distributed computing, but I prefer the name idle-time computing because distributed computing is also used to refer to java scripts and the like) is useful, I am planning on challenging Kanada's record for a 'classical' computation of Pi (ie, all the digits up to a point, rather than 'jumping in' as PiHex does). This will require two things, namely a lot of disk space, and fast communication. I think that this is practical, however, since many people now buy 6GB hard drives with the expectation that it will be enough for the next three years, and because cable modems, ADSL, and other high-bandwidth options are becoming increasingly common. The code would, of course, be written to only use network bandwidth in 'quiet' periods, and to make sure it left significant amounts of free disk space (so it shouldn't get in anyone's way).
To determine how much support there would be for something like this, I am conducting an informal survey. Please send me an e-mail and tell me what sort of internet connection you have (and if you expect that to change in the next year), how much disk space you could spare (knowing that you could get it back when you needed to), and any other comments you have.
PiHex version 5.10 is now available for download. As mentioned below, I think that it fixes the 'overheating' bug, at least in some cases. To upgrade to version 5.10, just download it, and unzip it over the old files.
Because of the added features in version 5.10, most people will probably want to download it.
I have (I think) tracked down the problem with version 5.00. It does indeed cause some systems to overheat which don't overheat when running version 4.11, but there is also a bug which can cause PiHex to report that it is overheating when in fact it isn't.
I will be releasing version 5.10 soon, which fixes this bug, and also adds some long-awaited features, including the option of either setting the calculation thread priority, or having PiHex vary it to match any screen saver or other project client which is using a lot of cpu time.
I would also like to make use of this opportunity to congratulate the editors of Science News on publishing the first error-free article on our computation of the five trillionth bit of Pi.
Several people have had trouble with version 5.00 of PiHex on Pentium II systems. It appears that version 5.00 can cause the cpu to overheat, but it might just be a bug in version 5.00. As a result, I have put version 4.11 back up. If you experience problems with version 5.00, you should use version 4.11, but otherwise you should use version 5.00, since it is faster.
Help, I'm buried by e-mails! Well, not quite, but almost. The New York Times published an article about our calculation of the five trillionth bit on Thursday the 17th, which lead to over 50 new participants, and over 100 e-mail messages. As a result, I might take a bit longer than usual to respond to all of them.
I'm pretty much satisfied that PiHex 5.00 is (relatively) bugfree. As a result, it is now available for download. I have also uploaded the PiHex 5.00 source code.
People running PiHex on Pentiums don't need to download version 5.00, since it only faster non-Pentium cpus. Everyone else, however, should download it, since it is 40-60% faster than the Pentium version.
在经过一个星期经常性的范围短缺，我在9月6日星期日开始分配计算 Pi 的第百万之四次方比特的范围。我也为第百万之四次方比特增加了一个状态区域，尽管到目前为止它显示的并不是很多。
PiHex 的 5.00 版已完成，正在进行 Beta 测试。除非在接下去几天中有任何新的问题被发现，否则我将会在本星期末放出该版本。版本 5.00 在 P6 架构(PPro、PII、Celeron、Xeon)的机器上将会快 40%，在 K6 系列的机器上将快 60%。我期望它在 Cyrix 的机器上也能快一点，但是我现在不知道能快多少。
Rob Simmons 已重新设计了 PiHex 的网页以使它变得更简洁，整体上看起来好多了。在放出 5.0 版本后，我将上传他设计的网页。
我修改了用于计算统计数据和 Top 计算者页面的方程以使它更准确。旧的方程低估了对第4 0 兆比特的运算，高估了对第 5 兆比特的运算。
我们已经完成了对 Pi 的第 5 兆比特位的计算。相关信息请点击这里。
同时，我们快算完 Pi 的第 40 兆比特了(即使已将放弃运算者的部分重新分配)。很快我将开始分配对 Pi 的第 10^15 比特位的计算任务。
所有对第 40 兆比特位运算的范围已全部分配，但是一部分人放弃了运算，因此我正在重新分配他们的部分。然而，绝大多数人在他们放弃运算的时候都不会通知我，而且给 50 个以上的人群发邮件询问他们是否还在运行 PiHex 是一件很困难的事，因此当某人似乎已经退出时，我将重新分配他的部分。这意味着，当你运行了很长时间并且最近没有和我联系，请发一封电子邮件给我，告诉我你依然在运行 PiHex。
PiHex 已经快完成了对 Pi 的第 5 兆比特位的运算。期望在一周内完成。如果可以的话，我将把结果用电子邮件发送给所有参与者。(如果有人知道能方便地将一份邮件发送到大概 200 个邮箱地址的程序，请告诉我)。
对 P6 系列 CPU(Pentium Pro、Pentium II、Celeron)进行过优化的 PiHex 版本已接近完成。(我已试着解决一个与 P6 有关的问题——它事实上不是一个 Bug，仅仅是一个非常奇怪的特性)。我期望能在一周内进行 Beta 测试。我不需要更多的 Beta 测试者，我已经有足够的了。
最后，祝贺 Kimmo Herranen 的迎头赶上，超过了 2.5CPU 年的纪录(当然，拥有 6 台电脑给了他很多帮助……)。
因为需要等待 Intel 对于“P6 核心”问题的答复，Pentium Pro 和 Pentium II 的优化版本将推迟。它看起来像一个 Bug，表现得也像一个 Bug，我正在等待关于它是否真的是一个 Bug 的回复。(译者注：当时的 Pentium 有一些是有浮点错误的，所以各种地方都提到了 P6 core issue，包括区别有 BUG 和没有 BUG 的 CPU。看起来，一开始作者并不确定是 Intel 的 BUG，这个 BUG 也耽误了他不少时间；后来在源代码中，作者实际上写了两个程序对不同的 CPU 分别处理。)
我刚更新了我的传记信息来反映我已正式从高中毕业，并且提到了我刚从 SFU 得到的入学奖学金。
另外补充通告一下，祝贺 Kimmo Herranen 成为第一个 CPU
有些人已注意到，状态区域中的已分配线有时会在两次更新间下降-如果你关注第 5 百万比特范围，你将发现有部分范围刚被分配，即使一个星期前它显示已 100% 分配完。
这是部分人由于种种原因放弃 PiHex 计算后我对其进行的重新分配的结果。
我已更新了状态页面和 Top 计算者页面。
我注意到供人下载的源代码版本为 4.10。我用 4.11 版替换了它。
我刚更新了状态页面和 Top 计算者页面。
我终于找到了某个 Intel 开发者支持队伍的人来帮助我。依然缺少来自 AMD 的技术支持，因此我将首先发布一个对 P6 进行过优化的源代码，对 K6 优化的版本将延迟发布。
状态页面已更新。我决定放弃使用 Excel 的想法，因此该区域现在不那么花俏，而变得更适合于阅读，并且更适合我对其进行更新。
我已经再次更新了 Top 计算者页面。我寂寞单独的奔腾 225 处理器似乎计算地相当勤奋；它正处于页面的顶端，而其他拥有更快 CPU 能力的人却远远排在后面。
我刚更新了 Top 计算者页面。一些新名字出现在这里，一些往上移了一点。
不久我将更新改统计页面，但是现在我正关注于为 K6 和 P6 处理器优化代码。不幸的是由于缺少 Intel 和 AMD 的支持帮助，我遇到了一些小麻烦，所以这样会花费我一点时间。
我已增加了 Top 计算者页面。列在上面的名字与我的数据库中的一致。当我在从某人处得到的第一封电子邮件中找不到任何真实姓名时，我会输入他们邮件地址“
@”标记前的部分作为他们可能的名字。一般地，在 Top 计算者页面的名字并不都是人们的真实姓名。
我刚完成了对 PiHex 网站的拓展：我增加了该页面和统计页面。我将增加一个 Top 计算者页面，但我还未完成它；到目前为止我只从 6 个人那里收到过结果，所以我还不能真的把那个页面做好。
我不久会把 PiHEX 的网站迁移到 SFU 的 Center for Experimental and Constructive Mathematics 中心。
我已完成了对第 5 百万比特运算范围的分配。我现在正开始分配第 4 千万比特运算的范围。