{'fraction_non_alphanumeric': 0.024390243902439025, 'fraction_numerical': 0.0, 'mean_word_length': 5.311965811965812, '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}}
Cathode: A Consistency-Aware Data Placement Algorithm for the Edge

Data storage has been recognized as one of the key tasks for edge/fog computing infrastructures. Keeping replicas of data near the edge has many advantages, including allowing client to be served directly from the fog layer with lower latency and avoiding short-lived data to be shipped in its entirely to the cloud servers. In both cases, edge storage can offer significant bandwidth savings in traffic to and from the cloud datacenterse. However, replica placement on the edge is challenging for multiple reasons. First, objects can be updated by many sources, unlike in classic CDN networks where most updates are centralized. Second, different objects may have different consistency requirements. Third, the number of nodes and objects is very large, which precludes the use of centralized solutions. In this paper, we propose a replica placement algorithm for the edge, named Cathode, that addresses the challenges above. Cathode is decentralized and scalable, providing fast convergence, but also achieving high quality deployments. Furthermore, when making placement decision, it takes into account the data consistency protocol, considering both the cost of update and read operations, leading to different placements for different replica-consistency algorithms. The paper offers an extensive evaluation of Cathode and show that it outperforms previous state-of-the-art replica placement algorithms.