[Ecls-list] Status of MP code
Juan Jose Garcia-Ripoll
juanjose.garciaripoll at googlemail.com
Sun Apr 15 21:33:11 UTC 2012
The code as it appears in the tree is considered feature complete. This
means I do not want to introduce any further properties or arguments to the
functions in the MP package and now the priority is shared among these
goals:
* Implement the spinlock-free wait queue in Windows. I believe this is
doable with a simple SleepEx() and our current interrupt signaling
mechanism -- both combined would behave like sigsuspend() in our POSIX
code.
* Further stress testing. I have added three files to src/tests/bugs/,
covering locks, semaphores and mailboxes. Next is condition variables and
trying to enlarge the set of tests to hit corner cases.
* Analyzing "formally" the code for the queue. I have simplified the code
and tried to specify it further in src/threads/queue.d, and it would be
nice if some more knowledgeable people could have a look at this
abstraction to see whether it might hit some ugly corner cases.
* There are some hidden problems with the garbage collector and interrupts.
I have not managed to reproduce it with the current code, but some people
reported it for long lived processes.
* Fix a few other reported bugs which are pending right now
Help is welcome with any of these goals. Other than this, I think we are
close to another release -- ideally before I leave for the ELS in a couple
of weeks. The code seems to work rather fine, it is no longer a CPU hog and
the new abstractions (semaphores, mailboxes) should help simplify existing
code (Slime, for starters).
Best,
Juanjo
--
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20120415/7b4f08cb/attachment.html>
More information about the ecl-devel
mailing list