Forum: Mikrocontroller und Digitale Elektronik Supercomputer aus Mikrocontrollern?


von Christijan (Gast)


Lesenswert?

Würde sowas Sinn machen? Wenn man sieht mit wieviel paar µA aktuelle 
Generationen laufen wenn man die ganze Peripherie abstellt und wenn man 
betrachtet dass es die Controller in kleinen Varianten mit dem gleichen 
Core total günstig sind, dann könnte man ja fast denken dass man aus 
ganz vielen parallelen µC's einen Rechner mit viel Rechenleistung und 
wenig Energieaufnahme aufbauen könnte der vielleicht sogar große 
Supercomputer in den Schatten stellt. Besonders von der Leistung pro 
Watt. Oder liege ich da falsch?

von Unbekannter (Gast)


Lesenswert?

Dann rechne mal wieviele AVRs / ARMs du brauchst um genausoviele GFLOPS 
wie eine CUDA-fähige Grafikkarte zu erreichen. Zudem können die 
einfachen µCs keine Floating Point Ops, sodass man das in Software 
machen müsste.
Und für was anderes als massiv parallelisierbare Anwendungen wären 
paralelle µCs ohnehin nicht brauchbar.

Bei der enticklung der Software wünsche isch ebenfalls viel Spass, 
10000+ µCs zu flashen macht sicher keinen Spass, zudem müsste man eine 
zentrale Speichereinhit dazubasteln, das der Speicher pro µC viel zu 
klein ist.

PS: eine Nvidia GTX 295 hat 480 Stream-CPUs die mit 575 MHz getaktet 
sind, und 64 bit double precission rechnen können, nun kannst mal 
rechnen wieeviele AVRs man dazu braucht

PPS: Ziemliche Schnappsidee

von Andreas K. (derandi)


Lesenswert?

Wenn man mal einfach 400 Takte/FLOP annimmt kommt man bei 20 MHz 
Systemtakt auf 0,00005 GFLOPs. Nicht wirklich viel...
Nachtrag: Eine Geforce GTX 480 schafft theroetisch 1345 GFLOPS.

von Purzel H. (hacky)


Lesenswert?

Anstelle einer Grafikkarte kann man ein FPGA nehmen.

von dave (Gast)


Lesenswert?

>Anstelle einer Grafikkarte kann man ein FPGA nehmen.

Kostet ja auch nur das zig-fache -- wozu dann der Aufwand?

von Chris (Gast)


Lesenswert?

Ich kann mich an eine Applikation errinnern, wo 1000 Microchip pic cpu´s 
für Echoanwendungen (Ultraschall im Wasser, Side Scan, ...)
verwendet wurden. Heute würde man dazu eine Grafikkarte mit CPLD sowie 
M3
nehmen und man hätte das 100-Fache an Leistung (Pic haben 5 Mips) bei
1/10 an Preis.

von (prx) A. K. (prx)


Lesenswert?

MIPS = Meaningless Indicator of Processor Speed.

von Guido Körber (Gast)


Lesenswert?

MIPS = Meaningless Information Provided by Salesperson

Parallelität skaliert nicht beliebig, erstens muss die Aufgabe 
hinreichend parallelisierbar sein, andernfalls falle ich 
schlimmstenfalls auf einen einzelnen Kern zurück wenn die Aufgabe nur 
sequenziell zu lösen ist.

Und selbst wenn die Aufgabe gut parallelisierbar ist fällt bei 
Multiprozessorsystemen der Kommunikationsaufwand an die Daten auf die 
Prozessoren zu verteilen und wieder einzusammeln.

Deshalb ist es sinnvoll einen guten Kompromiss aus Rechenleistung des 
einzelnen Prozessors und Zahl der Prozessoren zu finden, wenn keine 
Preis- und Stromverbrauchsaspekte zählen, ist immer der Rechner mit den 
schnellsten Einzelnkernen im Vorteil.

von faustian (Gast)


Lesenswert?

Genau ein solches System (MCS51-Cluster) wurde in Circuit Cellar 
irgendwann mitte Achtziger mal beschrieben....

von =!= (Gast)


Lesenswert?

Andreas K. schrieb:
> Nachtrag: Eine Geforce GTX 480 schafft theroetisch 1345 GFLOPS.

Sie schafft für geeignete Probleme auch in der Praxis extrem viel. 
Speed-ups von gegen 1000x gegenüber CPUs sind drin.

Ha-jetzt Aber schrieb:
> Anstelle einer Grafikkarte kann man ein FPGA nehmen.

Lohnt sich kaum. Eine GTX 480 in der Geschwindigkeit zu überbieten, 
dürfte an sich schon schwer genug sein. Der Aufwand für den Entwurf der 
Computerarchitektur und des Boards dürften dann jeden Rahmen sprengen. 
Schliesslich käme noch die Entwicklung eines geeigneten PC-Interface 
(Hardware, Treiber, Steuerprogramme) und des Compilers dazu.

von Sam .. (sam1994)


