{'fraction_non_alphanumeric': 0.01674418604651163, 'fraction_numerical': 0.0, 'mean_word_length': 5.4431137724550895, '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}}
Opportunistic Log : Efficient Reads in a Reliable Object Server

Object servers offer the potential of improved client caching. However, in comparison to page servers, object servers must perform additional disk reads. These installation reads are required to install modified objects onto their corresponding disk pages. In this paper, we introduce the opportunistic log: a new technique that significantly reduces the cost of these installation reads in object servers. The opportunistic log provides a large pool of pending installation reads that can be scheduled efficiently. Using simulations, we show that the opportunistic log substantially enhances the performance of reliable object servers. An object server without the opportunistic log requires much better client caching to outperform a page server. With an opportunistic log, only a small client cache improvement suffices. Our results affect the fundamental design choice between page-based and object-based servers and imply that efficient scheduling of installation reads is important in future disk design.