Aufbau und Programmierung eines Cluster-Computers mit Raspberry PIs
In dieser Arbeit geht es um den Aufbau eines Cluster Computer Systems für High Performance Computing mit preiswerten Einplatinencomputern, um damit den ECM Algorithmus zu parallelisieren. Der ECM Algorithmus stammt von Hendrik Lenstra und dient der Primfaktorzerlegung von zusammengesetzten Zahlen. Die Stärke liegt im Finden von kleineren Zahlen bis ungefähr 25 Dezimalstellen. Die als Ausgangspunkt dienende Implementierung wurde in C geschrieben und stammt von Dario Alpern. Bei der Parallelisierung des Algorithmus wurde für die Kommunikation zwischen den Prozessen die MPI-Middleware MPICH3 und ein Client-Server Modell verwendet. Der Server agiert als zentrale Schnittstelle und speichert die notwendigen Daten ab. Nachdem sich die Clients beim Server registriert haben, wird diesen eine elliptische Kurve zugeteilt. Findet einer der Clients einen Faktor, wird er an den Server gesendet. Die zu faktorisierende Zahl wird mit dem gefundenen Faktor dividiert. Sollte das Resultat keine Primzahl ergeben, so werden die Clients mit der neuen Zahl fortgesetzt. Dies wird solange wiederholt, bis die Zahl vollständig faktorisiert ist.