Folding@home in der c’t-Redaktion

Folding@home in der c’t-Redaktion

Praxis & Tipps | Praxis

Folding@home ist ein Gemeinschaftsprojekt der besonderen Art: Anwender auf der ganzen Welt stellen einzeln oder in Teams ihre PCs in den Dienst der guten Sache. c’t ist dabei.

Beim Distributed-Computing-Projekt Folding@home (F@h) werden private Rechner für die Forschung genutzt. Dabei geht es um die Faltung von Proteinmolekülen, daher das „Folding“ im Projekt­namen. Das „@home“ wiederum steht für das verteilte Rechnen, wobei viele der teilnehmenden Computer in Privathaushalten stehen. Sollte Ihr Rechner im Home­office gerade einen großen Teil des Tages laufen, könnten Sie ihn nebenbei mitfalten lassen. Den Grundumsatz an Strom zahlen Sie ohnehin und der zusätzliche Einsatz wäre für den guten Zweck – aktuell beispielsweise für die Unterstützung der ­Corona-Forschung.

Teammitglieder von Heise Falter: c’t führt die Liste an, c’t-­Redakteur Carsten Spille wurde in­zwischen von LAKSchulz auf Platz drei verwiesen (Stand 8.4.2020).

Auch die c’t-Redaktion stellt ihre ­Rechenpower seit Ende März gemeinsam mit den anderen Redaktionen des Heise-Verlags im Team „Heise Falter“ für das F@h-Projekt zur Verfügung. Anfang April reihten sich etliche Leserinnen und Leser ein: Dank dieser Unterstützung schoss Heise Falter in der F@h-Rangliste innerhalb von zwei Wochen in die Top 300.

Heise Falter (Teamnummer 251999) startete am 25. März 2020. Am 9. April, also nur zwei Wochen später, lagen wir dank der Unterstützung unserer Leser bereits auf Rang 297.

Die Server der US-amerikanischen ­Washington University, Saint Louis, die das F@h-Projekt leitet, verteilen über eine Client-Software kleine Rechenaufgaben an die Computer im F@h-Netzwerk. Über das Internet erhält jeder Client eine sogenannte Work Unit (WU), die er abarbeitet. Ist er damit fertig, schickt die Client-Software das Ergebnis zurück und bekommt anschließend eine neue WU.

Grundsätzlich läuft der F@h-Client auf allen gängigen Desktop-PCs und Notebooks. Dabei nutzt er die freien Ressourcen von Prozessor und Grafikkarte, sofern der PC unter Windows und Linux läuft. Unter macOS bleiben GPUs derzeit außen vor. Die eigentliche Rechenarbeit führt nicht der Folding@home-Client aus: Er startet lediglich die spezifischen Rechenprogramme im Hintergrund, sobald Work Units vom Server eintreffen.

Mit diesen Work Units wird die Moleküldynamik von Enzymen auf atomarer Ebene berechnet. Das kann zum Beispiel die Faltung von Proteinen sein oder die Wechselwirkung mit anderen Proteinen. Momentan beschäftigt sich ein Projekt von F@h beispielsweise mit dem Andock­prozess der Spike-(Stachel-)Glykoproteine des SARS-CoV-2-Virus an das Angio­tensin-konvertierende Enzym 2 (ACE2) der menschlichen Zellmembran. Damit lassen sich potenzielle Wirkstoffe vor den aufwendigen medizinischen Tests darauf prüfen, ob sie die Rezeptoren des Virus und damit das Andocken und Eindringen in die Zellen blockieren.

Folding@home - mit vereinter Rechenkraft gegen das Virus

Für Prozessoren kommt als Simulations-Softwarepaket derzeit der Core a7 zum Einsatz. Er wurde auf Grundlage der Moleküldynamik-Software Gromacs entwickelt. Diese nutzt die Gleitkomma­einheiten moderner Prozessoren über die 256 Bit breite Befehlserweiterung Advanced Vector Extensions (AVX). Weil die Molekülsimulation nur mit einfacher Genauigkeit von 32 Bit rechnet (FP32), lassen sich acht Variablen gleichzeitig verarbeiten. Mit wenigen Ausnahmen unterstützten alle CPUs seit 2011 AVX, darunter die Serien A, FX und Ryzen von AMD sowie Core i-2000 und neuer von Intel. Lediglich bei den Billig-CPUs der Serien Celeron und Pentium hat Intel die AVX-Befehlserweiterung abgeschaltet; sie sind deshalb im normalen Betrieb deutlich langsamer.

Der Core a7 nutzt jedoch nicht nur die Fähigkeiten der Recheneinheiten eines Kerns aus, sondern lässt sich auch sehr gut parallelisieren. Theoretisch kann die Software unbegrenzt viele CPU-Kerne beziehungsweise -Threads ausreizen. Je mehr einer Anwendung davon zur Verfügung stehen, desto schneller ist der Computer mit der Berechnung einer Work Unit fertig. Und je früher er eine abgearbeitete Work Unit wieder zum F@h-Server hochlädt, desto mehr Bonuspunkte gibt es dafür (mehr zum Bonussystem weiter unten). High-End-Prozessoren wie Core X, Epyc, Ryzen 9, Threadripper und Xeon SP sind hier also klar im Vorteil.

Das Rome-Referenzsystem von AMD rechnet mit zwei Epyc 7742, zusammen also 128 CPU-Kernen und 256 Threads. Sein Spitzname: Folding@Rome.

Für Grafikkarten verwendet F@h derzeit den Core 22 mit der GPGPU-Schnittstelle OpenCL. Als Basis für Core 22 dient die Molekülsimulation OpenMM. Die für OpenCL notwendigen Treiber sind bei den Grafiktreibern für GeForce- und Radeon-Karten unter Windows bereits enthalten. Unter Linux muss man zunächst die proprietären Treiber der Chiphersteller Nvidia beziehungsweise AMD installieren. Zu den mit F@h kompatiblen OpenCL-Karten zählen alle GeForce- und Radeon-Modelle der letzten acht Jahre: Bei Nvidia gilt das für GeForce 600 und neuer, bei AMD für Radeon HD 7000 und neuer.

Unsere Standard-PCs nutzen zum Falten zwei Grafikkarten: der Threadripper mit 64 Kernen und die beiden Ryzen-Plattformen mit 12 respektive 16 Kernen.

Moderne High-End-Grafikkarten enthalten mehrere tausend Shader-Kerne. Sie sind deshalb leistungsfähiger als übliche Desktop-Prozessoren. Das trifft insbesondere auf F@h zu, wo Operationen nur mit einfacher Gleitkommagenauigkeit durchgeführt werden. Zum Vergleich: Eine ­GeForce RTX 2080 Ti erreicht bei 32 Bit Genauigkeit 13,45 TFlops, der 16-Kerner Ryzen 9 3950X kommt in dieser Disziplin „nur“ auf etwa 1,8 TFlops theoretische Rechenleistung. Deshalb erhalten Grafikkarten bei F@h komplexere Datenpakete, die wiederum mehr Bonuspunkte liefern. Wer das Maximum herausholen will, lässt deshalb zusätzlich zum Prozessor zwei oder mehr High-End-Karten parallel in einem PC rechnen.

Im Raum, den Ex-Kollege Andreas Stiller bis 2019 verwaltet hat, stehen die Falt-Server der c’t-Redaktion.

Zwar geht es bei F@h primär um die wissenschaftlichen Ergebnisse, doch auch wenn man bei den vergebenen Punkten vorne mitspielt, erhöht das den (An-)Reiz beim Falten ungemein. Wer nicht direkt eine komplette Krypto-Mining-Farm zur Proteinfaltung umwidmen kann, dem stehen ein paar Optionen offen, um diese Motivationshilfe auszureizen.

Eine davon ist der kostenlos gegen Eingabe einer E-Mail-Adresse erhältliche Passkey, der eine Folding-Identität festlegt. Erst mit einer solchen kann man Bonuspunkte erwerben. Um es noch einmal zu betonen: An den wissenschaft­lichen Berechnungen ändert das gar nichts, nur an der abstrakten Punkte­belohnung – es geht hier also lediglich um den Wettbewerb und die Motivation.

Den Passkey erhält man über einen Link im Konfigurationsdialog des F@h-­Client im Karteireiter „Identity“. Zusammen mit dem gewählten Falter-Namen und der Teamnummer speichert man ihn über den Identity-Reiter.

