C1: Invasive Run-Time Support System (iRTSS)
Principal Investigators:
Prof. Schröder-Preikschat, Dr. Lohmann, Prof. Henkel, Dr. Bauer
Scientific Researchers:
Sebastian Kobbe, Benjamin Oechslein, Jens Schedel, Christoph Erhardt
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.
Synopsis
Subproject C1 investigates basic system-software support for application-aware static/dynamic configuration and on-demand adaptation of the invasive computing platform - bridging the gap from invasive hardware (project area B) to invasive applications (project area D). Scientific objective is a flexible run-time system coping with massively parallel, heterogeneous, and dynamic workloads and requirements of the envisioned invasive applications. Challenge is to map (static/dynamic) application properties to iRTSS configuration variants and to efficient instantiation schemes for i-let entities considering cross-cutting, non-functional properties (e.g., energy, timeliness).
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:
- horizontal adaptation using agent-based self-adapting resource allocation,
- 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.
Interaction with the X10 runtime system
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.
Publications
| [1] | Jörg Henkel, Andreas Herkersdorf, Lars Bauer, Thomas Wild, Michael Hübner, Ravi Kumar Pujari, Artjom Grudnitsky, Jan Heisswolf, Aurang Zaib, Benjamin Vogel, Vahid Lari, and Sebastian Kobbe. Invasive manycore architectures. In Proceedings of the 17th Asia and South Pacific Design Automation Conference (ASP-DAC), pages 193–200, January 2012. [ bib ] |
| [2] | Wanja Hofer, Daniel Lohmann, and Wolfgang Schröder-Preikschat. Sleepy Sloth: Threads as interrupts as threads. In Proceedings of the 32nd IEEE International Symposium on Real-Time Systems (RTSS), pages 67–77. IEEE Computer Society, December 2011. [ bib ] |
| [3] | Sebastian Kobbe, Lars Bauer, Jörg Henkel, Daniel Lohman, and Wolfgang Schröder-Preikschat. DistRM: Distributed resource management for on-chip many-core systems. In Proceedings of the IEEE International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS), pages 119–128, October 2011. [ bib ] |
| [4] | Wolfgang Schröder-Preikschat. System software in the many-core era. Invited talk, June 2011. Future Trends in SOC, Hasso-Plattner-Institut (HPI), Universität Potsdam. [ bib ] |
| [5] | Philippe Stellwag and Wolfgang Schröder-Preikschat. Challenges in real-time synchronization. In Michael McCool and Mendel Rosenblum, editors, Proceedings of the 3rd USENIX Workshop on Hot Topics in Parallelism (HotPar). USENIX Association, May 2011. [ bib ] |
| [6] | Benjamin Oechslein, Jens Schedel, Jürgen Kleinöder, Lars Bauer, Jörg Henkel, Daniel Lohmann, and Wolfgang Schröder-Preikschat. OctoPOS: A parallel operating system for invasive computing. In Ross McIlroy, Joe Sventek, Tim Harris, and Timothy Roscoe, editors, Proceedings of the International Workshop on Systems for Future Multi-Core Architectures (SFMA), volume USB Proceedings of Sixth International ACM/EuroSys European Conference on Computer Systems (EuroSys), pages 9–14. EuroSys, April 2011. [ bib ] |
| [7] | Reinhard Tartler, Daniel Lohmann, Julio Cezar Rodrigues Sincero, and Wolfgang Schröder-Preikschat. Feature consistency in compile-time configurable system software. In Christoph Kirsch and Gernot Heiser, editors, Proceedings of the Sixth International ACM/EuroSys European Conference on Computer Systems (EuroSys), pages 47–60. ACM Press, April 2011. [ bib ] |
| [8] | J. Jahn, M.A. Al Faruque, and Jörg Henkel. CARAT: Context-aware runtime adaptive task migration for multi core architectures. In IEEE/ACM 14th Design Automation and Test in Europe Conference (DATE), pages 515–520, March 2011. [ bib ] |
| [9] | Jürgen Teich, Jörg Henkel, Andreas Herkersdorf, Doris Schmitt-Landsiedel, Wolfgang Schröder-Preikschat, and Gregor Snelting. Invasive computing: An overview. In Michael Hübner and Jürgen Becker, editors, Multiprocessor System-on-Chip – Hardware Design and Tool Integration, pages 241–268. Springer, Berlin, Heidelberg, 2011. [ bib ] |
| [10] | Wolfgang Schröder-Preikschat. Systemsoftware im zeitalter mehrkerniger prozessoren. Vortrag, 2010. GI-Fachgruppe Betriebssysteme, IBM, Böblingen. [ bib ] |
| [11] | Wolfgang Schröder-Preikschat. Systemsoftware im zeitalter mehrkerniger prozessoren. Vortrag, 2010. Innovation Forum Embedded Systems, BICC-NET, München. [ bib ] |
| [12] | Wolfgang Schröder-Preikschat. Laufzeitsysteme mehrkerniger Prozessoren - Aspekte der Synchronisation in Betriebssystemen. Eingeladener Vortrag, 2010. Workshop zu Multicore Architecture and Programming Model Co-Optimization (MAPCO), TU München, Kloster Seeon. [ bib ] |
| [13] | Wolfgang Schröder-Preikschat. Systemsoftware im zeitalter mehrkerniger prozessoren, 2009. Embedded Multi-Core Systems, Robert Bosch GmbH, Schwieberdingen. [ bib ] |
| [14] | Wolfgang Schröder-Preikschat. Systemsoftware im zeitalter mehrkerniger prozessoren. Eingeladener Vortrag, 2009. Vom Single-Core zum Multi-Core-Processing: Chancen und Herausforderungen für Eingebettete Systeme, Fraunhofer FIRST, Berlin. [ bib ] |
| [15] | Wolfgang Schröder-Preikschat. Invasive Computing - Paralleles Betriebssystem einer SFB/TRR-Projektinitiative. Vortrag, 2009. GI-Fachgruppe Betriebssysteme, TU Dortmund, Universitätskolleg Bommerholz. [ bib ] |
| [16] | Jürgen Teich. Invasive algorithms and architectures. it - Information Technology, 50(5):300–310, 2008. [ bib ] |

