BitScope: 3000-core Raspberry Pi cluster computer
raspberrypi.org
raspberrypi.org
Additional links:
http://www.lanl.gov/discover/news-release-archive/2017/Novem...
My favorite form factor to go build a Pi-like Cluster is something like this: http://www.friendlyarm.com/index.php?route=product/product&p....
- Gigabit Ethernet MAC on-board, Pine64's SOPINE and Raspberry Pi Compute Module both require per node networking components to be on the carrier board.
- Basic headers used for connecting to a carrier board
- Carrier board "only" needs an embedded switch and 5v power. However, I've not yet come across an embedded switch yet that has a non-blocking ratio of 1GbE ports to 10/25GbE uplinks.
- Carrier board should probably be mini-ITX or other standard form factor to fit in existing chassis. Form factor and embedded switch options are going to limit the number of nodes per carrier board.
os support on the rock64 is not quite there yet however but given the features@pricepoint i expect it to catch up
There are likely other methods of networking, if one wanted to avoid paying for a USB/Ethernet adapter chip for each Compute Module. Such as running a USB gadget on each Compute Module within Linux and have all the Compute Modules connected as USB devices to a USB SS host. If you used USB SuperSpeed hub chips and did the network switching on a non-Raspi SuperSpeed host within Linux (software defined networking!), this could likely easily get high-ish speed (ie: 100+ Mbps) networking working cost effectively, as the SuperSpeed hubs should allow upstream to run at USB SS rates while downstreams all run at USB HS rates, 7 port USB SS hubs aren't that expensive of chips. Microchip sell the USB5807 7-port USB SS hub chip for about $5, which is only slightly more than the LAN9514, as then you'd only need one hub for every 7 Compute Modules instead of one LAN9514 (or similar) per Compute Module.
Supposedly only $5 per PCB from
https://www.adafruit.com/product/2885
Power and network can go thru usb. (usbnet)You can find more on eBay, but then they're usually priced $15-20 each and it would still be difficult to buy them in the hundreds.
The interconnect will be the most interesting part of this cluster.
the rpi value prop is the community support but that would mean that this cluster is running a 32bit os - so what really is the point of using these instead of something smaller and cheaper or same size and more powerful for the same money
i am questioning why they are using immensely popular and commensurately overpriced but yet woefully underspecced components instead of something better and/or cheaper
is it just because 'raspberry pi' makes for a hot title in a press release?
Keep in mind the goal seems to be to build something with a high node-count, rather than just core count so small size is important.
1. http://www.friendlyarm.com/index.php?route=product/product&p...
They could also have chosen to use a reference design from another manufacturer but it's basically like using RPi but 100x more expensive. There's a good case to be made that this is the most cost-effective design for what they're trying to accomplish.
If they really wanted to develop a competitive cluster they'd need at least a SoC with 4 A72 cores, 10gbit NIC, 8GB RAM, and a local 128GB SSD.
Edit: I misread the article it's not a cluster with 3000 raspberry pies. It's just 3000 cores. 3 Epyc Nodes are faster than this cluster.
IIRC, that's kinda how ethernet came to be, ther were working on the computing world of the future at xerox PARK, they had to create clusters to emulate the cpu power that would be available in the coming years. Looking at the current trend, from phones to servers, they go from two cores to I-don't-have-enough-fingers-except-if-I-count-in-binary cores. A 3000 cores raspberypi cluster can be an emulation of the computing environemnt of tomorrow, not in term of raw power, but in term of distributed computing, and lead to unforseen invention as the ubiquitous ethernet.
Unless they're planning to fab 100 of these, chances are high that the retail margin on a Pi still leads to one of the cheapest BOM for a one-off project like this
do you really think something or better and cheaper is impossible? the rpi is _the most overpriced sbc on the market_ particularly if you're not using it for raspbian (32bit only) and the module ecosystem
nanopi neo2 and rock64 are better and cheaper alternatives
there are also more powerful alternatives of the same footprint and at same or slightly cheaper price point (rock64)
Pi has at least 10x more community eyes crawling over the whole system than the next three combined. You can't put a price tag on that.
On the other hand, I look at the 3000 core figure and think that it's roughly on par with high end GPUs. The clock rates aren't terribly different either. The range of applications where this beats out GPU solutions is probably fairly narrow, especially given the terrible IO bottleneck on the RPis.
For comparison, a $7,500 TITAN X has 3072 CUDA cores clocked at 1Ghz. This cluster has 3,000 CPU cores clocked at 1.2Ghz. On the TITAN card all of those cores share the same 12GB of memory with 336.5GB/s of memory bandwidth. On the cluster every 4 cores shares 1GB of memory with (I think) 3.6GB/s bandwidth. Of course communication outside of those 4 cores is restricted to 0.0125GB/s at best.
for one, why are _researchers_ using largely obsolete technology; for another, many high performance computing tasks perform significantly faster on 64bit (e.g., lmdb)
Here's the link to the AArch64 server distribution:
https://dl.fedoraproject.org/pub/fedora-secondary/releases/2...
Having said that I agree the Pi is overdue for a refresh; it needs gigabit ethernet and usb 3 at a minimum but faster interfaces would be great. I think people execute these projects because the Pi is a great reference architecture that can be bought at scale and that has been proven by the large user community.
There are a lot of boards that implement it correctly in hardware, but then make a hash out of the driver support with binary blob drivers that are fixed to a particular kernel version and crash from time to time.
It's probably not technically feasible currently, but I'd love to see a board where all of the hardware is open (even the 3D acceleration!) and already mainlined into the kernel so you could just install whatever distro you want on it and available at a price point under $50. I'm really tired of "you need to dump this proprietary binary blob into the graphics chip before the rest of the board can even start to boot." Why is it taking so long to come up with a universal boot solution, something that could be integrated into GRUB so you don't need to program magic offsets into the bootloader to make it work? PC hardware manufacturers more or less solved this problem 30 years ago, and I'm not taking "but the hardware is so specialized that you can't do it" as an answer anymore. The SBC world is absolutely crammed with stovepipes for no good reason.