  Self-adaptive approaches for runtime resource management of manycore
computing platforms often require a runtime model of the system that represents
the software organization or the architecture of the target platform. The
increasing heterogeneity in a platform's resource types and the interactions
between resources pose challenges for coordinated model-based decision making
in the face of dynamic workloads. Self-awareness properties address these
challenges for emerging heterogeneous manycore processing (HMP) platforms
through reflective resource managers. However, with HMP computing platform
architectures evolving rapidly, porting the self-aware decision logic across
different hardware platforms is challenging, requiring resource managers to
update their models and platform-specific interfaces. We propose MARS
(Middleware for Adaptive and Reflective Systems), a cross-layer and
multi-platform framework that allows users to easily create resource managers
by composing system models and resource management policies in a flexible and
coordinated manner. MARS consists of a generic user-level sensing/actuation
interface that allows for portable policy design, and a reflective system model
used to coordinate multiple policies. We demonstrate MARS' interaction across
multiple layers of the system stack through a dynamic voltage and frequency
scaling (DVFS) policy example which can run on any Linux-based HMP computing
platform.
