{'fraction_non_alphanumeric': 0.019877675840978593, 'fraction_numerical': 0.0007645259938837921, 'mean_word_length': 5.323671497584541, '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}}
Understanding the Performance of In-Network Computing: A Case Study

Numerous distributed applications, including machine learning and big data analysis, have suffered performance degradation from network bottleneck. To solve this problem, researchers have proposed In-Network Computing (INC), which commits extra on-path packet interpretation to help improve system performance. Although preliminary results have pointed out that INC can reduce network traffic and lighten the load of endpoint CPU, the question that how INC affects the overall performance of the system is left untouched. Existing performance models and tools fall short when dealing with this problem since they treat the network as a dump pipe and take no consideration of the architectural characteristics of INC. To fill this gap, in this paper, we build a performance model of INC abstracted from the state-of-art network techniques. Based on this model, we reveal the main factors which affect the effectiveness of INC. An important observation is that INC can be surprisingly harmful in some cases. Then we propose some optimization strategies and architectural improvement to overcome the drawbacks and improve the system performance. Our experiments have shown that our strategy can gain nearly 2× system performance improvements.