Lock coarsening: Eliminating lock overhead in automatically parallelized object-based programs [chapter]

Pedro Diniz, Martin Rinard
1997 Lecture Notes in Computer Science  
Atomic operations are a key primitive in parallel computing systems. The standard implementation mechanism for atomic operations uses mutual exclusion locks. In an object-based programming system the natural granularity i s t o g i v e each object its own lock. Each operation can then make its execution atomic by acquiring and releasing the lock for the object that it accesses. But this ne lock granularity m a y h a ve high synchronization overhead. To a c hieve good performance it may b e
more » ... sary to reduce the overhead by coarsening the granularity at which the computation locks objects. In this paper we describe a static analysis technique | lock coarsening | designed to automatically increase the lock granularity in object-based programs with atomic operations. We h a ve implemented this technique in the context of a parallelizing compiler for irregular, object-based programs. Experiments show these algorithms to be e ective in reducing the lock o verhead to negligible levels.
doi:10.1007/bfb0017259 fatcat:g7g6gkoyvzcchejky7rr3jjbje