Folding@home Hoge prestaties cliënten FAQ

Sony PLAYSTATION®3ATI Radeon™ 3870 X2 Nvidia 9800GTX

Inhoudsopgave

De prestaties van de Folding@home (FAH) cliënt-software is van het grootste belang voor het FAH project. Terwijl vele berekeningen kunnen worden bespoedigd door simpelweg meer processors aan de klus toe te kennen, hebben andere cliënten zo hun beperkingen. In veel berekeningen, een gegeven simulatie traject moet een vooraf bepaald rekenpunt kunnen bereiken, ook nog eens binnen een gestelde tijd, voordat alle berekeningen ook echt bruikbaar zijn. Dit bovenstaande geeft al aan dat er behoefte is aan cliënten die een gegeven traject sneller moeten kunnen gaan berekenen.

We hebben sinds begin 2003 gewerkt om de FAH cliënt geavanceerde eigenschappen te geven om deze "super"kracht te bewerkstelligen voor dit type van calculeren. We hebben verschillende benaderingen uitgeprobeerd. Dit werk wordt gedaan in samenwerking met anderen, want er zijn limieten aan wat het FAH-Team kan doen. Ook doen wij nu meer ervaring op van de kennis van hen, welke oorspronkelijk niet bij ons aanwezig was.

Momenteel, gaat al onze aandacht uit naar ons hoofddoel de GROMACS. Dit werk is nu nog erg experimenteel en het is moeilijk te zeggen wanneer deze nieuwe methodes vanuit het "lab" beschikbaar gaan komen ter bewerking in FAH (aan U dus). Onderstaand, beschrijven we sommige manieren van aanpak en hun huidige status. Als gevolg van de experimentele onderzoek natuur van dit werk, is het onduidelijk wanneer deze projecten klaar zijn en beschikbaar zullen komen binnen de FAH-distributie.

Om ook aan de wensen van onze samenwerkende partijen tegemoet te komen en deze te respecteren, kunnen wij niet alle vorderingen melden. Ook experimenteel werk betekend dat er grote bergen beklommen moeten worden, en er vele manieren van aanpak zijn die getest moeten worden; dus, iets dat op een gegeven moment lijkt te werken, zouden bij updates in de ontwerpfase ineens niet meer kunnen werken.. (denk hierbij aan de drivers van uw hardware)

Wij zijn erg opgewonden over deze samenwerkingen en hopen dat de projecten snel in FAH beschikbaar zullen komen.(het zou mooi zijn binnen 6-12 maanden). Hoewel we een slag om de arm moeten houden, denken wij dat het te vroeg zal blijken te zijn. Duidelijk mag zijn een "stotterende" en dus inefficiënte "high performance cliënt" , zou het FAH project geen goed doen.


