In "Computer Organization and Design, RISC-V ed.", for part of "Basic Schemes for Enforcing Coherence", I'm confused with two concepts, migration and replication.
The given definitions of two are like this:
In a cache-coherent multiprocessor, the caches provide both migration and replication of shared data items:
Migration: A data item can be moved to a local cache and used there in a transparent fashion. Migration reduces both the latency to access a shared data item that is allocated remotely and the bandwidth demand on the shared memory.
Replication: When shared data are being simultaneously read, the caches make a copy of the data item in the local cache. Replication reduces both latency of access and contention for a read shared data item.
Supporting migration and replication is critical to performance in accessing shared data, so many multiprocessors introduce a hardware protocol to maintain coherent caches.
I think replication is quite familiar in the cache system but, I cannot figure out how migration works.