Directory-based coherence (original) (raw)

About DBpedia

Directory-based coherence is a mechanism to handle Cache coherence problem in Distributed shared memory (DSM) a.k.a. Non-Uniform Memory Access (NUMA). Another popular way is to use a special type of computer bus between all the nodes as a "shared bus" (a.k.a. System bus). Directory-based coherence uses a special directory to serve instead of the shared bus in the bus-based coherence protocols. Both of these designs use the corresponding medium (i.e. directory or bus) as tool to facilitate the communication between different nodes, and to guarantee that the coherence protocol is working properly along all the communicating nodes. In directory based cache coherence, this is done by using this directory to keep track of the status of all cache blocks, the status of each block includes in whic

thumbnail

Property Value
dbo:abstract Directory-based coherence is a mechanism to handle Cache coherence problem in Distributed shared memory (DSM) a.k.a. Non-Uniform Memory Access (NUMA). Another popular way is to use a special type of computer bus between all the nodes as a "shared bus" (a.k.a. System bus). Directory-based coherence uses a special directory to serve instead of the shared bus in the bus-based coherence protocols. Both of these designs use the corresponding medium (i.e. directory or bus) as tool to facilitate the communication between different nodes, and to guarantee that the coherence protocol is working properly along all the communicating nodes. In directory based cache coherence, this is done by using this directory to keep track of the status of all cache blocks, the status of each block includes in which cache coherence "state" that block is, and which nodes are sharing that block at that time, which can be used to eliminate the need to broadcast all the signals to all nodes, and only send it to the nodes that are interested in this single block. Following are a few advantages and disadvantages of the directory based cache coherence protocol: * Scalability: This is one of the strongest motivations for going to directory based designs. What we mean by scalability, in short, is how good a specific system is in handling the growing amount of work that it is responsible to do . For this criteria, Bus based systems cannot do well due to the limitation caused when having a shared bus that all nodes are using in the same time. For a relatively small number of nodes, bus systems can do well. However, while the number of nodes is growing, some problems may occur in this regard. Especially since only one node is allowed to use the bus at a time, which will significantly harm the performance of the overall system. On the other hand, using directory-based systems, there will be no such bottleneck to constrain the scalability of the system. * Simplicity: This is one of the points where bus-system is superior. Since the bus structure itself can serve as an organizer for all the traffic that goes through the system, and ensure the atomicity of all the signals passed through. Thus, there will be no need to put more effort in ensuring atomicity and ordering between signals as the case in directory based systems, which leads to several overhead faced in the later system design when dealing with issues like consistency. According to the above discussion, it is clear that using bus based systems seems more attractive for relatively small systems. However, directory based systems become crucial when the system scale up and the number of nodes grows. So there is a kind of trade-off between the simplicity and the scalability when comparing between Bus-based and Directory-based cache coherence designs. (en)
dbo:thumbnail wiki-commons:Special:FilePath/Directory_Scheme.png?width=300
dbo:wikiPageID 52275869 (xsd:integer)
dbo:wikiPageLength 12938 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1096344590 (xsd:integer)
dbo:wikiPageWikiLink dbr:Scalable_Coherent_Interface dbr:MESI_protocol dbr:University_of_Washington dbr:Node_(networking) dbr:SGI_Origin_2000 dbr:Consistency_model dbr:Cache_coherence dbr:Stanford_University dbr:State_(computer_science) dbr:Distributed_shared_memory dbr:Broadcasting dbr:Non-uniform_memory_access dbr:Directory_(computing) dbr:Atomicity_(database_systems) dbr:Stanford_DASH dbc:Computer_architecture dbr:Bit_array dbr:Jean-Loup_Baer dbr:BBN_Butterfly dbr:Bus_(computing) dbr:Race_condition dbr:Cache_memory dbr:MSI_protocol dbr:Message_Passing_Interface dbr:Finite-state_machine dbr:Scalability dbr:System_bus dbr:Trade-off dbr:Snoopy_cache dbr:Origin_3000 dbr:Coherence_protocol dbr:Multiprocessor_system-on-chip dbr:File:Directory_Protocol_State_transtion_diagram.png dbr:File:Directory_Scheme.png
dbp:wikiPageUsesTemplate dbt:Orphan dbt:Reflist
dct:subject dbc:Computer_architecture
rdfs:comment Directory-based coherence is a mechanism to handle Cache coherence problem in Distributed shared memory (DSM) a.k.a. Non-Uniform Memory Access (NUMA). Another popular way is to use a special type of computer bus between all the nodes as a "shared bus" (a.k.a. System bus). Directory-based coherence uses a special directory to serve instead of the shared bus in the bus-based coherence protocols. Both of these designs use the corresponding medium (i.e. directory or bus) as tool to facilitate the communication between different nodes, and to guarantee that the coherence protocol is working properly along all the communicating nodes. In directory based cache coherence, this is done by using this directory to keep track of the status of all cache blocks, the status of each block includes in whic (en)
rdfs:label Directory-based coherence (en)
owl:sameAs wikidata:Directory-based coherence dbpedia-fa:Directory-based coherence https://global.dbpedia.org/id/2eKjT
prov:wasDerivedFrom wikipedia-en:Directory-based_coherence?oldid=1096344590&ns=0
foaf:depiction wiki-commons:Special:FilePath/Directory_Protocol_State_transtion_diagram.png wiki-commons:Special:FilePath/Directory_Scheme.png
foaf:isPrimaryTopicOf wikipedia-en:Directory-based_coherence
is dbo:wikiPageWikiLink of dbr:Cache_coherence
is foaf:primaryTopic of wikipedia-en:Directory-based_coherence