Join PiHex
Source Code
Top Producers
What's New?
Other Projects
Who am I?
Email me!
hits since the counter last reset.

Pi Symbol What's New

September 11, 2000
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.

August 19, 2000
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.

July 28, 2000
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.

July 25, 2000
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.

July 14, 2000
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).

May 29, 2000
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.

May 23, 2000
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.

February 25, 2000
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.

February 21, 2000
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.

February 7, 2000
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.

December 30, 1999
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.

November 28, 1999
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.

September 15, 1999
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.

September 2, 1999
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.

August 15, 1999
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.

July 30, 1999
PiHex 6.0 RC1 is now available here.

July 7, 1999
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. z

June 11, 1999
I now have my old e-mail account (cperciva@sfu.ca) back.

May 28, 1999
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 cperciva@sfu.ca I am caperciv@sfu.ca.

May 4, 1999
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.

March 5, 1999
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.

February 18,1999
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.

February 9,1999
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!

February 6,1999
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.

January 19,1999
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.

December 20, 1998
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.

October 29, 1998
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.

October 28, 1998
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.

September 29,1998
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.

September 18,1998
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.

September 9,1998
After a week of being constantly short on ranges, I started assigning ranges for calculating the quadrillionth bit of Pi on Sunday, September 6. I have also added a status plot for the quadrillionth bit, although so far it doesn't show very much.
Version 5.00 of PiHex is finished, and is being betatested right now. Unless any new problems are found in the next couple of days, I will make it available by the end of the week. Version 5.00 is about 40% faster on P6 architecture machines (PPro, PII, Celeron, Xeon), and about 60% faster on K6s. I expect it to also be faster on cyrixes, but I don't know by how much.
Rob Simmons has redesigned the PiHex web pages to be clearer, and generally better-looking. After releasing PiHex 5.00, I will be uploading the new pages he made.

September 2,1998
I've modified the formula I use for calculating the statistics for the top producers page to be slightly more accurate. The old formula ended up underrating work done on the forty trillionth bit, and overrating work done on the five trillionth bit.

August 30,1998
We have finished calculating the five trillionth bit of Pi. Read about it here.
Meanwhile, we are starting to run out of ranges for calculating the forty trillionth bit of Pi (even after re-assigning ranges from dropouts). Sometime soon, I will start assigning ranges for calculating the quadrillionth (10^15th) bit of Pi.

August 18,1998
I just realized that I haven't said anything here in two months. Well, here's what's going on:
All the ranges for the calculation of the 40 trillionth bit of Pi have been assigned, but quite a few people have dropped out, so I am reassigning their ranges. However, most people don't tell me when they drop out, and it is too difficult to send multiple e-mails to 50+ people asking them if they are still running PiHex, so when it looks like someone has quit, I'll reassign their ranges. Which means, if you're taking a long time, and you haven't communicated with me recently, send me an e-mail telling me that you still exist.
PiHex has almost finished calculating the five trillionth bit of Pi. Expect something within a week. Assuming I can find a good way to do it, I will send an e-mail out to everyone telling them what the answer is. (If anyone knows of a convinient program for sending out a single e-mail to about 200 addresses, please tell me).
The P6-optimized (Pentium Pro, Pentium II, Celeron) version of PiHex is almost ready. (I've managed to work around the problem I was having with the P6 -- it isn't actually a bug, it is simply a very strange feature). I expect to be betatesting it within a week. I do not need any more beta-testers, I already have enough.
Finally, congratualations to Kimmo Herranen on racing ahead, and passing the 2.5 CPU year mark (of course, having 6 computers helps a bit...).

June 14,1998
There have been some recent problems with the server on which the PiHex web pages reside, due to some new hardware. As far as I know, the problems have now been resolved.
Work on the P6-optimized version of PiHex has been delayed pending an answer from Intel regarding an issue relating to the P6 core, used in the Pentium Pro and Pentium II. It looks like a bug, it acts like a bug, I'm waiting to get an answer on whether it really is a bug.
Meanwhile. I'm doing some preliminary work on the protocols for an automated version, so my time isn't being completely wasted.

June 3,1998
I've updated my biographical information to reflect the fact that I have now officially graduated from high school, and also to mention the entrance scholarship I just won from SFU.
On a more relevant note, congratulations to Kimmo Herranen on being first to break the 0.5 P90 cpu year mark.

May 31,1998
Some people have noticed that the 'assigned' lines in the status plots sometimes move downwards between updates -- if you look at the 5 trillionth bit range now, you'll see that there was a range just recently assigned, even though a week ago, it showed that it was 100% assigned.
This is due to my re-assigning ranges after people drop out of PiHex for various reasons.

May 21,1998
I've updated the status and top producers pages.

May 19,1998
I noticed that the source code for download was only version 4.10. I've replaced it by version 4.11.
I've updated the status and top producers pages.
I've finally managed to find someone at Intel developer support who is willing to help me. Given the continued lack of support from AMD, this means that I'll likely release a version with P6 optimized code first, then release a K6 version later.

May 16,1998
The status page is now up to date. I decided to scrap the idea of using Excel, so the plots are now less fancy, but more readable, and also much easier for me to update.

May 11,1998
I've updated the Top producers page again. My lonely single Pentium 225 seems to be working rather hard; it is up at the top of the list, while other people who have far more CPU power are further down.
I will update the status page soon (really!), unfortunately I've been busy throwing up for the past few days.

May 6,1998
I've just updated the Top producers page. A few new names are on here, and a couple people moved up a bit.
I will be updating the status page soon, but right now I'm concentrating on optimizing the code for K6 and P6 processors. I'm running into a bit of trouble with a lack of support from Intel and AMD, unfortunately, so it may take me a while.

April 29, 1998
I've added the 'Top producers' page. The names listed are as in my database. When I don't see any real name in the first e-mail I get from someone, I just enter the portion of their e-mail address before the '@' sign; consequently, the names in the 'top producers' list are not always the real names of people.
PiHex's website is now officially http://wayback.cecm.sfu.ca/projects/pihex/pihex.html. Please update your bookmarks.

April 21, 1998
I've just finished expanding the PiHex website: I've added this page, as well as a status page. I will have a 'Top producers' page, but I can't put it up yet; I've only gotten results back from six people so far, so I can't really make that page yet.
I'll soon be moving the PiHex webpages over to an account provided for them at the Center for Experimental and Constructive Mathematics here at SFU.

April 19, 1998
I've finished assigning ranges for the five trillionth bit calculation. I am now starting to assign ranges for the forty trillionth bit calculation.