[parsec-users] How are pipeline threads synchronized in Dedup?

Akshatha mulki Bhat fdm546 at my.utsa.edu
Fri Mar 30 18:30:27 EDT 2012


I have a very basic question on the pipeline implementation of Dedup in
I understand that there are many threads (maximum being
MAX_THREADS_PER_QUEUE) working on a single queue at the intermediate
pipeline stages. In order to enqueue/dequeue items into the queue, there is
a counter variable(for ex: tmp_count) which keeps track of the number of
items to enqueue at a time(this is implemented for chunking purpose, i.e.,
atleast ITEMS_PER_FETCH amount of items are eneuqued/dequeued, in order to
avoid lock contention on the queues). Although, what I don't understand is
how are these counter variables synchronized among all the threads which
work at the same time on a queue? Please let me know in these regards.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/parsec-users/attachments/20120330/c6d99d09/attachment.htm>

More information about the parsec-users mailing list