[Haskell-cafe] Dynamic thread management?
jmaessen at alum.mit.edu
Fri Aug 10 10:38:31 EDT 2007
On Aug 10, 2007, at 9:31 AM, Hugh Perkins wrote:
> Not many replies on this thread? Am I so wrong that no-one's even
> telling me? I find it hard to believe that if there were obvious
> errors in the proposition that anyone would resist pointing them
> out to me ;-)
> So, that leaves a couple of possibilites: some people are agreeing,
> but see no point in saying; or noone cares, because we all only
> have 1 or 2 core machines.
> I'm going to kindof run with the second possibility for now.
> However, I do believe it's the right time to solve this, what with
> 64-core Niagara's around the corner and so on.
> What would be neat would be a way to test solutions on simulated
> 1024-core machines, using a single-core machine. Are there any
> utilities or virtual environments around that might make this kind
> of testing feasible?
It's actually difficult to do realistic simulations of large machines
like this; most of the performance effects you'll see depend on the
behavior of the cache and memory subsystems, and it's difficult and
expensive to simulate those well. So, for example, you could use
something like Simics to simulate a 1024-core machine, but it'd be
expensive (Simics costs money), slow (100x? slower than ordinary
execution) and non-parallel (so you wouldn't be able to run it on a
currently-extant multiprocessor box in the hopes of speeding up the
simulation). Between the simulator slowdown and the fact that you're
simulating 1024 cores using only 1 thread, you can expect to wait a
long time for simulation results.
Also, these things tend to require an awful lot of care and feeding.
[Full disclosure: I don't personally work with Simics or its ilk, but
my colleagues do.]
More information about the Haskell-Cafe