I. Introduction
With current trends in hardware design, on-chip many-core systems [1] have emerged as a new paradigm. These multicore architectures execute highly parallel and resource demanding applications. This leads to the problem of runtime resource allocation, i.e., which application should use which and how many cores to get the most efficient utilization of available resources [2] [3]. These resources can no longer be managed by one central entity (i.e., in a centralized resource management paradigm) due to increased design optimization space of large-scale many-core systems. Therefore, many distributed Resource Management (RM) schemes have been proposed, e.g., [2] [4] [5] [6], over the past few years, to ensure an efficient utilization of the available resources and for maximizing the overall throughput of on-chip many-core systems in a scalable fashion.