[CCC DEV] Ideas on work stealing multicore scheduler for tvm
Adam Sampson
ats at offog.org
Fri Aug 19 23:59:25 BST 2011
Matt Jadud <matt at jadud.com> writes:
> Our assumption/hope is that we should be able to break the scheduler
> out fairly cleanly across the multiple contexts, thus impacting the
> TVM codebase minimally.
That sounds plausible. The multiterpreter branch in the archived
Transterpreter repo should be a decent starting point to see what you'll
need to change and how to kick stuff off...
... argh, is it really five years since we were playing with that? How
time flies...
> Or, depending on the state of tock, it might make sense to look at
> implementing the API it expects and supporting the native route
> through C? (I forget where these things got to.)
Tock needs some work to make it use the Haskell 2011 language and
libraries. I've put some time into this lately, but got distracted by
the impending start of term. At present, Tock will only build with GHC
6.12 (not the more recent 7.0 or 7.2), and it has some testsuite
failures that I've not had a chance to track down -- so I probably
wouldn't base a project on it right now. ;-)
The API that Tock uses is just the "CIF" one that current versions of
CCSP export, though. When given this source file:
http://offog.org/darcs/tock/testcases/commstime-mini.occ
Tock will produce this C file:
http://offog.org/stuff/commstime.c
For some clearer examples of CIF, have a look at the
modules/cif/examples directory in the KRoC source tree.
This is not to say that doing it this way necessarily makes any sense,
although it would be pretty cool. :)
Thanks,
--
Adam Sampson <ats at offog.org> <http://offog.org/>
More information about the developers
mailing list