[Haskell-cafe] Dynamic thread management?

Hugh Perkins hughperkins at gmail.com
Tue Aug 21 09:02:11 EDT 2007


On 8/21/07, Tim Chevalier <catamorphism at gmail.com> wrote:
> I don't think you have to worry too much about the political
> obstacles. People want automatic multithreading, and in a year or two
> we'll all have multicore boxen. In any case, if you don't solve the
> technical problems, the political ones will never surface; if you
> build it, people will come, or if they don't, you at least know
> something that you wouldn't have known if you didn't build it :-)

Ok, that's good encouragement.  Practical question: I dont have a
multicore box ;-)  It's my main show-stopper right now.  Any clues on
how to get access to one, eg via ssh?  32-core or higher would be
favorite ;-) but I guess even just a 4-core or so is enough for
proof-of-concept?

> GHCi, of course, is a bytecode interpreter, so that's sort of like a
> VM. You might start by looking at how GHCi works and see what you
> would need to change if performance rather than interactivity was your
> goal.

Yes, I guess two approaches are to take GHCi and make it handle
automatic threading, but keeping the interactivity, ie not seeking to
rival ghc in real performance, but merely providing a PoC, ...

... or build a minimal vm, enough to get 3 or 4 somewhat interesting
algorithms / programs to run, and get automatic threading working on a
couple of targets, eg on maps, and whatever [ x | x <- somelist ]
these things are called.  (folds are a little harder from an
implementation point of view, so can be a future upgrade).

> Anyone can submit a paper to a CS journal or conference. While most
> people who do so are affiliated with universities, research labs, or
> (more rarely) non-research companies, there are independent
> researchers out there, and sometimes you'll notice a paper where
> someone is listed by just their name with no affiliation.

Again, that's quite encouraging :-)  I'm far too lazy to sign my life
away for 7 years of phd :-D  (unless someone knows anyone looking for
phd students in somewhere exotic like Paris, China or Singapore???),
but working on it in my own time sounds fun.

> First come up with a technical result that you believe is
> paper-worthy

I guess a "paperworthy technical result" doesnt have to be a fully
fledged Haskell VM with in-depth automatic threading?, but either GHCi
with some simple automatic threading, or a minimal vm implementation,
again with some simple automatic threading?

Basically, we give it one or three algorithms with automatic threading
switched off, time execution, then run it on (ideally 32 or 64 cores
but 4 is ok) a multicore machine, and show that the execution elapsed
time is less?

> But really, you'll want to find a mentor who
> can give you advice on how to write a paper that will fit the mold.
, then find other people to talk to who can confirm that
> opinion and help you get your paper submitted :-)

Would you or Neil fancy being a mentor for this, if I can start to get
somewhere on it?


More information about the Haskell-Cafe mailing list