$99 Raspberry Pi-sized “supercomputer” touted in Kickstarter project
arstechnica.com
arstechnica.com
This doesn't necessarily invalidate the product, but it really does put me off it. If they're going to market a product like that it's going to be to a pretty techy crowd and they should get their terminology right.
A lot of companies are using the combined totals to tell how fast/big/etc something is. It isn't even a recent development either.
Just for one example, if you go to Dell's store right now you'll find computers with 8 GB of RAM; but what they fail to tell you is that that is 2x4 GB sticks rather than 1x8 GB stick. So it is actually the "total" RAM in the machine.
Now you might argue that for technical reasons there is a difference between how RAM and CPU-cores are exposed to the underlying software, but that within its self is only true in some infrastructural designs, but not true in others (e.g. Sometimes two cores pretend to be one, sometimes a single core pretends to be two).
RAM, however, can be added together as data can be cached across one or more sticks. Thus adding another stick of RAM does increase the overall total amount of RAM available.
I'm not an expert on this, but I believe this is why clusters are measured in calculations per second (eg FLOPS) rather than frequencies. Calculations run in parallel (such as clusters do) are increasing the overall number of calculations performed per second. Where as multiple cores running in parallel don't increase the clock frequency.
Two small shovels aren't the same as one big shovel, but two small bags of dirt are basically the same as one big bag of dirt. If you're going to continue with the memory analogy, this would be like combining the graphics memory and general purpose RAM into a single figure.
But if I watch 1 clock for 60 seconds, the amount of time that has passed is exactly the same as if I watch 2 clocks for 60 seconds or 100 clocks for 60 seconds.
This might fool non-tech people, but non-tech people will not buy this product anyway.
It does not make any sense at all for them to add the numbers up, aside from being able to present a huge single number for marketing purposes. Even non tech people understand that a 4 x 2ghz processor is not a 8ghz processor....
Having spoken to a few non-tech people I'm pretty sure that I could find a bunch who don't understand anything in that sentence.
Having spoken to some supposedly tech-savvy children on 4chan /g/ I know that there's a lot of confusion about cores and processors and speed, and that's before you talk about potential benefits and disbenefits.
As incredibly misleading as it is, our objections may largely come from preconceived notions of what a hz is. We want it to be a function of a single core because that's how we grew up thinking about it.
Now, let's say that I have a cuckoo clock that chimes once per hour. This is a rate of ~ 278 μHz. Now, imagine that I buy 3600 of these clock and set them to offset them by 1 second each. I now have 3600 x 278 μHz signals. However, I also have 1 clock going off every second. Thus, the frequency rate for the entire system is 1 Hz, even though the individual components have a much slower rate.
Now, let's say that I didn't do such a great job in aligning the signals of the clocks. Some are 2 seconds apart while others are mere milliseconds apart. From a Fourier transform perspective, there's now multiple signals with multiple frequencies occurring. However, if I average over a long time period, I'm still getting 3600 events per hour, or 1 event per second. The signal may not be a perfect sine curve, but, barring a pathological timing, the strongest Fourier component is going to be the 1Hz signal. Thus, 1Hz would be a reasonable way to describe the cuckoo bird rate of the system.
It's not perfect - but is a lot easier than dealing with having to look up Intel CPU numbers to see how many cores it has, then multiplying that by the clock speed, then guessing. Getting the total cycles means you can jump straight to the guessing ("estimating") part.
I dug out this article from 2007 about building a 26 gigaflops "supercomputer" called the Microwulf Supercomputer which cost under $2500 [1].
And according to Intel [2], the Intel i5-650 processor can do 25.6 GFLOPs.
This is just the worst kind of kickstarter marketing.
1 - http://www.geekologie.com/2007/09/supercomputer-does-26-giga...
2 - http://download.intel.com/support/processors/corei5/sb/core_...
The defining feature of this proposal is their 70 gigaflops/watt number, which is impressive. But that doesn't make it a suitable target for hobbyists. Hobbyists who want to play with supercomputing for cheap should just use their existing video card.
The days of a gigaflop being an impressive unit of measurement are surely over.
It doesn't sound like they have compelling applications in mind -- they're kind of throwing it out there to see what people will do with it. But there are only a few things that needs so much computation and so little memory. Even a lot of scientific computing today is more like "big data" than "big compute".
Also, it seems obvious that you'll want to use more than one together, so some info about network connectivity would be useful.
One random example I can think of would be cracking encryption and or hashes (without the use of rainbow tables or similar).
Your entire comment essentially seems to be "I don't think a usage scenario exists, because I cannot think of any, so why didn't they make it a 'large data' device instead of a compute device?!" which seems more a limitation on yourself than the device its self.
The relatively few applications explains why they are using Kickstarter for funding. If it had more applications, then people with deep pockets would be falling over themselves to give them money.
There's nothing wrong with this -- the page is just so full of marketing-speak that it's hard to tell.
Going from A to B is exactly an example of a task that can't be solved in parallel fashion. On the other hand, if you needed to merely cover N miles, then a pool of cars would work just fine.
To use another car analogy. Counting clock speed is like counting the cars max RPM instead of actually measuring the performance. And then they have totalled the max RPM figures as if they have have 90,000RPM engine.
http://home.wlu.edu/~whaleyt/classes/parallel/topics/amdahl....
I should have referenced Amdahl's law in the previous post but didn't want to misspell it and bother to look it up.
*Infinite numbers exist of both parallel and serial computing requirements. Practically there will almost always be additional cost in parallel implementation even if the extra is insignificant such as higher start up cost and coordination for shutdown.
http://en.wikipedia.org/wiki/Gustafson%27s_Law
Gustafson and Barsis pointed out that Amdahl assumed a fixed input size. If instead you grow the problem size along with the number of processors, the speedup from parallelism grows indefinitely. Of course, like Amdahl, they assume perfect load balancing and don't factor in communication overhead. But parallel still beats the pants off of serial if we want to keep solving larger and larger problems.
People = threads and cars = cores.
You can nitpick as much as you want, but for a lot of applications it's perfectly OK to sum up the frequencies. A job that can be spread over 8 cores will be executed at about the same time as it would execute on a single core at 8x the frequency
Plus there's absolutely no precedence for using clock frequencies cumulatively like this anyway (which I've already demonstrated with my multi-core CPU example), thus the figures Adapteva are touting are not only scientifically and mathematically inaccurate, but also breaking established advertising convention too.
Thus their figures are incorrect - period. So accusing us of nitpicking incorrect figures is just plain dumb when there's absolutely no merit to the 13GHz figure what-so-ever.
[edit]
And it's a sad day for geeks worldwide if discussing the correct usage for scientific measurements is considered nitpicking. Had this been Fox News or the Daily Mail, then your view point could be forgiven. But this is a hacker forum, so I'd expect a higher level of technicality rather than simply ignoring counterarguments in such a dismissive manner. :(
A better angle would be - given the project and its goals, do you really think it's worth putting them down for something as trivial (and technically correct) as this -
Once completed, the Parallella computer should deliver
up to 45 GHz of equivalent CPU performance
That, as they say on TechCrunch, is a dick move. If anything, they deserve a pat on a back and a donation.If you had even the slightest idea about how cores are rated and the complexities of multi-threaded development, then you'd realise that summing the frequency of the cores is completely inaccurate. Hell, don't you think Intel would be doing this with their multi-core processors if it was a legitimate statistic? (a point I've made several times now but you keep ignoring).
You've been told by a multitude of people what the correct measure of cumulative processing power is, and instead you're still holding onto the same myth which the clickbait headlines are perpetuating. So really, you're just reinforcing my point about how they shouldn't be using such a dumb statistic because people who don't know any better will fall for it.
Anyway, and FYI, core frequency isn't even a good measure of CPU performance on single core systems. A 1GHz RISC CPU will perform vastly differently to a 1GHz CISC. Then you have the plethora of RISC architectures; and even on x86, different CPUs will have different co-processors, caching, pipelining and even additional instructions, thus will perform differently on different stress tests.
So crudely summing clock frequencies on a cluster is about as accurate a description of performance as remarking on the colour of the motherboard. But let's not let a pesky thing like science get in the way of our deeply held beliefs ;)
I've seen similar projects in the distributed-memory space (tiny clusters like Limulus[1], MicroWulf[2], or LittleFe[3]). These things are great for educational purposes, and the low cost makes them a lot of fun for classes and workshops. LittleFe, for example, supports distributed-memory and GPGPU programming and teaches you about clusters, and the educational program at the Supercomputing conference lets some educators build one and take it home for free.
But for professional work, I think a workstation-class PC, maybe with a GPU, is always going to win out.
[1] http://limulus.basement-supercomputing.com/ [2] http://www.calvin.edu/~adams/research/microwulf/ [3] http://littlefe.net/
sigh There is no guarantee on Kickstarters.
https://www.digilentinc.com/Products/Detail.cfm?Prod=ZEDBOAR...
No idea what's hiding on the FMC daughterboard, though.
Seriously though, this sounds amazing :)