Effective Runtime Resource Management Using Linux Control Groups with the BarbequeRTRM Framework

The extremely high technology process reached by silicon manufacturing (smaller than 32nm) has led to production of computational platforms and SoC, featuring a considerable amount of resources. Whereas from one side such multi- and many-core platforms show growing performance capabilities, from the other side they are more and more affected by power, thermal, and reliability issues. Moreover, the increased computational capabilities allows congested usage scenarios with workloads subject to mixed and time-varying requirements. Effective usage of the resources should take into account both the application requirements and resources availability, with an arbiter, namely a resource manager in charge to solve the resource contention among demanding applications. Current operating systems (OS) have only a limited knowledge about application-specific behaviors and their time-varying requirements. Dedicated system interfaces to collect such inputs and forward them to the OS (e.g., its scheduler) are thus an interesting research area that aims at integrating the OS with an ad hoc resource manager. Such a component can exploit efficient low-level OS interfaces and mechanisms to extend its capabilities of controlling tasks and system resources. Because of the specific tasks and timings of a resource manager, this component can be easily and effectively developed as a user-space extension lying in between the OS and the controlled application. This article, which focuses on multicore Linux systems, shows a portable solution to enforce runtime resource management decisions based on the standard control groups framework. A burst and a mixed workload analysis, performed on a multicore-based NUMA platform, have reported some promising results both in terms of performance and power saving.

[1]  H. Domjan,et al.  Managing resource reservations and admission control for adaptive applications , 2001, International Conference on Parallel Processing, 2001..

[2]  Francky Catthoor,et al.  Pareto-optimization-based run-time task scheduling for embedded systems , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[3]  H. Corporaal,et al.  Design-Time Application Exploration for MP-SoC Customized Run-Time Management , 2005, 2005 International Symposium on System-on-Chip.

[4]  Tong Li,et al.  Efficient operating system scheduling for performance-asymmetric multi-core architectures , 2007, Proceedings of the 2007 ACM/IEEE Conference on Supercomputing (SC '07).

[5]  Kai Li,et al.  The PARSEC benchmark suite: Characterization and architectural implications , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[6]  Michael R. Head,et al.  Virtual Hypervisor: Enabling fair and economical resource partitioning in cloud environments , 2010, 2010 IEEE Network Operations and Management Symposium - NOMS 2010.

[7]  Chantal Ykman-Couvreur,et al.  An industrial design space exploration framework for supporting run-time resource management on multi-core systems , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[8]  Hanan Lutfiyya,et al.  Replication and Migration as Resource Management Mechanisms for Virtualized Environments , 2010, 2010 Sixth International Conference on Autonomic and Autonomous Systems.

[9]  Steven A. Hofmeyr,et al.  Load balancing on speed , 2010, PPoPP '10.

[10]  Henry Hoffmann,et al.  SEEC: A Framework for Self-aware Computing , 2010 .

[11]  Xiaorui Wang,et al.  Utilization-Controlled Task Consolidation for Power Optimization in Multi-core Real-Time Systems , 2011, 2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications.

[12]  Adit Ranadive,et al.  ResourceExchange: Latency-Aware Scheduling in Virtualized Environments with High Performance Fabrics , 2011, 2011 IEEE International Conference on Cluster Computing.

[13]  Hridesh Rajan,et al.  Phase-based tuning for better utilization of performance-asymmetric multicore processors , 2011, International Symposium on Code Generation and Optimization (CGO 2011).

[14]  Maxime Louvel,et al.  Ensuring QoS of Multimedia Applications in Heterogeneous Home Networks: The CPU Use Case , 2011, 2011 IFIP 9th International Conference on Embedded and Ubiquitous Computing.

[15]  Simon Fraser User-level scheduling on NUMA multicore systems under Linux , 2011 .

[16]  Karl-Erik Årzén,et al.  Resource Management on Multicore Systems: The ACTORS Approach , 2011, IEEE Micro.

[17]  Giuseppe Massari,et al.  A RTRM proposal for multi/many-core platforms and reconfigurable applications , 2012, 7th International Workshop on Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC).