"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

PC für mathematische Berechnungen

Bunny 19.09.2019 - 12:33 811 10
Posts

Bunny

forum slave
Avatar
Registered: Oct 2002
Location: Austria
Posts: 525
Hallo Leute,

meine derzeitige Aufgabe ist es, einen PC zu organisieren, welcher mathematische Berechnungen durchführen soll. Im speziellen geht es um irgendwelche Algorithmen die (keine Ahnung was genau) berechnen und dafür ziemlich viel Rechenleistung benötigen.

Derzeit wurden die Berechnungen in der Amazon Cloud durchgeführt und je nach Datenmenge dauerten diese immer paar Stunden +/- ...
Da ich schon lange von der PC Szene weg bin und nicht weis was man dafür nehmen würde wollte ich euch mal fragen...

Die Möglichkeit Berechnungen auf Grafikkarten durchzuführen wäre ja auch eine Möglichkeit, da die GPUs ja ziemlich gut für solche Berechnungen sein solln, jedoch hab ich keine Erfahrung damit welche Karten dafür gut sind und wieviel Stück (1-4 Karten) notwendig sind...

Die einzigen Anforderungen die mir gesagt wurden sind, dass der Rechner
- mindestens 64 GB RAM benötigt (mehr wäre besser)
- Linux als Betriebssystem (welche Distribution weis ich nicht, ist aber glaub ich nicht ausschlaggebend)
- vorhandenes Budget € 4000.-

Könnt ihr mir da weiterhelfen ??

LG

wergor

fantasiebefreit
Avatar
Registered: Jul 2005
Location: graz
Posts: 3154
Zitat aus einem Post von Bunny
Die Möglichkeit Berechnungen auf Grafikkarten durchzuführen wäre ja auch eine Möglichkeit
das musst du auf jeden fall noch klären. grafikkarten bringen nichts wenn die software sie nicht benutzt.
weist du welche software darauf laufen soll?

Bunny

forum slave
Avatar
Registered: Oct 2002
Location: Austria
Posts: 525
ah okay, stimmt... das macht natürlich Sinn... ich muss auch erlich sagen dass ich nicht glaube das die Software/Tool dies unterstützt... können wir mal davon ausgehen dass wir die Berechnung nicht auf Grafikkarten machen ??

Bzw. wäre es möglich 2 Varianten zu erstellen - Berechnung auf Grafik und einmal rein die CPU?

EDIT: ich weiß leider nicht welche Software es ist..

Danke

ill

...
Avatar
Registered: Nov 2003
Location: Salzburg
Posts: 2031
Zitat aus einem Post von Bunny
ah okay, stimmt... das macht natürlich Sinn... ich muss auch erlich sagen dass ich nicht glaube das die Software/Tool dies unterstützt... können wir mal davon ausgehen dass wir die Berechnung nicht auf Grafikkarten machen ??

Ich würd grundsätzlich eher vom Gegenteil ausgehen, ehrlich gesagt. Klär das auf jeden Fall mal vorher ab, was da genau berechnet werden sollte.

xtrm

social assassin
Avatar
Registered: Jul 2002
Location:
Posts: 7874
Finde raus, um was für eine Software es sich handelt, sonst kann man da nichts sagen, egal ob Skalierung, paralleles Arbeiten, etc. .

Viper780

Er ist tot, Jim!
Avatar
Registered: Mar 2001
Location: Wien
Posts: 38272
Unbedingt die genaue Software (meist ist das ein eigener Solver) in erfahrung bringen und dann mit den Leuten die das aufsetzen über den Algorithmus reden. Je nach Problem kann ein einzelner sehr flotter Core besser sein als 80 mittelschnelle Kerne.

Es kann aber auch sowas wie Montecarlo sein wo es hauptsächlich um die Thread anzahl geht und da sogar langsame Multi CPU Plattformen jegliche auf Takt gezüchtete Desktopmaschine stehen lässt.

Die GPU kann helfen - meine Erfahrungen mit Systemen die empfindlich auf kleinste Abweichungen sind haben mir aber gezeigt dass sogar Double Precission (DP) auf der Grafikkarte zu starken Rundungsungenauigkeiten geführt haben. Höchere Genauigkeiten gehen aber nicht.

Ohne Software und ohne Problem können wir dir nicht helfen.

Bunny

forum slave
Avatar
Registered: Oct 2002
Location: Austria
Posts: 525
Ich hab soeben mal nachgefragt...

Folgende zwei Tools kommen zum Einsatz:

https://sourceforge.net/projects/ciri-full/
https://github.com/lindaszabo/KNIFE