Die über den F@h-Client verschickten Datenpäckchen respektive Work Units sind unterschiedlichen Projekten zugeordnet. Wissenschaftler reichen diese beim F@h-Projekt ein und die Washington University priorisiert sie – aktuell stuft F@h Projekte in Zusammenhang mit Covid-19 besonders hoch ein. Außer der Priorität spielt auch die Komplexität der WUs eine Rolle, simuliert wird die Proteinfaltung für Moleküle mit gut 2000 bis über 290.000 Atomen.

Jede Work Unit bekommt abhängig von ihrer Priorität und Anforderung an die Rechenleistung einen Punktewert („Base Credit“). Der reicht derzeit von 140 Punkten (Projekt #14246) bis hin zu 84.093 (Projekt #14193). Die Laufzeiten (Time­outs, Deadlines) liegen zwischen einem halben und 20 Tagen

Für die besonders schnelle Berechnung einer Work Unit bekommt man Bonuspunkte, weil ein flott zurückgeliefertes Ergebnis die Zirkulation und damit die Infrastruktur entlastet. Die F@h-Server können diese WU dann zu den Akten legen und sich neuen Datenpaketen widmen, anstatt ewig lang kontrollieren zu müssen, ob und wann die verschickte WU zurückkommt und ob sie eventuell an einen anderen Client geschickt werden muss.

Wer zum Beispiel eine WU des Projekts 11762 aus dem Coronavirus-Projekt mit einem Base Credit von 7608 Punkten berechnet, kann mit einer High-End-Grafikkarte wie der RTX 2080 Ti mehr als 95.000 Credits, also das Zwölffache, erhalten. Dafür muss die WU, die sonst ein Timeout von einem Tag und eine Deadline von 8,2 Tagen hat, aber auch in gut einer Stunde fertig berechnet und wieder zurückgeliefert werden – Faltpausen sind für die reine Punkteausbeute sehr kontraproduktiv.

Deshalb lassen sich hohe Punktzahlen auch am besten mit schnellen Grafik­karten erreichen, da hier die Bonuspunkte wesentlich höher sind als selbst bei den schnellsten Prozessoren. Rein aus Punktesicht und Effizienzgründen lohnt es sich, nur die Grafikkarte falten zu lassen und die CPU nicht mit in die Berechnungen einzubinden.

Ein Tipp: Bei den aktuell überlasteten F@h-Servern kommt manchmal über längere Zeit keine WU am Rechner an. Da der Client nach erfolglosen Versuchen das Abfrageintervall stark vergrößert, lohnt es sich, ihn öfter mal zu beenden und neu zu starten, wenn keine Arbeit reinkommt. Dieser Schritt setzt nämlich auch das Abfrageintervall zurück. (uk)


Benjamin Kraft faltet

Ich verwalte die faltende Hardware-­Phalanx im Verlag, die gemeinsam unter dem Nutzernamen „ctTEAM“ antritt. Aktuell haben wir sieben dedizierte Rechner am Start, darunter drei Server: ein Rome-Referenzsystem von AMD mit zwei Epyc 7742, zusammen 128 CPU-Kernen und 256 Threads – Spitzname Folding@Rome –, eine Naples-Plattform mit zwei Epyc 7601, 64 Kernen und summierten 128 Threads sowie einen Cascade-Lake-Referenzserver von Intel mit zwei Xeon Platinum 8280, 56 Kernen und 112 Threads. Luxus-Problem: Einige Work Units lassen sich nicht auf eine beliebige Anzahl von Threads aufteilen. Nachdem ich bis zu fünf CPU-Slots pro Client angelegt habe, liefen die Berechnungen auf dem Folding@Rome ohne Abbrüche durch.

Dazu kommt noch die Hardware von der Stange aus unserem Testfundus. Ein Ryzen Threadripper 3950X, alias Threaddy the Folder, macht dem Naples-Server Konkurrenz und bringt 64 CPU-Kerne plus SMT an den Start, allerdings in einer CPU-Fassung. In seinem TRX40-Main­board stecken zusätzlich eine GeForce RTX 2080 Ti und eine reguläre RTX 2080. Mit „nur“ 16 Kernen plus SMT tritt der Ryzen 9 3950X an, unterstützt durch eine Nvidia Quadro RTX 4000 und eine GeForce RTX 2060 Super. Kleinstes Mitglied der Zen-Falter ist der Zwölfkerner Ryzen 9 3900X, der sich das Mainboard mit zwei GeForce GTX 1080 Ti teilt. Alle genannten Systeme laufen mit Ubuntu 19.10.

Weil ich unsere Radeon VII unter Ubuntu nicht zum Falten bewegen konnte, steckt sie im einzigen Windows-Rechner. Mein Arbeits-iMac dient via FAHControl und Netzwerk als Oberbefehlshaber. Es ist schon ein erhabendes Gefühl, die versammelte Hardware auf Knopfdruck an den Start zu schicken. Immerhin haben einige der Grafikkarten mehr FP32-Rechenleistung als manches NASA-Rechenzentrum Anfang des Jahrtausends. (bkr)


Carsten Spille faltet

Ich habe eine einigermaßen „gut geölte“ Gaming-Maschine zu Hause stehen, bei der sowohl die Grafikkarte als auch der Prozessor mit reduzierter Spannung laufen. Und dank der Leihgabe eines guten Freundes habe ich derzeit sogar Zugriff auf (s)eine GeForce RTX 2080 Ti anstelle meiner normalen RX Vega 56. Schnell war klar, dass ich auf den Prozessor beim Falten verzichten kann – dessen Beitrag an Rechenleistung war im Verhältnis gesehen lächerlich gering.

Für die Grafikkarte hatte ich zuvor bereits ein Gaming-Profil im Tuning-Tool MSI Afterburner angelegt. Darin habe ich ihr eine niedrige Betriebsspannung von 0,775 Volt für 1380 MHz vorgegeben, um Strom, Wärmeentwicklung und Lautstärke zu senken. Da beim Falten fast nur die Recheneinheiten via OpenCL ackern und die sonstigen, stromdurstigen Einheiten einer GPU weitgehend stillliegen, habe ich mich fürs Folding noch deutlich weiter vorgewagt. Nach einer halben Stunde herumprobieren bin ich schließlich bei fixen 0,9 Volt und 1800 MHz gelandet, ohne das jetzt bis ins Kleinste zu Ende optimiert zu haben.

Damit verbraucht die Karte beim Falten knapp über 200 mit dem Tool HWInfo ermittelte Watt. Die GPU wird so circa 74 °C warm und der nie ganz stille Kühler bleibt in halbwegs erträglichem Rahmen. Zwei Kilowattstunden investiere ich bei einer Laufzeit von zehn Stunden also pro Tag für den guten Zweck und belege bei einem Schnitt von knapp 96.000 Punkten pro WU aktuell noch einen der vorderen Plätze im c’t-Team. Ich hoffe sehr darauf, dass mich bald weitere von Ihnen, liebe Leser, überholen werden! (csp)


Christian Hirsch faltet

An Mitmachprojekten für verteiltes Rechnen beteilige ich mich mit Unterbrechungen schon seit 20 Jahren. Laut meinem E-Mail-Archiv hatte ich mich am 27. August 1999 für das Projekt SETI@home angemeldet. Dieses durchsuchte Funkaufzeichnungen des Arecibo-Observatoriums in Puerto Rico nach Signalen, die von außerirdischem intelligentem Leben stammen könnten. Damals rechnete die Software unter anderem auf meinem übertakteten Athlon 500. Nach einigen Jahren Pause lief dann auf meinem damaligen Athlon 64 X2 4800+ die Software Climate­Prediction.net, die Klimamodelle zur globalen Erwärmung durchrechnet.

Für F@h habe ich seit einigen Wochen zwei Rechner am Start: Im Desktop-PC, der hauptsächlich für Bildbearbeitung und PC-Spiele dient, rechnen derzeit rund um die Uhr der Achtkerner Ryzen 7 1800X und eine GeForce GTX 1070 mit 1920 Shader-Einheiten. CPU und GPU simulieren fleißig die Molekülstrukturen von Proteinen und schieben abhängig von der Komplexität jeweils alle 60 bis 120 Minuten eine Work Unit durch.

Eher aus Spaß habe ich F@h zusätzlich noch auf meinem Mini-Server mit dem Dual-Core Athlon 3000G installiert. Dieser muss aber deutlich länger für eine Work Unit strampeln und braucht dafür über sieben Stunden. Als Basis für diesen Rechner dient übrigens der c’t-Bauvorschlag für einen 7-Watt-Mini aus c’t 24/2019. (chh)


Dieser Artikel stammt aus c't 10/2020.

Kommentare