Alternative FAH Platforms

For the latest news on any of the platforms mentioned below, the official source is the High Performance FAQ, the link for which can be found at the bottom of this page.

Why is there no XYZ platform client?
PandeGroup will only port the client to another platform if and only if there is great return of investment after doing so. Return here is defined as computing power per system, and number of possible systems running the (new) client.

If the platform is capable of very high GFLOPS then the system count can be low (i.e. ClearSpeed), but generally the system count should be in the thousands (i.e. GPU) to justify a port to it.

Also see the note at the bottom of the Other Operating Systems section

Clusters
For details on what a cluster is see here: Computer cluster

While Clustering is not currently supported, there is a development which might create a framework that could run on clusters. The client will get SMP support to support a PC with 4 CPUs/cores and from this work the FAH DC system might gain an official clustering support as well if there is enough demand.

Note: The Folding@Clusters project (http://cluster.earlham.edu/projects.html) will probably remain a separate project and not be incorporated into the FAH DC system infrastructure.

Note: The Pande Group itself is using on cluster: http://www.linuxjournal.com/node/7090/print (published Nov 2003)

The SMP client moves massive amounts of data between the SMP treads. Based on that, the bandwidth of the cluster interconnections will probably be too slow to achieve any kind of reasonable performance out of a cluster.

Beowulf clusters
For details on what a Beowulf cluster is see here: Beowulf (computing)

At present the client itself is not capable of running on Beowulf clusters. The linux client will run on a single node, which means will not take advantage of the cluster itself but will probably run as fast as the slowest part. Note: This has not been verified. At the same time there is work being done to bring to clusters, but it is totally different platform and it is highly unlikely that the  client itself will get support for these type of systems.

GPU
Graphics Processing Units (GPUs) being highly specialized FPUs capable of a large number of FLOPS have the potential to bring a whole new angle to running. While GPUs are designed to perform one specific task of accelerating graphics, these are basically mathematical calculations, which can evidently put to use in the Gromacs core.

Pandegroup have been in collaboration with people using and developing the Brook GPU programming language and also with hardware vendors, although NDAs are in place surround which particular companies are involved.

The second-generation client has been released with support for ATI HD2xxx and nVidia 8xxx and later hardware. The cores are still in beta whilst science fixes and some stability issues are attended to, but are fundamentally stable.

Cell (PS3)
Cell is a shorthand for Cell Broadband Engine Architecture, commonly abbreviated CBEA in full or Cell BE in part. Cell combines a general-purpose POWER-architecture core of modest performance with streamlined coprocessing elements which greatly accelerate multimedia and vector processing applications, as well as many other forms of dedicated computation.

This client is currently at v1.4 with a benchmark of 900PPD.

http://www.scei.co.jp/folding/en/

64-bit support
64 bit support yields no computational advantage for the FAH programs so far. However, 64-bit is currently required for the Linux SMP client due to issues getting correct results from the SMP a2 core on 32-bit linux.

ClearSpeed
The ClearSpeed technology is based around a co-processor, or set of co-processors that are specifically designed to accelerate Math Library routines like BLAS. It offloads these calculations from the host CPU to its own dedicated and highly specific processor. ClearSpeed claim 200GFLOPs sustained whilst performing Double Precision DGEMM operations.

ClearSpeed has ported GROMACS to their co-processor architecture and Pande Group has shown an interest in supporting these cards in the  client. Development is still behind closed doors and time for a full release or beta is unknown.

These boards are intended for highly specialized tasks and will likely cost too much (current list price of the board is $8000 - http://www.heise.de/newsticker/meldung/83902) for regular folder to afford, but if the -ClearSpeed client arrives then it will outproduce anything running the client today.

It is likely the -ClearSpeed clients will tackle their own set of projects and will never run regular folding WUs.

Latest News (December 2005)
The CS hardware appears set to roll out in the Spring of 2006. We do not have updates on the code which we can publicly discuss at the moment.

The CS speculation
24.oct. 2006:

I am sure that we see no FAH client on CS hardware and this is not because the Pande Group will not like to see it, but because the CS does not need it anymore. The GROMACS was one of the first CS supported platform and the FAH was a natural "user" candidate for it. The CS needed any publicity they can get and they used it as much as possible. All may change and it did - the CS shifted from designing/manufacturing of hardware to designing only. The CS is not interested in the GROMACS anymore (ex. I found no mention of GROMACS on the CS pages) and is pushing for the more traditional HPTC markets. Good for them.

Btw: Because of that the CS boards will keep costing arms-and-legs and will not be affordable to the FAH donors anyway.

By User:IvoShiee.

PPU
Physics Processing Units (PPU) are specialized co-processors designed to perform physics calculations, most notably in video games. This acceleration calculations would be of great interest to since the almost entirety of their simulations are based on physical interactions.

Unfortunately it seems PPUs are not currently up to this task:

Vijay Pande: We've checked it out and it doesn't look like it will be useful for us (at least in the current incarnation). Also, even if they did support our types of calculations, what they mean by "physics" is fairly different than what we'd call. It's probably closer to "physics inspired." For games, it's perfect, for simulations, it might need to be more realistic (at least for our needs).

FPGA
Field Programmable Gate Arrays (FPGAs) are chips that can be designed and altered on-the-fly to perform a great many different tasks. Think of them as breadboards on microchips.

FPGAs are not suitable for.

We've investigated FPGA's and they won't yield the performance that GPUs will. The main point is that it's hard to even implement a single FPU in FPGA's and have room left over to do something interesting, whereas GPU's have tons of well developed FPU's. _____________ Professor Vijay S. Pande, PhD

Java
Using Java to create a platform/OS independent port of the client and cores is not technically feasible. It would be nice to have, but the cores themselves, which do all the work, are OS specific and rely on optimizations such as SSE and Altivec which are unavailable in Java. The resulting ports would be so slow and uncompetitive that they wouldn't be worth running.

Xbox 360
A client for the Xbox 360 has been suggested several times and the reasons given for why it sadly won't happen are these:


 * Microsoft seem to not want to work with the Pande Group.
 * The Xbox 360's overheating issues... it has a habit of overheating while running games, so Microsoft are unlikely to run the risk of an even higher failure rate by allowing software to be run which is some of the most taxing available.
 * The Xenon processor in the 360 is not even a full PPC processor, it just uses part of the specification and some extensions added by Microsoft. This severely limits the usefulness of the processor to F@H. The PS3 is similar but this problem was overcome with the reprogrammable SPEs in the Cell BE processor which can be adapted to run F@H.

Nintendo Wii
There have been a few people who have requested a folding@home client for the Nintendo Wii claiming that even though the Wii hardware is not very good, the massive install base would make folding on the Wii a good idea. This is not true and has been shot down for several reasons.
 * 1) The folding@home project is evolving in new directions and does not want to be limited to processors that have the same performance of an ancient Mac
 * 2) There are clients running on processors that are slower than the Wii and are still making contributions to folding@home. However, clients for these processors already exist, and a new client to run on a Wii would not be made for the same reason that a new client to run on the old processors would not be made. Those old processors that are still making contributions have clients that already exist! it's very difficult to justify making a NEW client for low performance processors.
 * 3) The client probably can't run while the Wii is sleeping since the Wii goes into a low-power sleep mode and many of its capabilities may be impaired.

