{'fraction_non_alphanumeric': 0.0240078392944635, 'fraction_numerical': 0.0014698677119059284, 'mean_word_length': 5.263803680981595, '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}}
Predictable Dynamic Behaviour in NoC-based Multiprocessor Systems-on-Chip

Modern streaming multimedia applications are becoming increasingly complex and dynamic. Still, designers want to give guarantees about the quality and performance of their applications. A combination of model-based design methods and predictable hardware architectures enables designers to develop individual application components (jobs) in a way that it is guaranteed that real-time constraints are satisfied, even when multiple jobs are concurrently running on a single hardware platform. A multiprocessor Sytem-on-Chip is considered, which consists of a heterogeneous set of processing elements that are interconnected through a Network-on-Chip. Existing design methods are often based on the Synchronous Dataflow (SDF) model of computation, which offers the necessary design-time predictability. However, SDF can not adequately model jobs that contain dynamic behaviour, like conditionals and loops with data-dependent bounds. By making dynamic behaviour explicit in the specification model of a job, it is possible to estimate the needed amount of platform resources more accurately and thus arrive at more efficient job implementations. This thesis proposes an extension to SDF, called Predictable Dynamic Dataflow (PDDF). In PDDF it is possible to incorporate dynamic behaviour in a job’s specification by the use of special constructions, while it is still possible to guarantee bounds on timing and memory usage. PDDF introduces two dynamic constructs: the conditional and the data-dependent iteration. Both constructs behave like SDF towards their environment, so they can be plugged into any existing SDF graph. Moreover, they are fully modular, in the sense that they can be nested in any possible way. The semantics of these constructs are explained and it is shown how the use of PDDF can lead to more efficient implementations compared to the SDF-based approach. To illustrate this, an implementation of an H.263 video decoder is used as a test case.