[Fwd: Re: [cells-devel] Cells and Threads]
Duane Searsmith
dsears at shout.net
Wed Feb 21 12:38:38 UTC 2007
Thank you Ken and Attila for your feedback. I think I have a fair
understanding of the issues now. I'm going to do some brainstorming
over exactly how I would like the threads to interact with the Cells
engine and then try some experiments with different locking strategies
and see what happens.
I'll report back on what I discover.
Best,
-- Duane
Attila Lendvai wrote:
>> > I have an application that is multithreaded and I would like to
>> > explore how to use cells to drive the dataflow. I've read through the
>> > examples and looked over the code a bit. Seems like I could get in
>> > trouble if multiple threads tried to change a cell with dependencies
>> > at the same time.
>
> i think a global read-write lock could work, which is acquired for
> read whenever a cell is checked for validity and upgraded to writing
> when the cell is invalid and needs recalculation. a write lock locks
> out all other readers and writers, while readers can operate paralel.
>
> interesting questions arise when the calculations themselves have to
> acquire other locks in the application... then it's not trivial to
> ensure the proper locking order everywhere that avoids random
> deadlocks.
>
> but at first i would just create a big-lock-of-the-world which is
> acquired whenever anything is used that uses Cells in your app. but
> this kills paralelism more and more as the Cells-using part of the app
> is bigger and bigger.
>
> hope i said something useful,
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> cells-devel site list
> cells-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/cells-devel
More information about the cells-devel
mailing list