Community
cancel
Showing results for 
Search instead for 
Did you mean: 
rkmanikanta
Beginner
68 Views

Can i use Peterson Lock as SMP lock??

Hi,
Can i use Peterson Lock as SMP Lock, if the processor doesn't support Get-and-Set instruction?
Thanks,
Mani
0 Kudos
4 Replies
Dmitry_Vyukov
Valued Contributor I
68 Views

Yes, of course. However, then hardware has to support either sequentially-consistent memory model or #StoreLoad style memory fences.
anthony_williams
Beginner
68 Views

Peterson's lock was designed for precisely this scenario. However, you need to ensure that the operations become visible to the other processors in the right order. The algorithm assumes a sequentially-consistent memory model, and on some platforms this will require memory fence operations before and/or after some of the stores and loads.

You also need to bear in mind that Peterson's lock is not a replacement for a general-purpose mutex --- each thread that tries to access the critical section must have a specific ID. The basic algorithm only works with 2 specific threads, though it is possible to extend it to more.
rkmanikanta
Beginner
68 Views

Hi,
thanks for the reply.
But how can we extend Peterson lock for N-processes?
Thanks,
Mani
Chris_M__Thomasson
New Contributor I
68 Views

This paper describes a technique to convert two-wayPeterson'slock into N-way:
http://www.google.com/url?sa=t&source=web&cd=10&ved=0CDcQFjAJ&url=http%3A%2F%2Fciteseerx.ist.psu.edu...
I think they call it a filter lock or something...
Reply