{'fraction_non_alphanumeric': 0.020442930153321975, 'fraction_numerical': 0.0, 'mean_word_length': 5.791907514450867, '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}}
Approximating Outside the Processor

Energy usage in many contemporary computing systems is constrained by factors other than computation. The major components of energy use include transferring data onchip in high-performance systems, activating and accessing sensor and display interfaces in wearable and mobile systems, and accessing and refreshing memories in all system types. The relative proportion of energy usage due to factors outside computation will only grow in the future. This is because many of the factors in question are functions of system-level interconnects and packaging, which do not benefit directly from semiconductor technology scaling. There is an opportunity to improve the energy-efficiency of computing systems by exploiting their tolerance to inaccuracy, imprecision, and unreliability. But, seizing this opportunity requires approximating outside the processor, applying approximation to sensors and output devices, instead of only focusing on the operations in computations. This observation is particularly relevant for embedded, wearable, and mobile systems, which form the dominant (and growing) majority of the world’s computing devices.