Suporte para aplicações dinâmicas em sistemas multiprocessados intra-chip homogêneos - Johann Filho, Sergio (2012)
Modern MPSoC systems use resources previously available only in general purpose computers providing more functionalities for the applications. The architectural evolution enables more resources to be implemented on these embedded systems and determines an increased complexity of new hardware and software designs. In addition to the increased design complexity of current MPSoC systems, it is evident the difficulty in efficient use of computational resources found on such platforms. As well as the determinism and response time prioritized in many embedded systems, the programmability of MPSoCs is very relevant. Thus, well-defined software interfaces help developers to create applications that utilize optimally the computational resources found in these systems. Most embedded applications are divided into tasks and statically mapped to processing elements at design time, in order to optimize a set of pre-stablished metrics. However, the dynamic nature of new applications requires efficient strategies for the dynamic mapping and task migration to be implemented. In this context, this thesis presents a model for dynamic applications and distributed management of these in homogeneous MPSoC systems. The system management uses task migration concepts and timing constraints, where tasks characterization parameters are used in scheduling decision making and optimization at runtime. In this work we used a homogeneous MPSoC architecture, consisting of processing elements with a local memory interconected by a NoC. This environment allows the execution of applications managed by a distributed operating system that implements the proposed model and offers many services for the development and optimization of embedded applications. Many works in this field make use of a centralized manager to perform the system optimization at runtime, however such solutions tend to be not very scalable. Results show that the use of distributed managers present greater efficiency in systems with a large number of processing elements and tasks, with a reduction in the system stabilization time and reduction of deadline misses for applications with realtime constraints.