{'fraction_non_alphanumeric': 0.025365853658536587, 'fraction_numerical': 0.0, 'mean_word_length': 5.493670886075949, '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}}
Enabling dynamic and programmable QoS in SoCs

While System-on-Chip (SoC) complexity grows, the problem of designing interconnects offering a suitable Quality-of-Service (QoS) becomes drastically complex and forces designers to spend significant effort and time. Moreover, the current trend to employ SoCs in more and more different application scenarios requires solutions allowing applications' developers to program specific performance requirements. In this paper we propose an approach to implement a dynamic end-to-end QoS in Network-on-Chip as well as in circuit-switched or hybrid interconnects. Our solution is based on a low-cost hardware component that measures performance and automatically adapts traffic parameters to satisfy requirements. This self-adapting mechanism enables to easily re-program QoS by exposing a small set of registers to the software. Simulations results show that our dynamic approach achieves an accurate bandwidth control and significantly outperforms basic priority-based QoS solutions.