Thisbookfocusesonhowtoprogrammultiprocessorsthatcommunicatevia asharedmemory.Suchsystemsareoftencalledshared-memorymultiprocessors or,morerecently,multicores.Programmingchallengesariseatallscalesofmultiprocessor systems—ataverysmallscale,processorswithinasingle