tags:

views:

63

answers:

4

I just want to know that if there is a simple way of judging what kind of apps can perform better on multi-core cpu? Such as Memcached, redis, MySQL, Cassandra and so on.

A: 

Bruteforcing cryptographic hashes.

Longpoke
+1  A: 

Anything where independent calculations can be performed...

Financial Applications and Graphics Rendering Applications come to mind.

Justin Niessner
Doesn't it need any particular programming library/method?
Mickey Shine
@Mickey Shine: There are numerous different libraries and methods of doing multi-threaded computation, so no one particular one is needed.
derobert
A: 

There are all kinds of apps that could benefit, but if you want to boil it down to just one important thing then I would have to say any application that takes advantage of a multithreaded architecture. If developed correctly the application threads could be ran simultaneously on different cores. The trick is to make sure they do not serialize from excessive locking.

Brian Gideon
A: 

Very simple example.

Anything that has a computation that can be broken down. Say you need to add all numbers from 0-800,000 and you have an 8 core machine.

You can set up 8 loops to add the numbers 1-100,000; 100,001-200,000, etc... run one on each core, save the results in a variable. i.e. loop1,loop2,etc. Then add the variables together when the loops terminate for your answer.

pinnacler
Of course, before going through the extra work of multithreading, one should perform simple algebraic optimizations :-P
derobert