ORCA : a self-adaptive, multiprocessor system-on-chip platform - Domingues, Anderson Roberto Pinheiro (2020)
The complex organization of multiprocessor systems-on-chips (MPSoCs) requires the smart management of systems’ resources during runtime and the capability of systems to optimize their operation under abnormal situations such as temporary hardware unavailability. One of the approaches for resource management in MPSoCs is self-adaptation, which augment these systems with sensors, actuators, and decision logic components. In this thesis, we propose ORCA, a development platform to aid in designing self-adaptive systems. The platform provides abstractions to deal with self-adaptation complexity, based on previous work in the field, including a configurable hardware architecture, operating system, software libraries, and simulation environment. The hardware architecture consists of open-source hardware modules and implements a many-core approach based on a RISCV compatible processor core. That architecture can be emulated and simulated through ORCA-SIM, a simulation tool, also part of this work. The tool uses discrete-event simulation to speed up the simulation process, based on the URSA application programming interface, also part of this work. Software components are also discussed, including a library for hardware monitoring and energy consumption estimation, and a library for designing publish-subscribe systems. We present a compilation of results achieved in previous work and new experiments to cover the validation of the entire platform. For the latter, we focus the discussion on the design of a task reallocation mechanism based on self-adaptive components.