EDIT:

Die Algorithmen verwenden aber normalerweise in bestimmten Schritten, dem „Alignment“ der Sequenzen aus den Sequenzierungsdaten an das Genom, konventionelle „Aligner“, wie Bowtie und BWA:

http://bowtie-bio.sourceforge.net/bowtie2/ (wird von KNIFE verwendet)
http://bio-bwa.sourceforge.net/ (wird von CIRI verwendet)


Hinweise zum Ressourcenbedarf (RAM etc.) einiger Algorithmen zur Identifikation von zirkulären RNAs findet man in folgenden beiden Artikeln:
https://academic.oup.com/nar/article/44/6/e58/2499439

https://journals.plos.org/ploscompb...al.pcbi.1005420
Bearbeitet von Bunny am 19.09.2019, 13:55

Obermotz

Fünfzylindernazi
Avatar
Registered: Nov 2002
Location: OÖ/GR
Posts: 4625
Das sind hauptsächlich pattern-matching-Algorithmen, die mit Matritzen arbeiten. Deshalb würde man vermuten, dass da Cuda eingesetzt wird. Es scheint aber bei beiden Algorithmen nicht der Fall zu sein.

Bowtie 2 geht auf CPU und unterstützt vor allem auch Multi-CPU-Setups:
Zitat
Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s of characters to relatively long (e.g. mammalian) genomes. Bowtie 2 indexes the genome with an FM Index (based on the Burrows-Wheeler Transform or BWT) to keep its memory footprint small: for the human genome, its memory footprint is typically around 3.2 gigabytes of RAM. Bowtie 2 supports gapped, local, and paired-end alignment modes. Multiple processors can be used simultaneously to achieve greater alignment speed.

Das gleiche gilt für BWA. Multiprozessor mit Hyperthreading sollte hier die Performance erhöhen.
Und viel RAM.

COLOSSUS

"Hi!"
Avatar
Registered: Dec 2000
Location: Wien || Stmk
Posts: 10790
Ich bin kein Bioinformatiker (falls wir eine/n solche/n im Forum haben, kann er/sie vermutlich besser Bescheid geben), aber ich habe schon mit RNA-Seq-Daten gearbeitet. I. A. sind diese Aufgaben sehr gut parallelisierbar, und das Alignment wird auf einem Cluster bzw. Grid ueber einen Job Scheduler wie etwa SGE doer slurm orchestriert. Ob es fuer euren Zweck besser ist, eine teure Maschine, oder N billigere Maschinen mit in Summe hoeherer Compute Power zu besorgen, kann man im Vakuum nicht sagen - beides hat spezifische Vor- und Nachteile, die ueber den simplen Vergleich der max. Rechenleistung hinausgehen. Ich wuerde im Zweifel jemanden zu Rate ziehen, der sich wirklich mit sowas auskennt, und an deiner Stelle kommunizieren, dass du keine optimale Entscheidung ohne externe Beratung wirst faellen koennen.

Edith meint noch: Wenn ihr wirklich Blech fuer den Zweck anschaffen wollt und werdet, schaut euch bei https://www.deltacomputer.com/ um. Selber schrauben wuerde ich ein System fuer diesen Anwendungsfall nicht.
Bearbeitet von COLOSSUS am 19.09.2019, 14:36 (typo)

Viper780

Er ist tot, Jim!
Avatar
Registered: Mar 2001
Location: Wien
Posts: 38272
Na geht doch - mein Bioinformatiker dasein hat zwar schon vor längerem geendet und hab damals an selbst gestrickten Programmen gebastelt.
Im Grunde leben die alle von einer großen Datenbank die relativ flott sein muss -> Ram Größe und Durchsatz limitiert da.

Meines wissens sind die alle recht gut parallelisierbar -> so wie Colo schrieb kleinere Cluster sind da oft hilfreich. Und eine große Anzahl an Threads (sofern sie in den Speicher passen und die Daten rasch genug von einer SSD angefüttert werden können)

Ich würd da mal 2 Tage Zeit nehmen und auf bestehenden Maschinen die Performance analysieren wie euer Problem da skaliert damit. (also 1,5 Tage aufsetzen, >1 Wochenende laufen lassen, 0,5 Tage auswerten).
Mich wundert das es dafür keine OpenCL oder Cuda Umsetzung gibt.

davebastard

Vinyl-Sammler
Avatar
Registered: Jun 2002
Location: wean
Posts: 7451
welcher amazon EC2 server wars denn ? von da müsst man ja auch schon ca. sagen können was man braucht ?
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz