{'fraction_non_alphanumeric': 0.030416471689284044, 'fraction_numerical': 0.003275620028076743, 'mean_word_length': 4.825613079019074, '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}}
Sharer status-based caching in tiled multiprocessor systems-on-chip

In multi-core systems with cache-to-cache forwarding, the data access latency depends heavily on the sharer status of cache-lines (CLs). The sharer status of a CL is defined by the number of copies of the CL in the whole system. Exclusive single-copy CLs have higher latency for different cache operations (e.g. misses, eviction, invalidation) when compared to shared multi-copy CLs. This is because, single-copy CL misses have to target globally shared system memory in case of a miss, while multi-copy misses may retrieve data from a CL in the neighborhood. These differences leads to dissimilarity in cache design requirements for single-copy CLs and multi-copy CLs. Unfortunately, state-of-the-art private cache designs do not consider this dissimilarity of CLs in all aspects of the cache design. This results in overhead in data access time and cache usage. In this paper, we present a concept of dynamic partitioning of the CLs depending on their sharer status (either single-copy or multi-copy). Based on this concept, we introduce a cache hierarchy in which the hierarchy levels are made different depending on the sharer status of CLs and vary dynamically according to application requirements. In addition, we propose an optimized coherence scheme that reduces the latency overhead of single-copy CLs. The scheme also provides an automatic write-upgrade which reduces the write access time. A cycle-accurate SystemC model of the proposed caching concept is simulated using SPLASH-2 and PARSEC benchmarks. It shows a more than 10% reduction in average memory access time compared to locality-aware adaptive cache models. It also shows a more than 40% reduction in average memory access time compared to cooperative cache models such as elastic and distributed cooperative caches where, these access latency benefits come at a cost of an on average 30% increase in network-on-chip (NoC) traffic. This once more underpins that an appropriately dimensioned on-chip interconnect is prerequisite for attaining high compute performance in large multi-core systems.