Hello, upon searching the web for cheap ways to make homemade supercomputers, I stumbled on the idea that lots of Arduinos could be of some use. I know this area has been covered several times in the past, but none of them took into account the educational merit in doing so.
I'm a high school student looking to learn about and tinker with supercomputers. I have a couple ideas of where to start, but many of them are quite expensive. With some research, I found that there were a few people that successfully turned an Arduino into a working computer, and there are several Arduino hardware shields for ethernet.
I realize that I won't be able to do much with this system, but to me, it's an extremely cheap way to get into the field parallel processing. That is, if it actually is a good way. I'm not sure if stringing Arduino computers will be the same regular process that, for example, Raspberry Pi's are strung together. I don't want to make an Arduino super computer if I'm not going to get any real world experience out of it is what I'm saying.
Also, I know there have been a couple instances of super cheap single-chip computers, like C.H.I.P. and RPi Zero, but those are not in stock currently and I don't wish to wait another year and a half for them to come back to the market. Are there any other chips within that same general price range that I could use instead of, for example, a $30-$40 RPi?
I appreciate any help/guidance I can get towards my goal! Thanks!
The Arduino is a fully functional, working computer. It just happens to be rather slow and have limited memory, compared to a "supercomputer", but it will play chess with you too.
it boils down to parallel processing and how you would break up tasks, send them to the multiple Arduino's and then stream the results.
I think there needs to be some clarification here.
Arduino is a concept, and a platform, not a specific chip. if you boil it down, the Arduino is really just the bootloader and software.
the most common Arduino is the UNO with it's 328 ATMEL chip.
there are lot of form factors for this , NANO/MINI/MICRO and others
there is an 8 pin the ATTINY85 that is found in the Digispark and others,
there is the 14 pin version, the ATTINY84
on the larger side is the Atmel MEGA2560 chip
most of these run up to 16MHz
I think if you look, you will find chips that are much more capable and would fit your needs better.
I also think that your project depends more on you finding people who have done some of the pathfinding to open doors for you.
The first person that comes to my mind is Paul over at Teensy
he has put a 74MHz ARM Cortex on a board that just plugs in.
at $20 is it a bit more than the RPi Zero
not sure how the spec compare.
The "hard" problem with a massively parallel supercomputer is the communication between nodes. Look at all the different interfaces on an Arduino, pick one, and go to town. Unless you are on one of the SAM chips (either Due or Teensy) then you are going to spend 90% of your computational capacity just communicating. That's not bad but it will limit your 10-node supercomputer to about the same speed as just one Arduino on its own. A good practice exercise.
You could plug several Atmega 328 chips into a breadboard and connect them together with SPI or I2c.
But what would you do then?
Using several interconnected Atmega chips has nothing whatever to do with the Arduino system.
And even if you could get them to function together I doubt they would have the performance of a RaspberryPi or similar if you are thinking of a general-purpose supercomputer
Conceivably a collection of Atmega chips would make sense as a very specialized multi-processing device. For example each one might manage several specific I/O functions based on instructions from the "centre".
The Pine A64 “BASIC” model costs $15.25, and the “PLUS” model costs $19.50, plus local taxes if applicable and shipping/handling fees.
The Pine A64 does have
a quad-core Cortex A53 CPU with 1.2 Ghz
a 64-bit processor architecture
up to 2 GB of DDR3 memory
a version with Gigabit Ethernet
the ability to play 4K video
Instructables has an article titled "How to make a Raspberry Pi Supercomputer". The article can be used as a guide to build a Pine A64 cluster. Because LINUX can be used with both Raspberry Pi and Pine A64 the procedure for setting up a Raspberry Pi cluster can be used with a Pine A64 cluster.
I was thinking about this thread yesterday when I read it, and especially liked the idea of networked Tiny 85 chips. I drew a Tiny 85, and it started looking similar to an op-amp. A networkable, programmable op-amp:
This made me think about analog computers - they are arrays of op-amps!
Perhaps making digital simulations of analog computers would be a worthy, fun and doable project?