[CCC DEV] Ideas on work stealing multicore scheduler for tvm
Zachary Williams
williaz at allegheny.edu
Fri Aug 19 19:04:44 BST 2011
Greetings everyone,
As you may have heard I will be implementing Carl's wait-free work
stealing scheduler in the transterpreter virtual machine. I just
wanted to email the list with my plan of attack to see if anyone has
any comments thoughts or ideas before I really get going in one
direction.
Because the TVM is compiled in c and is currently only a single
thread, I thought that the easiest way to initially give it access to
more then one core (on the linux x86 machine I am using) would be to
just run a TVM context for each core using pthreads. This would give
me a starting environment to work on the scheduler. By assuming each
context is mapped to a core (may not actually the case because the OS
would be scheduling the c threads) I can create and test elements of
the scheduler.
The next step would be to remove the use of pthreads. Currently I
(Matt and I) am leaning toward llvm libraries because it would provide
access to low level primitives for concurrency and such while still
maintaining some level of portability (to machines which have an llvm
back end). This is still very up in the air and if anyone has any
ideas please let me know.
Thanks for your time,
Zach
--
williaz at allegheny.edu
More information about the developers
mailing list