Advanced computing and automated devices have enhanced human life style by a great deal, providing a wide range of value and services in every facet of the society. A wide spectrum of computing paradigms exist covering massively parallel data centres, complex Cyber-Physical...
Advanced computing and automated devices have enhanced human life style by a great deal, providing a wide range of value and services in every facet of the society. A wide spectrum of computing paradigms exist covering massively parallel data centres, complex Cyber-Physical Systems, handheld mobile embedded systems till ultra-low power embedded devices, also termed Internet-of-things. Compute platforms are responsible for real world data acquisition through sensors, efficient processing of this data, intelligent decision making or actuation based on processing and finally for establishing robust communication and networking among several modules. Design of efficient computing platforms is essential for realizing novel future applications and workloads, ensuring high performance and quality of service at lower power consumption and cost. However, due to diverse workload characteristics, designers are forced to develop highly customized processing units at the loss of generality or highly generic systems with conflicting and orthogonal constraints. With this in view, designing smarter systems that can adapt to varying application requirements through learning strategies and high autonomy becomes necessary.
This project aims at empowering autonomy through Self-awareness in computing systems. Self-awareness helps systems to understand, manage, and report on their own system behavior. In addition to its roots in psychology, the notion of self-awareness has been used in computing in a variety of different domains such as autonomic computing, organic computing, adaptive systems, and self-organizing systems. Self-awareness allows a system to deal better with complexity. The complexity comes from the system itself, from the environment, and from the exceedingly diverse goals and objectives it has to meet.
As a key component of self-awareness, this project leverages goal-driven autonomy (GDA) for goal management. Cognitively, humans pursue number of concurrent goals - spawning, terminating, (re-)prioritizing them dynamically by arranging them in hierarchical structures. GDA is a goal reasoning model which allows agents to dynamically generate their goals in response to environmental changes. For this reason, this project proposes for resource allocation and management in computing systems.
The overall objectives in this project are:
• To identify the key properties and functions for the hierarchical goal management (HGM) capability
• To adapt and integrate design methods, algorithms on self-awareness and online learning to the system
• To adapt and integrate the state-of-the-art management policies to the CPSoC platform to be orchestrated and managed hierarchically
With 20-40 Billion on-line devices to be expected within the next decade, they have to be robust, dependable, and adaptive, with high utility and efficiency in changing environmental conditions. Self-aware, adaptive artificial subjects, as envisioned in this project, will continuously find new, useful applications in domains like medicine, transport, food security, environmental monitoring, surveillance, etc.
Figure 1 shows different components of the SAGE-CPSoC platform and the associated articles with each component published during this reporting period. In this period, we conducted a comprehensive survey presenting an overview centered around the paradigm of self-awareness in computing systems. We then motivated the need for the two main concepts: 1) goal management, and 2) self-awareness.
We first presented the problem with existing fixed-objective resource management techniques for the community by showcasing conflicts resulting from state-of-the-art fixed-objective resource allocation approaches, and highlighted the need to incorporate dynamic goal management from the very early stages of design. We then motivated the demand for the self-awareness and autonomy to meet the significant challenges in future Multiprocessor System on Chips.
We investigated the existing control theoretic approaches. We implemented a single-input single-output (SISO) control-theoretic power manager on top of the CPSoC platform to automatically control the power consumption of the system. Based on our observations, we provided guidelines in this paper for developing stable and robust SISO controllers for power management, show the scenarios where simple classic SISO controllers might not be effective.
Since, modern SoCs often benefit from a variety of control knobs (i.e., actuators) and need to coordinate and satisfy multiple objectives (e.g., power and performance), we presented the design and implementation of advanced control-theoretic approaches such as Multiple-Input-Multiple-Output (MIMO) controllers.
In the next step, we started to tackle the grand challenge of scalability in this project, in particular when the industry is moving from multi-core processors towards many-core SoCs and systems. We presented the first approach based on the supervisory control theory to provide scalability and autonomy together to resource managers for many-core systems. Our approach called SPECTR combines the strengths of classical control theory with state-of-the-art heuristic approaches to efficiently meet changing runtime goals. Therefore, we collaborated with two groups of colleagues working on i) quality-configurable memory management and ii) approximate computing as a knob for runtime resource management, to consider their techniques in our platform. We implemented a pool of resource management policies with different objectives to be used adaptively at runtime by a goal manager. This set will be realized for the community in open source for exploitation and further developments.
During the 3rd year of this project, we focused on augmenting out resource management policy with online learning. We presented SOSA, a cross-layer hardware/software hierarchical resource manager. In addition, we empowered the goal management policy with online learning. For efficient resource allocation, the system has to operate autonomously by formulating a hierarchy of goals. We, therefore, presented goal-driven autonomy (GDA) for on-chip resource allocation decisions, which allows systems to generate and prioritize goals in response to the workload and system dynamic variation by leveraging reinforcement learning.
We also started implementing SAGE-CPSoC ideas on human health monitoring case studies. To this end, we chose the Early Warning Score (EWS) Systems case study offered by our partners in Finland. We implemented the idea of dynamic goal management in this case study.
This project, for the first time, has yielded a methodology to equip computing systems with scalable and autonomous resource managers for dynamic application sets and environments. Until the end of the project, the method has been augmented with the ability to learn at runtime. Based on the insight on self-awareness, goal management, and online learning gained in this project, we anticipate that novel technology will be developed by start-ups, medium-sized companies, and large corporations to improve existing and devise novel products within a few years.
More info: https://www.researchgate.net/project/Self-Aware-CPSoCs-with-Hierarchical-Goal-Management.