What to Synchronize
Updates: parallel do invariant variables that are read then written
Place critical/ordered section around groups of updates
Pay attention to control flow
- Make sure you don’t branch in or out
- Pull it outside loop or region if efficient