Self-* Computing
Since more than a decade researchers are proposing and investigating computing systems with so-called self-* properties. The self in self-* refers to the capability of a system to modify its own behavior or structure without any external control in reaction to or even in anticipation of system dynamics. System dynamics is caused by changes in the system itself or by events external to the system. There are many instantiations of self-* such as self-adaptive, self-optimizing, self-coordinating and self-healing, and the appeal of self-* properties has fuelled research fields such as self-organizing systems, autonomic computing, and organic computing. Self-* capabilities are considered as enablers for future computing systems that will have to deal with unprecedented complexity, heterogeneity, and dynamics.
We are interested in self-* capabilities at the hardware and computer architecture levels. In the EvoCache project we study self-adaptive processors that are able to evolve application-specific cache mapping functions to improve runtime and energy consumption. In the preceding MOVES project, funded by the DFG within the priority program 1183 Organic Computing, we have investigated novel hardware representation models and multi-objective evolutionary optimizers for creating adaptive hardware structures.
Self-aware computing systems are the most recent breed of self-* systems. They collect and learn knowledge about their own state and the environment, and adapt to changes through reasoning and decision making processes. We have contributed to the self-awareness initiative of the European Commission and coordinated the EPiCS project. In this project, we have focused on computational self-awareness as a novel paradigm for designing and operating heterogeneous multi-cores.