C1: Invasive Run-Time Support System (iRTSS)

Principal Investigators:

Scientific Researchers:

Abstract

Subproject C1 investigates operating system support for invasive applications.
We provide methods, principles, and abstractions for the application-aware
extension, configuration, and adaptation of the invasive platform by a novel
and flexible operating system infrastructure that will be integrated into
standard Unix-like operating systems. We investigate (1) new design and
implementation approaches for parallelism-aware operating systems, (2) novel
AOP-based methods for their static and dynamic (re-)configuration, and (3)
agent-based strategies for the highly scalable management of their resources.

Central design goal is prevention/avoidance of contention, exploitation of
locality, and provision of latency hiding. This shall be accomplished by a strict
separation between mechanisms (subproject C1) and strategies (in cooperation
with subproject A3), on the one hand, and a consequent postponement of
design decisions, on the other hand, in the overall iRTSS design process. The
methods and concepts studied track configuration and adaptation in three
dimensions, spanning the three major iRTSS research topics:

vertical configuration using an infrastructure for static/dynamic provision of application-specific operating system extensions, and

interior customisation using variants of selected system functions to manifest application-oriented iRTSS architectures.

Agents acting on behalf of applications observe the system and negotiate resource allocation with respect to current system load and characteristic features of their applications.
They interact and bargain across applications at
the same level of abstraction (horizontal adaptation). Also, they establish
resource bindings by triggering on-demand vertical configuration of the underlying computing platform, leading to static/dynamic weaving of extension
aspects.

Extension aspects "materialise" application-specific configurations of
iRTSS and the invasive hardware. Mechanisms are provided to partition, virtualise, and control the invasive hardware as well as measures for contention
prevention/avoidance, locality maintenance, and latency hiding by interior customisation.
For a subset of abstractions, different implementations of the
same functional interface will exist that vary in their non-functional properties
(with respect to contention or latency) and serve a fine-grain exposure to
trade-offs arising from multiplexing hardware amongst competing applications.

Detailed Description: OctoPOS

The system software OctoPOS acts as a broker between the X10 runtime system
with its applications and the underlying hardware.

The OctoPOS provides an interface for mapping the different activities
inside an X10 programm onto the different flavours of invasive hardware.
Depending on the actual hardware configuration, this process can be
partially supported dedicated hardware, for instance by the Dynamic Many-Core i-let Controller
(CiC).
Moreover the OctoPOS implements facilities for intra-tile, cross-tile and
cross-application communication using shared memory, where available, or
the invasive NoC (iNoC).

Interaction with the underlying hardware

Among the supported hardware platforms are SPARC Leon,
iCore and Intel x86. In addition, it is possible to
run OctoPOS as a user process within a Linux system, enabling developers to
test applications with the entire invasive software stack.