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?
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
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.
>Anstelle einer Grafikkarte kann man ein FPGA nehmen.
Kostet ja auch nur das zig-fache -- wozu dann der Aufwand?
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.
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.
Genau ein solches System (MCS51-Cluster) wurde in Circuit Cellar irgendwann mitte Achtziger mal beschrieben....
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.
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.
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.
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.
1 Bauarbeiter gräbt ein 1 Loch für einen Zaunpfahl in 10 Minuten. Wie lange bauchen 30 Bauarbeiter um das Loch zu graben?
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.
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
... Verallgemeinerungen sind unpräzise, immer ... So wie deine? ;)
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
Hier noch ein leistungsfähiger ARM-Core: http://www.elektroniknet.de/bauelemente/news/article/28900/
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.