{'fraction_non_alphanumeric': 0.020437956204379562, 'fraction_numerical': 0.00145985401459854, 'mean_word_length': 5.2318181818181815, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
NBC: Network-based cache coherence protocol for multistage NoCs

Cache coherence is one of the main factors that can complicate the design of Network On Chip (NoC) due to the large volume of control traffic NoCs generate. With the demand to build a scalable multicore system, this problem has become more urgent to resolve. The snooping-based approach, in spite of its simplicity, cannot scale, while the directory-based approach has better scalability but involves synchronization and message exchange, resulting in a larger latency. This paper describes an efficient directory-based cache coherence protocol for a multi-stage multicore system. The protocol decouples the directories from level-2 caches and places them in the multi-stage network. It achieves two advantages over the traditional directory-based protocol in lowering the latency by almost half due to the placement of the directories, and allowing multipath routing to better load balance the traffic and thus reduce congestion. Control message multicasting and acknowledgment message aggregation are used in the network to speed up the completion of cache coherence operations. We have applied our proposed protocol on a fat-tree topology network. The simulation results based on synthesis traffic and Splash2 trace traffic show that our NBC scheme outperforms the traditional directory-based approach.