{'fraction_non_alphanumeric': 0.018226002430133656, 'fraction_numerical': 0.0, 'mean_word_length': 5.290076335877862, '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-transparent scheduling of socket system calls on many-core systems

As the number of cores equipped in network servers is rapidly increasing, a greater number of processes or threads run concurrently. However, if these tasks invoke system calls frequently, they are not executed as concurrently as expected due to the synchronization of in-kernel data structures, cache coherence for shared data structures, and cache pollution by system calls. To address these issues, we suggest decoupling the system call context that performs network I/O from the application context and scheduling the system call contexts on a set of cores independently, which can maximize the data and instruction locality of network protocol stacks. Our design does not require any modifications of the kernel and existing applications.