Enhancing Self-Adaptive Computing Systems via Artificial Intelligence Techniques and Active Learning
Jacopo Panerati · Figshare · 2012
Autonomic computing (AC) has been proposed as a solution to the increasing complexity of computer systems, threatening to make systems impossible to be managed by human operators in the near future (1). This work is an attempt to implement autonomicity to a certain extent (self-con guration, self-optimization, self-awareness) in a desktop computer operating system. The main focus is on the monitors/sensors to be used in order to make the system self-aware, and the policies to use in order to make the system self-optimizing. Two are the main goals of this work: 1) provide an updated, extended and unifying frame- work with respect to works such as (78), (23) and (30), here the monitoring is provided by the application programming interface (API) of heart rate monitor (HRM) (24) (an improved version of application heartbeat (23)) and code conventions are given to easily introduce new decision policies (combining what is good of (78) and (30)), moreover, 2) the new framework is made even more versatile by introducing the possibility to learn new policies on-line drawing ideas from arti cial intelligence and reinforcement learning (translating to operating systems concepts preliminary explored in data centers by (31) and (34)). We provide a detailed description of the implemented architecture and experimental results of running benchmarks from the PARSEC suite (29) on a multi-core system that implements the HRM monitor and uses policies derived from AI and learning to determine resource allocation.