Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming.threads > #1030
| From | "aminer" <aminer@videotron.ca> |
|---|---|
| Newsgroups | comp.programming.threads, comp.programming |
| Subject | Re: About Distributed Reader-Writer Mutex by Dmitry Vyukov |
| Date | 2012-08-25 20:01 -0500 |
| Organization | A noiseless patient Spider |
| Message-ID | <k1bp1a$qcc$1@dont-email.me> (permalink) |
| References | <k1bo6h$m94$1@dont-email.me> |
Cross-posted to 2 groups.
Patricia Shanahan wrote:
> The text explanation on the referenced web page says 'No additional
> synchronization between writers is required, writers acquire the mutexes
> in the same order (from 0 to P-1), so ownership over mutex 0 basically
> determines who is the "current" writer (all other potential writers are
> parked on mutex 0).'
You are absolutly right.
Thank you,
Amine Moulay Ramdane.
"aminer" <aminer@videotron.ca> wrote in message
news:k1bo6h$m94$1@dont-email.me...
>
> Hello,
>
> Dmitry Vyukov wrote this:
>
> "In order to a reader-writer mutex to scale reader's time under mutex must
> be significant, on the order of, let's say, 10'000 cycles. And the more
> hardware
> threads you have the longer the time must be. Otherwise, inter-reader
> synchronization
> overheads dominate, and the system does not scale."
>
> Read here:
>
> http://www.1024cores.net/home/lock-free-algorithms/reader-writer-problem/distributed-reader-writer-mutex
>
>
> I have done some tests with my light weight MREW and my lockfree mpmc
> fifo queue and what i think is that the CAS is generating a lot of
> contention this is is why
> my rwlock is not scaling.
>
> What you are doing Dmitry Vyukovin in your distributed rwlock is lowering
> the contention
> using the same method as lock striping it is why it is scaling, but there
> is still a possibility
> of contention that can cause a problem to the scalability if you are not
> setting the number
> of rwlocks inside your distributed rwlock correctly.
>
>
> other than that:
>
> I have looked at the Distributed Reader-Writer Mutex by Dmitry Vyukov,
> look
> at it here:"
>
> http://www.1024cores.net/home/lock-free-algorithms/reader-writer-problem/distributed-reader-writer-mutex
>
>
> and i think there is a problem with this method, cause look at the write
> lock function:
>
>
> int distr_rw_mutex_wrlock(distr_rw_mutex_t* mtx)
> {
> int i;
> for (i = 0; i != mtx->proc_count; i += 1)
> pthread_rwlock_wrlock(&mtx->cell[i].mtx);
> return 0;
> }
>
>
> What is wrong with it ? suppose two or more writers want to lock this
> distributed rwlock there is a possibility of a deadlock.
>
> So i think you have to use a critical section around the for loop to be
> able
> to lock all the rwlocks atomically to avoid the deadlock problem..
>
>
>
>
> Thank you,
> Amine Moulay Ramdane.
>
>
>
>
>
>
>
>
>
>
>
>
>
Back to comp.programming.threads | Previous | Next — Previous in thread | Find similar
About Distributed Reader-Writer Mutex by Dmitry Vyukov "aminer" <aminer@videotron.ca> - 2012-08-25 19:47 -0500 Re: About Distributed Reader-Writer Mutex by Dmitry Vyukov "aminer" <aminer@videotron.ca> - 2012-08-25 20:01 -0500
csiph-web