Lesenswert?

Guido Körber schrieb:
> Parallelität skaliert nicht beliebig

Wenn man bedenkt, dass heutige Supercomputer versuchen, die Natur zu 
berechnen, kann man nie genügend Kerne haben, da je weiter man rechnet, 
desto mehr Teilchen (oder auf welcher Ebene die rechen) gibt es zu 
berechnen.

von =!= (Gast)


Lesenswert?

Samuel K. schrieb:
> Wenn man bedenkt, dass heutige Supercomputer versuchen, die Natur zu
> berechnen, kann man nie genügend Kerne haben, da je weiter man rechnet,
> desto mehr Teilchen (oder auf welcher Ebene die rechen) gibt es zu
> berechnen.

Und jedes dieser Teilchen verhält sich völlig unabhängig von den 
anderen? Natürlich nicht, und genau da liegt der Hund begraben: Jeder 
Kern muss sich dann in jeder Runde mit hunderten, vielleicht tausenden 
anderen Kernen austauschen. Und da Speicher heute schon der Flaschenhals 
ist, hat es keinen Sinn, mehr Prozessoren zu nehmen, sondern 
hauptsächlich die Kommunikation gering zu halten.

von (prx) A. K. (prx)


Lesenswert?

Samuel K. schrieb:

> Wenn man bedenkt, dass heutige Supercomputer versuchen, die Natur zu
> berechnen, kann man nie genügend Kerne haben, da je weiter man rechnet,
> desto mehr Teilchen (oder auf welcher Ebene die rechen) gibt es zu
> berechnen.

Aber das geht wie inner Firma. Bei 5 Leuten arbeitet jeder davon. Bei 50 
Leuten habe nur ein paar davon administrative oder verwaltende 
Tätigkeit. Bei zigtausend Leuten dürfte mindestens 1/3 der Belegschaft 
nur dafür sorgen, dass die übrigen arbeiten können/wollen/müssen.

von Martin (Gast)


Lesenswert?

1 Bauarbeiter gräbt ein 1 Loch für einen Zaunpfahl in 10 Minuten. Wie 
lange bauchen 30 Bauarbeiter um das Loch zu graben?

von =!= (Gast)


Lesenswert?

Martin schrieb:
> 1 Bauarbeiter gräbt ein 1 Loch für einen Zaunpfahl in 10 Minuten. Wie
> lange bauchen 30 Bauarbeiter um das Loch zu graben?

10 Minuten = 1 Minute für Schaufel fassen + 1 Minute zum Loch hin laufen 
+ 7 Minuten graben + 1 Minute messen, ob das Loch tief genug ist.

Dann komme ich bei 30 Bauarbeitern auf

30 Minuten zum Schaufel fassen (es hat nur immer einer Platz im 
Materialschuppen) + 1 Minute zum Loch hin laufen + 15 Sekunden graben 
(für punktförmige Bauarbeiter) + 1 Minute messen, ob das Loch tief genug 
ist = 32 Minuten 15 Sekunden.

Totale Arbeitszeit über alle Arbeiter: 960 Minuten. Davon unproduktiv: 
29 * 30 Minuten beim Warten auf die Schaufel, 29 Minuten beim warten, 
bis einer das Loch gemessen hat. Total 899 Minuten.

So ähnlich kann es auch bei parallelen Rechenproblemen enden, wenn man 
nicht aufpasst bzw. wenn man zu viele Kerne hat.

von Paul Baumann (Gast)


Lesenswert?

ABM Maßnahme:
Ein Mann gräbt ein Loch. Sofort darauf schaufelt ein zweiter Mann das
Loch wieder zu. Fragt ein Passant: "Was macht ihr da für einen 
Blödsinn?"

Antwort: "Wir pflanzen Bäume, aber der Mann, der die Bäume sonst in
die Grube stellt ist heute krank!"

;-)
MfG Paul

von Guido Körber (Gast)


Lesenswert?

Verallgemeinerungen sind unpräzise, immer.

von Martin (Gast)


Lesenswert?

... Verallgemeinerungen sind unpräzise, immer ...

So wie deine? ;)

von chris (Gast)


Lesenswert?

Irgendwo habe ich ein Supercomputerprojekt mit ARM-Prozessoren gesehen.

Hier noch mal ein anderes:

http://vr-zone.com/articles/the-zii-mystery-is-unravelled--creative-s-nano-sized-supercomputer/6408.html

von chris (Gast)


Lesenswert?


von Smarti (Gast)


Lesenswert?

Nun ja,

aktuell geht viel in die Richtung einfache Kerne in großen Stückzahlen 
auf eine Platine zu quetschen, hierbei ist aber nicht das HPC der 
Vordergrund, mehr das abarbeiten vieler Proszesse für Cloud Computing.

Vor kurzem Vorgestellt: 2048 Atom-Server in einem Rack

http://www.heise.de/kiosk/archiv/ct/2010/14/32_kiosk

Leider ist der Artikel net frei Verfügbar.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.