PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Clustering?



ikarus_177
01.04.2009, 18:07
Hi,

hat evtl. schon mal jemand versucht, rechenintensive Aufgaben (Bild/Tonverarbeitung?) auf mehrere Controller aufzuteilen, um diese Aufgaben schneller lösen zu können?
Es müssten halt Aufgaben sein, die sich gut "parallelisieren" lassen, sodass alle AVR's gleichzeitig rechnen können, und nicht einer auf die Resulate eines anderen warten müssen.

Was mir da grad noch so durch den Kopf schwebt: evtl. eine Karte in mehrere Sektoren aufteilen, und jedes Teilstück von einem AVR berechnen/optimieren lassen, danach die berechneten (Teil-)Resulate wieder zusammenfügen...

Viele Grüße

Hubert.G
01.04.2009, 18:58
Ich glaube nicht das so etwas sinnvoll wäre.
Für so eine Aufgabe wird man eher einen ARM oder gleich einen FPGA nehmen.

Vitis
01.04.2009, 22:37
es ist die Frage wie Du das aufteilen willst ...
gemeinsames RAM oder die Daten hin und her schicken,
welcher Bus etc.

sinnvoller ist aber wahrscheinlich nen schnelleren µC zu nehmen

the_playstat
02.04.2009, 00:14
Bei AVR's macht das wenig Sinn. Da kann man gleich einen leistungsfähigeren kaufen oder eine schnelle CPU zur Unterstützung nutzen. Ich habe schon zu Zeiten des C64 "geclustert".
Damals hatte die Floppy die selbe CPU wie der C64.
Beim Amiga hatte Ich dann eine Turbokarte mit 4 T800 Transputern und Spark-Prozessoren.
Mein momentaner Cluster besteht aus 8x PS3 Cell Rechnern.
Der läßt eigentlich fast Alles weit hinter sich, da der Cell erheblich mehr Rechenleistung hat, als z.B. ein Quad-Core. :D

the_playstat
02.04.2009, 10:18
Nachtrag:
Aber klar kann es Sinn machen mehrere AVRs zu nutzen.
In einigen Robotern (Pleo, Cybie, Aibo) werden ja auch mehrere AVRs benutzt. Beim Pleo z.B. wegen der vielen Sensoren.

Geht es um reine Rechenleistung sind die Algorithmen
und die Programmiersprache bzw das Compilerresultat wesentlich entscheidender. Nimmt man als Beispiel einen Sortieralgorithmus,
so gibt es da mind. 8 verscxhiedene sehr unterschiedliche Berechnungsmöglichkeiten. Auch z.B. bei der Berechnung eines Kreises mind. 4. Und darunter sehr langsame und sehr schnelle.

ikarus_177
02.04.2009, 15:28
Hi,

ich hätte mich dabei vorwiegend an der Bilderkennung/verarbeitung versucht, da mein Bot über mehrere AVR's verfügt, die nicht in allen Situationen zu 100% ausgelastet sind.

Werde vielleicht trotzdem einen kleinen Testlauf starten, es sind ja immerhin 7 ATMega32, auf die die Aufgaben aufgeteilt werden sollen...
Der Speicherplatzbedarf pro uC würde sich dann auch aufteilen, sodass evtl. größere Bildauflösungen möglich wären.

Viele Grüße