{'fraction_non_alphanumeric': 0.0211864406779661, 'fraction_numerical': 0.0031779661016949155, 'mean_word_length': 5.385135135135135, '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}}
Comparison of thread signatures for error detection in hybrid multi-cores

Dynamic thread duplication is a known redundancy technique for multi-cores. We have adopted this concept to reconfigurable hardware cores running hardware threads in a hybrid multi-core system. For hardware threads we can compare three different signatures: the sequence of operating system (OS) function calls, the sequence of OS function calls with their parameters, and additionally all memory accesses with their type and data. These signatures allow for an increasing error detection coverage, but also come with increasing performance overheads, which enables an application designer to trade-off the error detection coverage for performance. Our experiments with three benchmark applications show that the best error coverage can be achieved at a performance cost between 2% and 55%, depending on the benchmark, the signature used and the utilization of the CPU.