Extending fireeRTOS to Support Dynamic and Distributed Mapping in Multiprocessor Systems
conference contributionposted on 17.05.2018, 10:19 by G. Abich, M. G. Mandelli, F. R. Rosa, F. Moraes, L. Ost, R. Reis
Multiprocessor embedded architectures are driven by power wall, performance scalability and reliability challenges. Aiming to effectively scale up system performance while meeting energy-efficiency constraints, multiprocessor architectures are dividing application workloads among multiple threads/tasks . The way such tasks are mapped onto the processing elements (PEs) has a significant impact on system performance, energy-efficiency and reliability . With 1000-processors platforms already available in the embedded community , grows the demand for distributed dynamic mapping techniques capable of allocating multi application tasks efficiently. Mapping techniques have been investigated over the last years, considering different optimization goals (e.g. energy consumption, latency, etc). Most of such mapping techniques are customized implementations, which are developed based on an in-house OS. While providing optimized and efficient means for the mapping techniques, in-house OS based implementations usually are processor-dependent. With the advance of embedded processors, at some point, it will become necessary to port such in-house implementations to a more performant or energy-efficient processor architecture. Underlying porting process is likely to lead to extra design, re-validation and, consequentially a hidden cost that may well be quite high. The goal of this work is to provide a version of FreeRTOS  that supports a set of distributed and dynamic task mapping heuristics, which can be easily employed by almost thirty different processor architectures. Due to the non-intrusive and flexible implementation, promoted extensions provide an efficient means not only to use and extend available heuristics but also to integrate new ones.