Proposal of many-core control through a management application - Dalzotto, Angelo Elias (2022)
The increasing core count in many-core systems introduced management challenges, including scalability, portability, and reducing the management overhead to user applications. Works available in the literature have their management tightly coupled to the many-core operating system. This coupling implies low flexibility for modification of the management organizations and reduced portability. The state-of-the-art also shows that few works proposed management organizations, being that most works exploit organizations present in the literature, such as cluster-based and per-application, to evaluate the quality of a single goal, such as power or temperature. The present work proposes a management organization called Management Application (MA), which is loosely coupled to its target platform. MA proposes a management as a distributed application, benefiting from the parallel processing power intrinsic to many-cores. Compared to a cluster-based organization, the costs and benefits to manage a benchmark with real-time constraints using the MA revealed improved memory footprint and higher management throughput due to the parallelization provided by the MA. This work also proposes a mapping heuristic that virtually separates the search space in clusters to reduce the execution cost, keeping a centralized view of the system. This heuristic also has a built-in defragmentation procedure. Results are evaluated against a state-of-the-art heuristic in clustered and per-application management, revealing reduced distance between communicating tasks and similar heuristic execution time to the clustered approach. Defragmentation uses task migration as actuation means, decreasing the distance between communicating tasks using few migrations. The MA framework is optimized by integrating a broadcast-based network-on-chip, used for exchanging management messages, and a monitoring structure that exploits this network and the direct memory access mechanism to reduce the monitoring overhead. The network reduces the interference in user applications and the execution time, while the monitoring structure allows smaller management latency. Lastly, the MA organization is applied to a platform equipped with a RISC-V processor, reducing the number of executed instructions and the memory footprint. The final result is a many-core platform that implements the MA organization with a state-of-the-art processor.