|
|
About
TODO
Blog
RSS
Old blog
Projects
Gallery
Notes
Thu, 22 Feb 2007
New syslet/threadlet release by Ingo Molnar.[ND]
Feature set include new entity called threadlet - it is a function,
which will be executed in a sync context, and if it blocks (for example
in some syslet) new thread will be created on behalf of that function,
thus this approach allows to have a mssively parrallel execution.
Unfortunately there are serious caveats in the design - threadlets are
not even designed to work with network, where essentially most of
the calls sleep.
Main problem here is the fact, that havin the whole thread to handle a simple execution
context is wrong - it does not scale - rescheduling is damn to slow
in kernelspace->userspace boundary crossing, that is why I develop
an alternative M:N threading model
in userspace.
I also doubt about its usefullness - people who care will create own
thread for that, since POSIX thread creation overhead generally much smaller
than time function executes.
Among other changes:
- get rid of locked pages for completion ring.
(Just as prognosed,
what else among implemented in kevent ideas will get its place in syslets?)
- multiple completion rings
- removed initialization and celanup functions, instead parameters are explicitly
transferred into execution syscall
- bug fixes
/devel/kevent/aio :: Link / Comments (0)
Please solve this captcha to be allowed to post (need to reload in a minute): 33 - 29
|