{'fraction_non_alphanumeric': 0.028216704288939052, 'fraction_numerical': 0.001128668171557562, 'mean_word_length': 5.640449438202247, '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}}
Efficiency in warehouse-scale computers: a datacenter tax study

Computation has been steadily migrating from isolated on-premise deployments to the datacenters of a small number of large-scale cloud providers. The datacenters powering the cloud, also known as warehouse-scale computers (WSCs), have a unique set of design constraints, balancing efficiency at scale with ever-growing application needs for performance. Designing next-generation server platforms forWSCs after the end ofDennard scaling is one of themost important challenges for computer architects. In order to guide such future designs, we performed the first (to the best of our knowledge) longitudinal profiling study of a live productionWSC.Our performancemeasurements span tens of thousands of machines over several years, while these machines serve the requests of billions of users. Even though we observe significant diversity, both in applications and architectural behaviors, patterns begin to emerge. We identify the “datacenter tax” – a set of shared low-level software components that comprise almost 30% of all processor cycles in production datacenters. The constituents of this “tax” – the necessary components to do distributed computation (data serialization, compression, etc.) – are also prime candidates for optimization, both in software and through specialized hardware. The latter case has especially high potential upside, but requires hardware accelerators that are markedly different from traditional designs. These new “broad” accelerators face a unique set of challenges: because calls to tax routines tend to be frequent, fast, and interspersed inside other application code, accelerators must be optimized for latency rather than throughput, and because each one accelerator