{'fraction_non_alphanumeric': 0.02718078381795196, 'fraction_numerical': 0.0037926675094816687, 'mean_word_length': 5.823275862068965, '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}}
Security-Aware Task Scheduling Using Untrusted Components in High-Level Synthesis

The high penetration of third-party intellectual property is accompanied with severe security issues, and thus, security constraints during task scheduling have recently been proposed for protecting multiprocessor system-on-chip systems. However, these security constraints incur significant overheads in terms of the schedule length and design cost. In this paper, the multi-dimensional design optimization space (schedule length, design cost, area, and security) is explored, and two task scheduling approaches in the context of security constraints are proposed. In resource-constrained task scheduling approach, the maximum clique of a vendor violation graph is accurately calculated, enabling a minimized number of security constraint violations under the vendor constraint. In addition, task scheduling is conducted alongside vendor assignment to optimize the schedule length. In performance-constrained task scheduling approach, a max-flow min-cut-based task clustering method is first proposed to iteratively reduce the schedule length of the graph containing all critical paths. Then, vendor assignment is performed by solving a graph coloring problem, and all tasks are finally scheduled with an optimization of hardware resources. The experimental results demonstrate that our resource-constrained task scheduling approach reduces the schedule length by 28.2% with all security constraints satisfied; besides, 18.0% cores are saved by our performance-constrained task scheduling approach.