[mdlug] Parallella: A Supercomputer For Everyone by Adapteva — Kickstarter
Aaron Kulkis
akulkis00 at gmail.com
Fri Oct 12 13:13:06 EDT 2012
Adam Tauno Williams wrote:
> On Thu, 2012-10-11 at 16:18 -0400, Aaron Kulkis wrote:
>> Adam Tauno Williams wrote:
>>> Software really does have to be tweaked to get the bang-for-the-buck
>>> from this type of setup. And you are still going to run up against
>>> other bottlenecks - primarily I/O and network. Now you just have 100
>>> concurrent processes making demands of those subsystems rather than 10.
>>> End result is that is just doesn't go that much faster.
>> The problem is that these were typically sold as "this is your
>> database server"...and if the database code isn't tweaked to
>> the nth degree to utilize all of the cores, then yes, it's not
>> very cost efficient, because a lot of the cores are sitting
>> around idle.
>> On the other hand, with a raft of processes, all of which are
>> completely independent of each other, without any synchronization
>> requirements causing processes to go to sleep until a sibling
>> process catches up, these problems go away.
>
> "without any synchronization requirements"
>
> And you've just eliminated a huge portion of the problem domain.
> Certainly things like database servers where transactional consistency
> is key.
>
No, I'm showing that you should start thinking BEYOND
database servers.
Remember, with database servers, an incredible amount of
CPU cycles are wasted waiting for locks to be unlocked, etc.
and at the other end, disk commits and disk reads.
And none of this is floating-point oriented.
Basically, throwing more and more CPU at a database just gets
you diminishing returns... whether it's a single fast CPU or
lots of not-quite-as-fast legions of cheaper CPUs.
But take the same machine in which marginal return on
investment of more cheap CPUs is 0 or negative for a
database app, and that same machine will show good
return on investment of more cheap CPUs if the machine
is being used as a general compute-server.
Utility of massively parallel CPUs does ***NOT*** imply
that you have a massively parallelized App -- it implies
that you have lots of code that can run in parallel --
such as a mail handler AND a well-parallelized finite
element analysis job AND a well-parallelized database
AND a virus scanner AND printer-pool manager AND .....
In fact, the greater the mix of apps, the better return
on investment of CPUs because you have fewer CPU cycles
being wasted due to synchronization/concurrency issues --
those other cycles CAN be used by other apps (like a
virus scanner checking the mail spool, etc)
>> Using massively multi-core computers as general compute
>> servers works very well. I've seen this with Sequent
>> (bought out by IBM about 10-12 years ago for their
>> NUMA - Non-Uniform Memory Architecture) with their machines
>> made of large arrays (32 ~ 128) of off-the-shelf Intel
>> x86 CPUs going all the way back to the 80386 days.
>> They were very cost effective, compared to other makers'
>> super-minis. Load averages, even with dozens of students
>> logged in, mostly running X11 graphics terminals, rarely
>> rose to 2.
>
> And bits of that technology have filtered into work-a-day computers.
>
Blade servers, yes.
Laptops -- barely, and only if you're willing to pay $2000+.
>>>> Depending on machine load, that single-threaded app might STILL
>>>> get more clock-cycles (since CPU contention goes way down due to
>>>> the plethora of CPUs available),
>>> Nah. CPUs like the i-family are very smart and internally concurrent.
>>> Maybe if you have a cluster of really good CPUs, but a shoebox of ARMs
>>> is going to get its butt kicked.
>>>> and therefore complete faster
>>>> than on a low-core, high clock-rate CPU.
>>>> I have a 2006-era dual core... it's constantly getting bogged down
>>>> whenever I want to do a couple CPU intensive things simultaneously.
>>> A 2006 vintage machine [assuming it wasn't state-of-the-art at the time]
>>> is going to hit lots of bottlenecks. Most notably the front-side-bus
>>> and the speed of the RAM.
>>>> I don't need parallelized software...what I need are parallel cores.
>>> An i7 can give you eight, and that is a lot. A dual i7 can give you 16.
>> Can they do it at 5W of power consumption?
>
> Nope. But you are moving the mileposts. I don't care a whit about
> power consumption.
Silly boy.
Battery Life = K(batt)/PowerConsumption.
>
> If you want/need a supercomputer than you very much want/need to crunch
> a pile of data as quickly as possible.
Yep.
Some Airforce officer couldn't get approval to buy supercomputer.
So he bought a bunch of used Sony PS2's and had his guys turn it
into a Beowulf cluster.
>
>>> My laptop has an i7-2670QM CPU and I peg three cores @ 100% and it
>>> remains very responsive. If I swamp the hard-drive it turns into a
>>> sled.
>> And it's probably sucking down 150~200 W during those moments.
>
> I doubt it is that high [given my laptop can work hard on the battery
> for *hours*], but it is probably high. But making watts is easy.
>
Only when you're in comfortable office environments.
You live a sheltered life.
At 5W power consumption, I could run the proposed computer
for a couple of DAYS on the same battery.
More information about the mdlug
mailing list