Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.

Distributed Reader-Writer Mutex by Dmitry Vyukov

aminer10
Novice
156 Views

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/distributed-reader-writer-m...


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.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.
 
 
 
0 Kudos
4 Replies
aminer10
Novice
156 Views

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
Novice
156 Views

Sorry for my english: i mean atomically.
 
 
 
Thank you,
Amine Moulay Ramdne.
 
aminer10
Novice
156 Views
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
Novice
156 Views
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.
 
Reply