Can i use Peterson Lock as SMP lock??

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

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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

All about lock-free algorithms, multicore, scalability, parallel computing and related topics:
http://www.1024cores.net

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.

Hi,thanks for the reply.But how can we extend Peterson lock for N-processes?Thanks,Mani

Leave a Comment

Please sign in to add a comment. Not a member? Join today