1. A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to: assign caches on a processing unit chip to a plurality of coherence domains; assign portions of memory to the plurality of coherence domains; generate a mapping table, wherein the mapping table associates each portion of memory to an identifier of a coherence domain to which it is assigned; responsive to a cache generating a cache miss, look up an address of the cache miss in the mapping table to identify a coherence domain; and snoop caches within the identified coherence domain.