[Haskell-cafe] Dynamic thread management?

Jan-Willem Maessen 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.]

-Jan-Willem Maessen

More information about the Haskell-Cafe mailing list