{'fraction_non_alphanumeric': 0.0210016155088853, 'fraction_numerical': 0.0008077544426494346, 'mean_word_length': 5.133663366336633, '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}}
Evaluating Dusty Caches on General Workloads

Silent stores, i.e., stores to memory that write the same value as already stored in that memory location, have been observed to occur frequently. These stores not only create redundant memory transactions, but in a multiprocessor environment result in redundant communication messages. In this paper, we quantify the frequency of such silent stores, in particular temporally silent stores, in typical benchmarks such as MiBench and CommBench, and evaluate the effectiveness of a ”dusty” cache policy on these workloads. The dusty cache policy remembers the initial values loaded into cache from memory, and squashes temporally silent stores. We present results from experiments that compare this dusty cache policy to a standard write-back cache of comparable size. One aspect of this work is that the evaluation environment is not simply an isolated application executing on a target architecture, but rather includes a complete run-time environment, including the OS. The effectiveness of dusty caches is assessed in the context of a full multitasking system. The empirical measurements are made using dedicated hardware on a soft-core implementation of a SPARC V8 ISA deployed on an FPGA.