I just saw this post now and was going to add a comment with something similar. I wonder how many people's response to any question that begins with: "What would you do with..." results in an answer of something that includes the phrase "two chicks at the same time".
Sun wanted to sell you theirs for $$$$. Now that AMD and Intel are at it, we'll have 8-12 cores for $200 in a few years. Things did seem to slow down a bit on the multi-core front. I was beginning to wonder what happened.
I have a Mac Pro too, and I know the feeling. Have you looked into distributed computing (BOINC, etc)? That's how I rationalize it. I see the electricity bill as part of my donation to science.
Well, it depends how you view the original question.
Sure, you could eventually find some purpose to the 48 cores, but that implies an active search for such a purpose and basically a side-project. I dunno, I might just collocate the server and sub-rent virtual machines or do some shared hosting -- but that's not what I care about.
So -- for my current tools and work-flow, 48 cores isn't needed. Pretty sure some scientist or video editor might replace his cluster with this thing but as a normal user and developer I would severely under-utilize the hardware.
For some reason, this idea came into my mind: that the existence of this kind of contests proves either the marketing departments have really trouble figuring out how to promote many-core processors, or there is no real demand for these monsters except a few niches.
Couldn't most of games use it for higher complexity graphics? It looks like people are still not developing for multicore... maybe it's still "too hard" for an average game developer?
Games face bottlenecks from heavy statefulness. Animations, physics, and AI have design-required interdependencies where a change in one will trigger a change in the other - e.g., the player character throws a box, it collides with an enemy, and the box breaks, while the enemy shows a visible hitreact or knockback, and possibly changes their future tactics. Sometimes you can queue and defer all of these changes for a frame and lose some responsiveness, but other times it's really critical to have them all sync up.
The render stage of graphics benefits from massive parallelization, but most subsystems can't see the same improvement. A common fallacy of new game programmers is to think that "one thread per actor" is a clean architecture - only to discover that each actor's thread blocks the others and causes massive slowdown.
I believe the next version of Firefox will be able to run flash in its own thread, so having a bunch of extra cores would indeed isolate the evil from the rest of your browser.
I've been running nightly's lately and it does indeed "isolate evil". Instead of a browser crash I now see a message at the top of the respective page telling me that the plugin crashed.
The MapReduce tasks I run on Hadoop are heavily CPU bound. This would be a dream come true, at least until the light bill arrived. I have to wonder, with so many MR tasks running on a single box, would IO become an issue again? Suppose you have 12 HDDs and 96 tasks running. At some point the tasks are going to fight each other for the needle.
Alternatively I'd set up a transcoding farm and build a service to help people to edit their videos online and download them in multiple formats. My goal would be something like iMovie but cross-platform with subscription meaning exclusive filters, wipes and effects with more formats.
34 comments
[ 2.7 ms ] story [ 139 ms ] threadthe 43rd to satisfy the nerd,
the 44th to find north,
the 45th to bust a myth,
and the 46th idles because nothing rhymes with it
... and well, you finish it.
Sure, you could eventually find some purpose to the 48 cores, but that implies an active search for such a purpose and basically a side-project. I dunno, I might just collocate the server and sub-rent virtual machines or do some shared hosting -- but that's not what I care about.
So -- for my current tools and work-flow, 48 cores isn't needed. Pretty sure some scientist or video editor might replace his cluster with this thing but as a normal user and developer I would severely under-utilize the hardware.
The render stage of graphics benefits from massive parallelization, but most subsystems can't see the same improvement. A common fallacy of new game programmers is to think that "one thread per actor" is a clean architecture - only to discover that each actor's thread blocks the others and causes massive slowdown.
Seriously though? I don't know -- maybe get a bunch of RAM and virtualize 32 machines for some distributed systems research.
https://chessprogramming.wikispaces.com/HiTech?f=print
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.126...
If you have a million processors to play chess with, and your search tree still has a branching factor of thirty, you're only looking two moves ahead.
The human mind is amazing because our pattern-matching-based search heuristics are great.
At least that's how I see it ;)
like this guy
http://www.coderholic.com/12-new-programming-languages-in-12...
(posting because i was about to put some serious effort into this and suspect other "foreigners" here might be caught out in the same way)
Alternatively I'd set up a transcoding farm and build a service to help people to edit their videos online and download them in multiple formats. My goal would be something like iMovie but cross-platform with subscription meaning exclusive filters, wipes and effects with more formats.