{'fraction_non_alphanumeric': 0.023058252427184466, 'fraction_numerical': 0.0048543689320388345, 'mean_word_length': 5.991525423728813, '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}}
Application Defined Computing in smartphones and consumer electronics

Smartphones to enterprise servers, most computing systems are built with commodity components, such as flash (NAND) storage, memory, etc. Although such generalization of commodity components reduces the cost of electronic products, generic components result in severe inefficiency in terms of energy and performance. We introduce Application Defined Computing (ADC) to specialize generic hardware based on runtime application characteristics. Our experimental results show that brokering just a couple of parameters in DRAM (memory) systems could improve Energy Delay Product by 23% and performance by 17% for memory-intensive workloads in smartphones. Our approach could be used in most consumer electronics products with diverse application workloads.