![]() In an invalidation based protocol, the first write by a processor to a shared cache block causes an invalidation to establish ownership of that block. The first source is true sharing misses that arise from the communication of data through the cache coherence mechanism. The coherence misses can be broken into two separate sources. These are the misses that are caused due to inter-processor communication, in order to maintain coherence. In addition to these, in a multiprocessor system, we have a fourth miss called the coherence misses. We have already looked at the three Cs that contribute to the misses in a uni-processor system – capacity, conflict and compulsory. Performance of symmetric shared memory multiprocessors: In a multiprocessor system, several factors affect the performance. We will focus on the performance of symmetric shared memory multiprocessors and then elaborate on the directory based approach in this module. ![]() The previous module discussed in detail about the snoop based protocol. Requires broadcast, since caching information is at processors Useful for small scale machines (most of the market) The caches are all accessible via some broadcast medium (a bus or switch), and all cache controllers monitor or snoop on the medium to determine whether or not they have a copy of a block that is requested on a bus or switch access. Snoop based: Every cache that has a copy of the data from a block of physical memory also has a copy of the sharing status of the block, but no centralized state is kept. Communication is established using point-to-point requests through the interconnection network.Ģ. The directory can also be distributed to improve scalability. Directory based: The sharing status of a block of physical memory is kept in just one location, called the directory. ![]() As a recap, the two types are given below:ġ. In the previous module, we discussed the cache coherence problem and pointed out that there are basically two types of cache coherence protocols. The objectives of this module are to discuss about the performance of symmetric shared memory multiprocessors in terms of true sharing and false sharing misses and elaborate on the Directory based cache coherency protocol. 40. Thread Level Parallelism – SMT and CMP.37. Exploiting ILP with Software Approaches II.34. Case Studies of Multicore Architectures II.33. Case Studies of Multicore Architectures I.31. Other Issues with Parallel Processors.20. Exploiting ILP with Software Approaches I.19. Dynamic scheduling with Speculation.18. Dynamic scheduling – Loop Based Example.16. Advanced Concepts of ILP – Dynamic scheduling.15. Exception handling and floating point pipelines.9. Execution of a Complete Instruction – Control Flow.8. Execution of a Complete Instruction – Datapath Implementation.4. Summarizing Performance, Amdahl’s law and Benchmarks.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |