{'fraction_non_alphanumeric': 0.019546027742749054, 'fraction_numerical': 0.0012610340479192938, 'mean_word_length': 5.322709163346613, '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}}
Energy-Efficient Energy Analytics Using a General Purpose Graphics Processing Unit

Smart meters allow energy providers to monitor their customers’ power consumption. This fine-grained data stream generates many data points, which hides broader trends in power consumption and makes it difficult for energy providers to make decisions regarding a specific customer or a subset of customers. Since the raw power data has little direct use, various algorithms have been proposed to lower the dimensionality of data, discover trends, study relationships between different features of collected data, and summarize data. These analytical techniques make the data more palatable to the end user. Analyzing smart meter data is computationally intensive as there is a large number of households connected to one energy provider, and each household generates years of data at hourly intervals. To speed up the analysis, clusters of commodity computers have been used. Ironically, such clusters consume substantial energy – studies have shown that about 10% of the world-wide supply of electrical power is consumed by the computing infrastructure. In this paper, we describe the use of a graphics processing unit (GPU) to analyze smart meter data, and compare its performance with a conventional multi-core CPU. We discuss the technical challenges in programming a GPU effectively to process smart meter data, and demonstrate experimentally that this choice of implementation enables substantial improvements in terms of both running time and energy-efficiency as compared to the multi-core CPU.