In reference to the Wii hardware not being powerful enough to make a significant contribution...

Yes, it's hard to imagine folding working well on the WII at all. ... Also note that not all PPC CPU's are equal. Some of the embedded versions are pretty primitive (comparable to a Mac G3, and definitely not a G5). source _____________ Professor Vijay S. Pande, PhD

Please consider that Pande Group has limited resources, and as such, must prioritize it's limited abilities to develop new clients. In affect, they need to pick the low hanging fruit first, and look to the future, not the past. ... Nintendo would need to step up and do much of the client development like Sony did for the PS3. If you can bring Nintendo on board, the odds would improve a lot. Sorry, but without their help, the "No Wii client" answer isn't likely to change.source _____________ 7im

The Nintendo Wii is a great gaming machine, but for folding, it just isn't feasible to see a client any time soon.

Other Operating Systems
In response to this statement, regarding developing clients and cores for more Operating Systems: I believe that Folding@Home is important enough to merit support for as many OSes as possible.

Vijay Pande said: I would state your primary thesis above differently. I'd say: Folding@Home should run on as many CPUs as possible Our goal has always been to increase the # of CPUs. This is not always done by increasing the # of ports, but in many cases by improving the existing clients. Looking at the numbers, an increase in Win users by 20% would swamp out all other ports combined.

Unfortunately the argument that it would require no additional work by the Pandegroup since a third party would actually develop the client is moot also, since Vijay and his team have to manage, control and test each port. So unless the developer has a PhD in computational biology and can guarantee that their port will function correctly in the real world, The Pandegroup would have to be involved in its development almost from day 1.

One factor that is often overlooked: Continuing support. Before a port to another OS is considered, the Pande Group must have representative computers running that OS in their software development lab. Each time there is an upgrade to either the FAH client or any one of the FAHcores, they must recompile that code for every one of the supported OSs. Since the number of FAHcores seems to be growing as well as the number of supported platforms, the total work for even a small scientific improvement is becoming a rather large number, leading to slower and slower upgrades.

Related Links

 * Folding@Home high performance client FAQ
 * Earlham College Cluster Computing Group
 * VMX128 (AltiVec) - Wikipedia
 * XBOX 360 Xenon CPU - Wikipedia
 * XBOX 360 Xenos GPU - Wikipedia
 * VMX128 (AltiVec) - Wikipedia
 * XBOX 360 Xenon CPU - Wikipedia
 * XBOX 360 Xenos GPU - Wikipedia
 * VMX128 (AltiVec) - Wikipedia
 * XBOX 360 Xenon CPU - Wikipedia
 * XBOX 360 Xenos GPU - Wikipedia
 * VMX128 (AltiVec) - Wikipedia
 * XBOX 360 Xenon CPU - Wikipedia
 * XBOX 360 Xenos GPU - Wikipedia
 * VMX128 (AltiVec) - Wikipedia
 * XBOX 360 Xenon CPU - Wikipedia
 * XBOX 360 Xenos GPU - Wikipedia
 * VMX128 (AltiVec) - Wikipedia
 * XBOX 360 Xenon CPU - Wikipedia
 * XBOX 360 Xenos GPU - Wikipedia
 * VMX128 (AltiVec) - Wikipedia
 * XBOX 360 Xenon CPU - Wikipedia
 * XBOX 360 Xenos GPU - Wikipedia
 * XBOX 360 Xenon CPU - Wikipedia
 * XBOX 360 Xenos GPU - Wikipedia