Videokaarten helpen vouwen (GPU's)

Wat zijn GPU's en hoe kunnen zij FAH helpen?

GPU's zijn Grafische Processing Units -- chips die gebruikt worden in de computers van vandaag de dag, zij helpen de beelden tot hoge 3D kwaliteit te brengen en maken HD televisie mogelijk. GPU's hebben de mogelijkheden een enorm aantal Floating Point Operations (FLOPs)tot stand te brengen. Hoewel, zij dit kunnen presteren door soms aan andere kwaliteiten te kort te schieten -- zijn er maar een beperkt aantal berekeningen geschikt voor deze vorm van folding. Maar na veel en intensief werk, zijn wij in staat gebleken een Hoge Geoptimaliseerde Moluculair Dynamische code voor GPU's te ontwikkelen. Videokaarten kunnen een snelheidsverhoging bereiken van 20x tot 40x ten opzichte van "gewone"processors gebruikt bij FAH. Dit betekend dat wij een enorme stap vooruit maken ten opzichte van wat er een paar jaar geleden al mogelijk was.

Welke GPU's worden ondersteund?

Wij ondersteunen de CUDA-types van NVIDIA (hoofdzakelijk G80 en later) en de HD38** + HD48** series of nieuwer van ATI.

Punten

Er zijn intussen verschillende nieuwe versies gelanceerd geweest van onze GPU code. De vroegste versie kwam tot stand onder samenwerking van Prof. Pat Hanrahan (Stanford University, Computer Science Dept) and Prof. Eric Darve (Stanford University, Mechanical Engineering Dept) en hun groepen echter deze versie heeft de praktijk nooit gehaald.De volgende versie werd geschreven en geoptimalisserd door V. Vishal en werd in de praktijk uitgegeven als GPU1 binnen Folding@home. Recentelijker hebben wij de tweedde generatie uitgebracht van de GPU code (GPU2) van Folding@home; deze werd ook geschreven door V. Vishal. Mark Friedrichs (basis code en ATI), Scott LeGrand (NVIDIA port), en Mike Houston (ATI optimalisaties). Hiermee werd het mogelijk dat ook de Nvidia cliënten konden gaan deelnemen.

Nieuwe updates voor de software

Wij zullen periodiek updates verzorgen van de cliënten (en bewaren de oudere versies en gegevens voor archivering). Deze updates dienen als een overzicht van de gemaakte belangrijkste veranderingen. Voor een meer recent overzicht van cliënten en ontwikkeling kijkt u aub op Nieuws pagina (Vijay's blog).

Juli 2005 We hebben een werkende versie van GROMACS op "Brook", maar zijn de prestaties nog aan het "fine-tunen"

Augustus 2005 Vishal heeft een grote vooruitgang geboekt met het herschrijven van de GROMACS "inner loops" in relatie tot een beter en groter gebruik van RAM geheugen. Nu zijn wij bezig met prestatie aanpassingen.

September 2005 Vishal heeft uitgevonden, dat de nieuwe wijzigingen nog niet helemaal goed werken. We zijn ook nieuwe hardware aan het benchmarken en testen en daarna weer evalueren.

Oktober 2005 Met het op de markt komen van de R520 ATI kaart, lijkt het erop dat we in de buurt gaan komen. Onze niet optimale code ziet er al goed uit en we werken er aan om deze verder te optimaliseren.

December 2005 Vishal werkt aan het optimaliseren van de nieuwste code. Wij zoeken de hulp van GPU fabrikanten om onze codes op hun kaarten af te kunnen stemmen.

Januari 2006 Samen met videokaart fabrikanten hebben wij een-op-een gesprekken gevoerd (sorry, we kunnen nog niet zeggen wie, maar hopen op snel) om ons te helpen, goed aan te sluiten op hun product en om onze code verder te verfijnen. Ik hoop dat dit tot iets opwindends gaat leiden, blijf afgestemd op dit kanaal!

Februari 2006 Vishal is trying out a new type of code to run on GPUs to see if we can get an even greater speed increase. Depending on how this looks, we may go with the new version or stick with the previous one to release on FAH.

Maart 2006 We have been investigating using ATI boards. The newest ones (with the R520 or R580 GPU -- eg the 1800XT or 1900XT boards) support 32 bit floating point operations, so they now work for folding calculations.

April 2006 We and our collaborators have submitted our first folding on GPU papers to the Supercomputing 2006 meeting. The results will be publically available at a later date. We are now working to refine the algorithms as well as make the code suitable for running on FAH. One of the big challenges for FAH deployment will be the differences in drivers on donors machines. However, we now have a plan for this and so we are starting to make plans for porting to FAH. We note that the port may take a while to debug (and we will want to do a great deal of internal testing before releasing such a different type of port).

Mei 2006 We have started building a GPU cluster to test the GPU port of FAH/Gromacs and to get some initial results to make sure that everything is working well. Before putting this into FAH, we need to make sure that both the science is validated (we get the right answers, only quicker!) and that the GPUs are up to being run 24x7 on FAH. I'm most concerned about the latter point and so this "burn in" test will be important. Assuming all goes well, we'll start the porting to FAH, with the hope (but not an official release date) to release this by the end of the 2006 calendar year.

Juni 2006 Vishal has been testing the code to make sure it gives the right numbers for FAH WU's. We've found some surprises and so there has been a fair bit of code development to make fixes.

Juli 2006 Vishal has made a new library to make it a lot easier to make new codes into FAH cores. The "corification" of the GPU code should follow shortly. For now, we've been mainly running code tests by hand on the cluster.

Augustus 2006 We're running on the cluster and starting to ramp up. Vishal's new method to build cores should yield a FAH core soon, but it will take a lot of Q&A (GPU folding is much more sensitive to machine configuration) so it will still take some time before we release the core. It's pretty exciting for us to see the calculation racing away on the GPU cluster! Prof. Pande also formally announced FAH's GPU client at his award lecture at the Protein Society meeting, with a great response for the GPU work. We will be making a more formal announcement of the GPU client and some other surprises relatively soon. Note the update above regarding GPUs -- we currently plan to support only recent generation ATI GPUs (see above).

September 2006 We have been alpha testing the code with people outside Stanford. So far so good, although the driver version seems to be an important consideration (more info later). We are beta testing the ATI GPU client software internally at the moment and will likely announce an open beta in four to five weeks (end of September).

Oktober 2006 The open beta has begun. More info can be found on our GPU FAQ. We have had early problems with EUE's due to some bad interactions between the core and certain drivers, but that appears to have been worked out. There are a few cosmetic bugs still (in particular, output of how much has been completed), but for the most part, it looks like folding is working on GPU's. We are moving to support additional types of cards as well as multiple boards in a single computer. We hope that after a few weeks, all the major issues will be ironed out and we can move to a more full release.

November 2006 We have been making lots of updates to the GPU core. Some are to help the code run better (eg on multiple GPU's) and some are science-side updates.

December 2006 We have been looking into the ability to run Folding@home on nVidia G80's and have found a bug in the G80 driver. We have informed nVidia about it and are waiting for them to resolve it.

Maart 2007 We are nearing completion of our next major revisions to the GPU core. We hope to have it out in a month or two (but GPU coding has been notoriously complex).

April 2008 We lanceren onze tweede generatie GPU2 code voor de ATI-cliënt.

Juni 2008 We hebben nu dezelfde GPU2 voor de NVIDIA-cliënt beschikbaar.

Toegevoegd is nu ook de nieuwe FAQ voor de PS3-cliënt.


Vouwen met SMP client op MultiProcessors

SMP processors (2 of meer in een computer) zijn momenteel al redelijk veel in gebruik, en verwachten dat deze steeds gebruikelijker zullen worden. Om FAH op meer dan een processor te laten werken, zijn er verschillende uitdagingen te overbruggen. Een van de meest op de voorgrond tredende is de, schaalbaarheid van de GROMACS core. Voor de meeste codes (inclusief GROMACS), krijg men niet simpelweg 4x de snelheid bij gebruik van 4 processors.Dit dooe inefficienties bij de schaling. Ook zijn er unieke uitdagingen aan de kant van de servers. Omdat GROMACS een zeer uitgebreide code behoeven ten opzichte van de servers die FAH gebruikt. Onze hulp van eerste uur hiernij Prof. Charlie Peck (Earlham College, Computer Science Dept). Prof. Peck heeft gewerkt aan makkelijkere manieren om GROMACS te creeren om clusters en SMP machines samen te laten werken binnen Folding@home.

Juli 2005 We have two approaches to solving the SMP problem and are experimenting with them in parallel. Both are pretty early stage, but appear to work reasonably well in the lab. The biggest challenge right now appears to be server side.

Augustus 2005 Abhay has been making steady progress here. We are trying two approaches: a pure SMP approach as well as an approach which would also work on computer clusters. There are pros and cons of each and having both programs allows us to take the best version.

September 2005 Abhay has found that we need to change the Gromacs code base used. We're working on the switch with Prof. Peck's group.

November 2005 We have had some snags with the code. Prof. Peck will be coming out to Stanford in early 2006 and that should help push this through.

Januari 2006 We have been talking with the Gromacs developers about a threads-based solution as well, which would have many benefits over an MPI solution for multi-core CPUs/SMP.

Juli 2006 Discussions with Gromacs developers suggest that their code development is going well, but a bit delayed. The good news is that the delay is due to added functionality, so when it does ship, we should be in good shape.

Oktober 2006 We have had some good success with a new direction for the SMP client. We are optimistic that this will be reasonable to release. Once the GPU client is a little further along, we will put more attention into this direction.

November 2006 The SMP client is now looking good enough that we are starting a more broad beta test outside of Stanford. If that looks good, we will move to a completely open beta test of this new client. The SMP client supports OSX/Intel natively (which means a major points boost for OSX donors) as well as 64-bit linux (with 32-bit linux hopefully to come soon). Windows support will come much later, as this is a very different architecture for porting than OSX & Linux.

Maart 2007 We have released a version of the SMP client for 32-bit Windows. There are some unique quirks due to the nature of running MPI on Windows, but it's a natural choice for donors who need or want to run Windows.

April 2008 We have continued to update our SMP core, most notably including our A2 core, which has much better scalability.


De Sony Playstation3 (PS3)

De PS3 is een krachtig systeem voor wetenschappelijke berekeningen. Zijn Cell processor heeft het potentieel om erg veel rekenkracht te kunnen geven. Op vele manieren "zit", de Cell (en daarom de PS3) tussen de GPU's en de Multi-core Processors in. Hij is flexibeler dan de GPU's, maar minder flexibel dan de CPU's. Zeer krachtig is de PS3, in de calculaties die hij kan maken. Consequent is hij krachtiger dan een processor maar minder krachtig dan een videokaart. In de balans tussen flexibiliteit en snelheid, kiest de Cell "de gulden middenweg" Andere voordelen zijn de uniformiteit van de PS3's, ze zijn immmers allemaal gelijk, zeker een stabiele factor dus. De sterke videokaart heeft de mogelijkheid om de data snel door de videokaart te laten "streamen", om dus goede beelden van de FAH verwerking te kunnen laten zien.

Maart 2007 In partnerschap met Sony, hebben we de Folding@home software op de PS3 gelanceerd.

April 2008 Firmware Versie 1.3 werd uitgegeven door Sony, inclusief een nieuwe wetenschappelijke code (GB/SA).


GROMACS op "Clearspeed"

Clearspeed biedt een CPU architectuur welke, gelijk is aan de architectuur van videokaarten GPUs in vergelijking tot de vele paralelle FPUs, goes beyond GPUs by having a more flexible architecture and many other scientifically useful properties, such as double precision FPUs. Clearspeed has been working on porting GROMACS and has done some public demos. Once they have completed the port, we will start testing its feasibility to be used in FAH.

Juli 2005 GROMACS is running on Clearspeed hardware with a significant speed increase over CPUs. However, we are still waiting to get final code from Clearspeed.

Augustus 2005 No specific news to update. We are looking forward to the launch of the new cards, hopefully in the fall.

September 2005 No specific news to update. There have been rumors about pricing for these cards, but nothing official yet.

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.


FAH op BOINC

BOINC is een infrastructuur ook bestemd voor gedistribueerde computer verwerking. BOINC is geproduceerd door dezelfde groep te LBNL welke ook SETI@Home hebben bewerkstelligd en zijn zeer nuttig gebleken voor het gedistribueerd computeren. Wij hebben de mogelijkheden verkend om ook BOINC als een toegevoegde client te gebruiken ter aanvulling op de eigen clienten om de donoren een kans te bieden bij ons aan te schuiven.(speciaal voor diegenen die als met BOINC bezig waren.

Januari 2006 Wij hebben een eerste client welke alpha getest is in een kleine group. Dit heeft geleid tot wat problemen welke moeilijk oplosbaar bleken te zijn en hebben onze aanvangsdatum moeten uitstellen, totdat deze naar tevredenheid zullen zijn opgelost.

April 2006 Er is veel van de code vrijgegeven, maar zitten nu in het midden van het proces wie van onze staf bij welk deel van de teams gaat behoren, dit heeft veredere ontwikkeling helaas vertraagd.


Voor meer Informatie kijkt u op:


Laatst bijgewerkt op November 26, 2008, at 02:34 AM door: Hans van der Leer