Distributed Reader-Writer Mutex by Dmitry Vyukov

Distributed Reader-Writer Mutex by Dmitry Vyukov

aminer10's picture
Hello all;

I have loolked at the Distributed Reader-Writer Mutex by
Dmitry Vyukov, look
at 

http://www.1024cores.net/home/lock-free-algorithms/reader-writer-problem...

and
i have looked at it 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 wants 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 at the same time to avoid the deadlock
problem..

Am i correct or not ?

Thank you,
Amine Moulay
Ramdane.      

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
aminer10's picture
I wrote: > So i think you have to use a critical section around the for loop to
be able
> to lock
> all the rwlocks at the same time to avoid the
deadlock problem..   I mean  you have to use a critical section around the for loop to be
able 
to lock all the rwlocks atomicly  to avoid the deadlock
problem..         Thank you, Amine Moulay Ramdane.
aminer10's picture
Sorry for my english: i mean atomically.       Thank you, Amine Moulay Ramdne.  
aminer10's picture
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.  
aminer10's picture
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.  

Login to leave a comment.