tailieunhanh - Parallel Programming: for Multicore and Cluster Systems- P10

Parallel Programming: for Multicore and Cluster Systems- P10: Innovations in hardware architecture, like hyper-threading or multicore processors, mean that parallel computing resources are available for inexpensive desktop computers. In only a few years, many standard software products will be based on concepts of parallel programming implemented on such hardware, and the range of applications will be much broader than that of scientific computing, up to now the main application area for parallel computing | 80 2 Parallel Computer Architecture E exclusive means that the cache contains the only exclusive copy of the memory block and that this copy has not been modified. The main memory contains a valid copy of the block but no other processor is caching this block. If a processor requests a memory block by issuing a PrRd and if no other processor has a copy of this memory block in its local cache then the block is marked with E instead of S in the MSI protocol in the local cache after being loaded from the main memory with a BusRd operation. If at a later time this processor performs a write into this memory block a state transition from E to M is performed before the write. In this case no additional bus operation is necessary. If between the local read and write operation another processor performs a read to the same memory block the local state is changed from E to S. The local write would then cause the same actions as in the MSI protocol. The resulting protocol is called MESI protocol according to the abbreviation of the four states. A more detailed discussion and a detailed description of several variants can be found in 35 . Variants of the MESI protocol are supported by many processors and the protocols play an important role in multicore processors to ensure the coherency of the local caches of the cores. The MSI and MESI protocols are invalidation protocols. An alternative is writeback update protocols for write-back caches. In these protocols after an update of a cache block with state M all other caches which also contain a copy of the corresponding memory block are updated. Therefore the local caches always contain the most recent values of the cache blocks. In practice these protocols are rarely used because they cause more traffic on the bus. Directory-Based Cache Coherence Protocols Snooping protocols rely on the existence of a shared broadcast medium like a bus or a switch through which all memory accesses are transferred. This is typically the