Self-Adaptive QoS Management of Computation and Communication Resources in Many-Core SoCs

Providing quality of service (QoS) for many-core systems with dynamic application admission is challenging due to the high amount of resources to manage and the unpredictability of computation and communication events. Related works propose a self-adaptive QoS mechanism concerned either in communication or computation resources, lacking, however, a comprehensive QoS management of both. Assuming a many-core system with QoS monitoring, runtime circuit-switching establishment, task migration, and a soft real-time task scheduler, this work fills this gap by proposing a novel self-adaptive QoS management. The contribution of this proposal comes with the following features in the QoS management: (i) comprehensiveness, by covering communication and computation resources; (ii) online, adopting the ODA (Observe, Decide, Act) runtime closed-loop adaptation; and (iii) reactive and proactive decisions, by using a dynamic application profile extraction technique, which enables the QoS management to be aware of the profile of running applications, allowing it to take proactive decisions based on a prediction analysis. The proposed QoS management adopts a decentralized organization by partitioning the system in clusters, each one managed by a dedicated processor, making the proposal scalable. Results show that the proactive feature accurately extracts the applications’ profile, and can prevent future QoS violations. The synergy of reactive and proactive decisions was able to sustain QoS, reducing the deadline miss rate by 99.5% with a severe disturbance in communication and computation levels, and avoiding deadline misses up to 70% of system utilization.

[1]  Nikil D. Dutt,et al.  Conquering MPSoC complexity with principles of a self-aware information processing factory , 2016, 2016 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[2]  Axel Jantsch,et al.  Self-Awareness in Systems on Chip— A Survey , 2017, IEEE Design & Test.

[3]  Marco Platzner,et al.  Self-aware Computing: Introduction and Motivation , 2016, Self-aware Computing Systems.

[4]  Fernando Gehm Moraes,et al.  Dynamic real-time scheduler for large-scale MPSoCs , 2016, 2016 International Great Lakes Symposium on VLSI (GLSVLSI).

[5]  Leandro Soares Indrusiak,et al.  Power-aware dynamic mapping heuristics for NoC-based MPSoCs using a unified model-based approach , 2013, TECS.

[6]  Bin Liu,et al.  KiloCore: A 32-nm 1000-Processor Computational Array , 2017, IEEE Journal of Solid-State Circuits.

[7]  Fernando Gehm Moraes,et al.  Demystifying the cost of task migration in distributed memory many-core systems , 2017, 2017 IEEE International Symposium on Circuits and Systems (ISCAS).

[8]  Wei Quan,et al.  A hierarchical run-time adaptive resource allocation framework for large-scale MPSoC systems , 2016, Des. Autom. Embed. Syst..

[9]  Sangsoo Park Task-I/O Co-scheduling for Pfair Real-Time Scheduler in Embedded Multi-core Systems , 2014, 2014 12th IEEE International Conference on Embedded and Ubiquitous Computing.

[10]  Soonhoi Ha,et al.  Dynamic Behavior Specification and Dynamic Mapping for Real-Time Embedded Systems , 2014, ACM Trans. Embed. Comput. Syst..

[11]  Henry Hoffmann,et al.  A generalized software framework for accurate and efficient management of performance goals , 2013, 2013 Proceedings of the International Conference on Embedded Software (EMSOFT).

[12]  Fernando Gehm Moraes,et al.  Distributed resource management in NoC-based MPSoCs with dynamic cluster sizes , 2013, 2013 IEEE Computer Society Annual Symposium on VLSI (ISVLSI).

[13]  F. Moraes,et al.  Evaluation of current QoS Mechanisms in Networks on Chip , 2006, 2006 International Symposium on System-on-Chip.

[14]  Rami G. Melhem,et al.  Proactive circuit allocation in multiplane NoCs , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[15]  Fernando Gehm Moraes,et al.  Extending FreeRTOS to support dynamic and distributed mapping in multiprocessor systems , 2016, 2016 IEEE International Conference on Electronics, Circuits and Systems (ICECS).

[16]  Christina Delimitrou,et al.  QoS-Aware scheduling in heterogeneous datacenters with paragon , 2013, TOCS.

[17]  Daniele Mangano,et al.  Enabling dynamic and programmable QoS in SoCs , 2010, NoCArc '10.

[18]  Alexandre M. Amory,et al.  Software-Defined Networking Architecture for NoC-based Many-Cores , 2018, 2018 IEEE International Symposium on Circuits and Systems (ISCAS).

[19]  Piotr Dziurzanski,et al.  A Survey and Comparative Study of Hard and So Real-time Dynamic Resource Allocation Strategies for Multi / Many-core Systems , 2017 .

[20]  Gerhard Fettweis,et al.  Guaranteed service virtual channel allocation in NoCs for run-time task scheduling , 2011, 2011 Design, Automation & Test in Europe.

[21]  D. Corliss,et al.  Stacked nanosheet gate-all-around transistor to enable scaling beyond FinFET , 2017, 2017 Symposium on VLSI Technology.

[22]  Sandip Kundu,et al.  On runtime task graph extraction in MPSoC , 2013, 2013 IEEE Computer Society Annual Symposium on VLSI (ISVLSI).

[23]  GlesnerManfred,et al.  Power-aware dynamic mapping heuristics for NoC-based MPSoCs using a unified model-based approach , 2013 .

[24]  Luca Benini,et al.  An integrated, programming model-driven framework for NoC-QoS support in cluster-based embedded many-cores , 2013, Parallel Comput..

[25]  Fernando Gehm Moraes,et al.  Virtual Channels in Networks on Chip: Implementation and Evaluation on Hermes NoC , 2005, 2005 18th Symposium on Integrated Circuits and Systems Design.

[26]  Fernando Gehm Moraes,et al.  Runtime Adaptive Circuit Switching and Flow Priority in NoC-Based MPSoCs , 2015, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[27]  Daniel Mossé,et al.  Octopus-Man: QoS-driven task management for heterogeneous multicores in warehouse-scale computers , 2015, 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA).