Subproject C1 investigates operating-system support for invasive applications. It provides methods, principles and abstractions for the application-aware extension, configuration and adaptation of invasive computing systems. These are technically integrated into the invasive Run-time Support System (iRTSS), a highly scalable native operating system in close contact and constant touch with a standard Unix-like host operating system. The project addresses special-purpose MPSoC-based as well as general-purpose multi/manycore machines.
In the first funding phase, the core areas of research were (1) new design approaches for low-latency operating systems, (2) new methods based on aspect-oriented programming (AOP) for their static and dynamic (re-)configuration and (3) agent-based strategies for the highly scalable management of their resources. Outcome was (1) OctoPOS, a hardware-centric and lock-free parallel operating system of event-based kernel architecture, (2) an aspect-oriented generator for hardware-tailored cross-tile RPCs and (3) a protocol machine for application-centric bargaining of resource allocations.
In the second funding phase, the core areas of research were (1) on-demand partial virtualisation of selected computing resources, namely address-space claims, and devirtualisation of those claims when the need for virtuality ceased to exist, (2) dynamic reconfiguration of iRTSS, and (3) agent-based strategic control according to self-adaptivity and decentralised resource management. Outcome was (1) an "elastic OctoPOS" that provides for the "invasion of its own dominion" in a controlled manner, (2) a system-software "variant generator" that produces non-functionally different incarnations of selected OctoPOS functions, (3) referring to this, a run-time executive to dynamically switch between the variants, and (4) an enhanced Agent System providing responsive and robust resource management that scales with the respective problem size.
In the third funding phase, the general focus will be on the enforcement of required quality criteria of mixed criticality as to timing and energy consumption by means of application-oriented resource allocation strategies as well as mechanisms at iRTSS level. This includes a worst-case execution time (WCET) analysis for the Agent System to identify the performance corridors of resource allocation for given use cases. Emphasis is also on the control of background noise (i.e., indirect overhead) of OctoPOS functions that provide transparent access (virtual shared memory, VSM) to the different main-memory subsystems of the PGAS (partitioned global address space) model as defined for invasive computing. Measured overheads as to timing and energy consumption are externalised as system parameters (i.e., non-functional properties) in order to be able to give a precise prognosis on the effectiveness of a particular i-let schedule. The investigations target small-, medium-, and large-scale multicore systems of different processor and memory architecture to obtain a broad parameter set for real machines suitable for the execution of invasive programs. In this regard, already existing and still proposed fundamental concepts, abstractions, and techniques of invasive computing will be brought to the domain of state-of-the-art manycore systems in order to prove general applicability and field performance of the solutions created. Our intention is to reap the achievements of invasive computing to the advantage of general-purpose systems.
Research focus of Subproject C1 in the third funding phase is the enforcement of quality criteria of mixed criticality as to timing and energy consumption by means of application-oriented resource allocation strategies as well as mechanisms at iRTSS level. Beyond that, already existing and still proposed fundamental concepts, abstractions, and techniques of invasive computing will be brought to the domain of state-of-the-art manycore systems in order to prove general applicability and field performance of the solutions created. The major work packages include (1) enforcement of Agent System (AS) properties (currently no guarantees may be given on execution time bounds for claim determination and quality of returned claims), (2) hardening the AS against malicious re-invaders, (3) energy-efficient process coordination and virtual shared memory, and (4) control of background noise as to OctoPOS functions that provide transparent access to the different main-memory subsystems of the PGAS model as defined for invasive computing. Measured overheads as to timing and energy consumption are externalised as system parameters (i.e., non-functional properties) in order to be able to give a precise prognosis on the effectiveness of a particular i-let schedule. The investigations target small-, medium-, and large-scale multicore systems of different processor and memory architecture to obtain a broad parameter set for real machines suitable for the execution of invasive programs.
The research question of the current application emanates from the achievements of the second funding phase and the existing knowledge on (a) predictable and robust resource-allocation measures, (b) energy-efficient computer operations, and (c) low-latency operating-system features for enforcement purposes as to the functional and non-functional properties stated by an invasive application. Our basic assumption is that "property enforcement" calls for a "cooperative operating system" in order to facilitate bidirectional smooth user-/system-level transitions in the course of processing work assignments. Based on this, the special implication that a highly interactive operating-system structure has on the (predicted) performance in terms of lead time and energy consumption of invasive-parallel processes is scrutinised. We also question the general implications that this approach has for the operation of commodity manycore multiprocessor systems.
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).
Among the supported hardware platforms are SPARC Leon, i-Core 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.
A comprehensive summary of the major achievements of the first and second funding phase can be found by accessing Project C1 first phase and Project C1 second phase websites.
 Wolfgang Schröder-Preikschat. Adaptive memory protection for many-core systems. Invited talk, ASECOLab Seminar, University of Hawaii at Manoa, January 4, 2019.
 Benedic Herzog, Luis Gerhorst, Bernhard Heinloth, Stefan Reif, Timo Hönig, and Wolfgang Schröder-Preikschat. INTSPECT: Interrupt latencies in the linux kernel. In Proceedings of the 2018 Brazilian Symposium on Computing Systems Engineering (SBESC '18), pages 1–8, November 2018.
 Timo Hönig. Exploiting dynamic electricity prices with an energy-aware runtime system for heterogeneous hpc clusters. Invited talk, Department of Computer Science, Reykjavík University (RU), Reykjavík, Iceland, October 2, 2018.
 Wolfgang Schröder-Preikschat. Predictability issues in operating systems. Invited talk, Federal University of Technology - Parana (UTFPR), Department of Computer Science, Curitiba, Brazil, August 7, 2018.
 Wolfgang Schröder-Preikschat. Predictability issues in operating systems. Invited talk, Computer Science Colloquium, Leibniz Universität Hannover, June 29, 2018.
 Christopher Eibel, Christian Gulden, Wolfgang Schröder-Preikschat, and Tobias Distler. Strome: Energy-aware data-stream processing. In Proceedings of the 18th International Conference on Distributed Applications and Interoperable Systems (DAIS '18), Lecture Notes in Computer Science (LNCS), pages 40–57. Springer, June 2018.
 Timo Hönig. Linking energy awareness with cost effectiveness: Considering fluctuating electricity prices for operating heterogeneous hpc systems. Invited talk, Department of Computer Science, University of Texas at Austin (UT), Austin, TX, USA, June 1, 2018.
 Wolfgang Schröder-Preikschat. Adaptive memory protection for many-core systems. Invited talk, Future Trends in SOC, Hasso-Plattner-Institut (HPI), Universität Potsdam, April 20, 2018.
 Wolfgang Schröder-Preikschat. Predictability issues in operating systems. Invited talk, NII Shonan Meeting on Resilient Machine-to-Machine Communication, Shonan Village, Japan, March 27, 2018.
 Wolfgang Schröder-Preikschat. Predictability issues in operating systems. Invited talk, Federal University of Santa Catarina (UFSC), Software/Hardware Integration Lab (LISHA), Florianopolis, Brazil, February 28, 2018.
 Anuj Pathania. Scalable Task Schedulers for Many-Core Architectures. Dissertation, Chair of Embedded Systems, Department of Informatics, Karlsruhe Institute of Technology, Germany, 2018.
 Alexander Pöppl, Marvin Damschen, Florian Schmaus, Andreas Fried, Manuel Mohr, Matthias Blankertz, Lars Bauer, Jörg Henkel, Wolfgang Schröder-Preikschat, and Michael Bader. Shallow water waves on a deep technology stack: Accelerating a finite volume tsunami model using reconfigurable hardware in invasive computing. In Dora B. Heras, Luc Bougé, Gabriele Mencagli, Emmanuel Jeannot, Rizos Sakellariou, Rosa M. Badia, Jorge G. Barbosa, Laura Ricci, Stephen L. Scott, Stefan Lankes, and Josef Weidendorfer, editors, Euro-Par 2017: Proceedings of the 10th Workshop on UnConventional High Performance Computing (UCHPC 2017), Lecture Notes in Computer Science (LNCS), pages 676–687, Cham, 2018. Springer International Publishing.
 Simon Schuster, Peter Ulbrich, Isabella Stilkerich, Christian Dietrich, and Wolfgang Schröder-Preikschat. Demystifying soft-error mitigation by control-flow checking—a new perspective on its effectiveness. In Proceedings of the 2017 International Conference on Embedded Software (EMSOFT 2017). ACM, October 2017. Poster session.
 Jörg Henkel. The triangle of power density, circuit degradation and reliability. Invited Keynote Speech, 30th IEEE International System-On-Chip Conference (SoCC 2017), Munich, Germany, September 7, 2017.
 Christian Eichler, Peter Wägemann, Tobias Distler, and Wolfgang Schröder-Preikschat. Tooling support for benchmarking timing analysis. In Proceedings of the 23rd IEEE International Symposium on Real-Time and Embedded Technology and Applications (RTAS Demo '17), pages 159–160. IEEE Computer Society Press, 2017. Demo Abstract.
 Anuj Pathania, Vanchinathan Venkataramani, Muhammad Shafique, Tulika Mitra, and Jörg Henkel. Distributed scheduling for many-cores using cooperative game theory. In Proceedings of the 53rd Annual Design Automation Conference (DAC), pages 133:1–133:6. ACM, June 2016.
 Shafaq Iqtedar, Osman Hasan, Muhammad Shafique, and Jörg Henkel. Formal probabilistic analysis of distributed resource management schemes in on-chip systems. In IEEE/ACM 19th Design, Automation and Test in Europe Conference (DATE'16), pages 930–935, March 2016.
 Anuj Pathania, Vanchinathan Venkataramani, Muhammad Shafique, Tulika Mitra, and Jörg Henkel. Distributed fair scheduling for many-cores. In Design Automation and Test in Europe (DATE), pages 379–384, March 2016.
 Timo Hönig, Benedict Herzog, and Wolfgang Schröder-Preikschat. The narrow way: Constructive measures at operating-system level for low energy use. In Proceedings of the 30th Environmental Informatics Conference (EnviroInfo 2016), pages 329–335, 2016.
 Daniel Lohmann. Configurable system software. Invited Talk, University of Ulm, November 28, 2015.
 Wolfgang Schröder-Preikschat. Predicatbility issues in operating systems. Invited Talk, Technical University Dortmund, October 2, 2015.
 Daniel Lohmann. Predictability by hardware-centric operating-system design. Lecture, Sarntal Akademie, Italy, September 22, 2015.
 Wolfgang Schröder-Preikschat. Predicatbility in operating systems. Lecture, Sarntal Akademie, Italy, September 22, 2015.
 Daniel Lohmann. Adaptable system software. Invited Talk, Leibnitz-University Hanover, September 9, 2015.
 Peter Wägemann, Tobias Distler, Timo Hönig, Volkmar Sieh, and Wolfgang Schröder-Preikschat. GenE: A benchmark generator for WCET analysis. In Proceedings of the 15th International Workshop on Worst-Case Execution Time Analysis (WCET 2015), pages 33–43, Lund, Sweden, July 2015.
 Timo Hönig. Plan ahead: Making energy-aware computing systems. Invited talk, ICSI, Berkeley, CA, USA, June 2015.
 Timo Hönig. When less is more: Invasive energy optimizations of system software. Invited talk, University of California, Berkeley, CA, USA, June 2015.
 Timo Hönig, Heiko Janker, and Wolfgang Schröder-Preikschat. The FigarOS operating system kernel for fine-grained system-level energy analysis. In DAC 2015 Workshop on System-to-Silicon Performance Modeling and Analysis: Power, Temperature and Reliability, San Francisco, CA, USA, June 7, 2015.
 Sebastian Kobbe. Scalable and Distributed Resource Management for Many-Core Systems. Dissertation, Chair for Embedded Systems (CES), Department of Computer Science, Karlsruhe Institute of Technology (KIT), Germany, May 11, 2015.
 Wolfgang Schröder-Preikschat. Invasive computing: A systems-programming perspective. Invited talk, Auckland University, Auckland, New Zealand, April 10, 2015.
 Gabor Drescher and Wolfgang Schröder-Preikschat. Guarded sections: Structuring aid for wait-free synchronisation. Poster at the 18th IEEE Symposium on Real-Time Computing (ISORC 2015)., April 2015.
 Sebastian Kobbe, Lars Bauer, and Jörg Henkel. Adaptive on-the-fly application performance modeling for many cores. In Proceedings of Design, Automation and Test in Europe Conference (DATE), pages 730–735, March 2015.
 Daniel Lohmann. Two-dimensional tailoring of rtos kernels: Rethinking the hardware–application bridge. Invited Talk, INRIA/LIP6 Paris, January 15, 2015.
 Gabor Drescher and Wolfgang Schröder-Preikschat. An experiment in wait-free synchronisation of priority-controlled simultaneous processes: Guarded sections. Technical Reports CS-2015-01, Friedrich-Alexander-Universität Erlangen-Nürnberg, Department of Computer Science, Erlangen, Germany, January 2015.
 Gabor Drescher and Wolfgang Schröder-Preikschat. Wartefreie Synchronisation von Echtzeitprozessen mittels abgeschirmter Abschnitte. In Echtzeit 2015 — Betriebssysteme und Echtzeit, pages 59–68, Heidelberg, 2015. Springer.
 Gabor Drescher and Wolfgang Schröder-Preikschat. Guarded sections: Structuring aid for wait-free synchronisation. In Proceedings of the 18th IEEE Symposium on Real-Time Computing (ISORC 2015), pages 280–283, Washington, DC, USA, 2015. IEEE Computer Society Press.
 Wolfgang Schröder-Preikschat. Invasive computing: A systems-programming perspective. Invited talk, TU Dresden, Institute of Systems Architecture, November 7, 2014.
 Peter Wägemann, Timo Hönig, Rüdiger Kapitza, and Wolfgang Schröder-Preikschat. Worst-case energy consumption analysis for soft and hard energy systems. 11th USENIX Symposium on Operating System Design and Implementation (OSDI '14), October 2014. Poster.
 Stefan Nürnberger, Gabor Drescher, Randolf Rotta, Jörg Nolte, and Wolfgang Schröder-Preikschat. Shared memory in the many-core age. In Proceedings of the International Workshop on Runtime and Operating Systems for the Many-core Era (ROME 2014), Lecture Notes in Computer Science (LNCS). Springer, August 26, 2014.
 Daniel Lohmann. Automatic tailoring of system software: Rethinking the application-hardware bridge. Invited talk, June 23, 2014. D. E. Shaw Research, New York City, USA.
 Benjamin Oechslein, Christoph Erhardt, Jens Schedel, Daniel Lohmann, and Wolfgang Schröder-Preikschat. OctoPOS: A hardware-assisted OS for many-cores. Poster presentation at the 9th European Conference on Computer Systems (EuroSys 2014), April 15, 2014.
 Wolfgang Schröder-Preikschat. Embedded computing systems in the multi-core era. Invited talk, University of Canterbury, Christchurch, New Zealand, March 7, 2014.
 Wolfgang Schröder-Preikschat. Embedded computing systems in the multi-core era. Invited talk, Victoria University of Wellington, New Zealand, February 28, 2014.
 Wolfgang Schröder-Preikschat. Embedded computing systems in the multi-core era. Invited talk, Multicore World 2014, Auckland, New Zealand, February 25, 2014.
 Janmartin Jahn. Resource Allocation for Software Pipelines in Many-core Systems. Dissertation, Chair for Embedded Systems (CES), Department of Computer Science, Karlsruhe Institute of Technology (KIT), Germany, February 13, 2014.
 Jan Heisswolf, Aurang Zaib, Andreas Zwinkau, Sebastian Kobbe, Andreas Weichslgartner, Jürgen Teich, Jörg Henkel, Gregor Snelting, Andreas Herkersdorf, and Jürgen Becker. Cap: Communication aware programming. In 51th ACM/EDAC/IEEE Design Automation Conference (DAC), pages 105:1–105:6, 2014.
 Wolfgang Schröder-Preikschat. Embedded computing systems in the multi-core era. Invited keynote, 3rd Brazilian Symposium on Computing Systems Engineering (SBESC 2013), Niterói, Brazil, November 5, 2013.
 Johny Paul, Walter Stechele, Manfred Kröhnert, Tamim Asfour, Benjamin Oechslein, Christoph Erhardt, Jens Schedel, Daniel Lohmann, and Wolfgang Schröder-Preikschat. A resource-aware nearest neighbor search algorithm for K-dimensional trees. In Proceedings of the Conference on Design and Architectures for Signal and Image Processing (DASIP), pages 80–87. IEEE Computer Society Press, October 2013.
 Wolfgang Schröder-Preikschat. Virtuelle maschinen. Eingeladener Vortrag, INFORMATIK 2013, Workshop "`Virtualisierung: gestern, heute und morgen"', Koblenz, September 19, 2013.
 Gabor Drescher, Timo Hönig, Sebastian Maier, Benjamin Oechslein, and Wolfgang Schröder-Preikschat. A scalability-aware kernel executive for many-core operating systems. In Proceedings of the International Workshop on Runtime and Operating Systems for the Many-core Era (ROME 2013), Lecture Notes in Computer Science (LNCS), pages 1–10. Springer-Verlag, August 26, 2013.
 Reinhard Tartler. Mastering Variability Challenges in Linux and related Highly-Configurable System Software. Dissertation, Friedrich-Alexander-Universität Erlangen-Nürnberg, 2013.
 Jürgen Teich, Wolfgang Schröder-Preikschat, and Andreas Herkersdorf. Invasive computing - common terms and granularity of invasion. CoRR, abs/1304.6067, 2013.
 Wolfgang Schröder-Preikschat. Invasive computing: A systems-programming perspective. Invited talk, Université Pierre et Marie Curie (UPMC), Laboratoire d'Informatique de Paris (LIP6), Paris, September 28, 2012.
 Jürgen Teich, Andreas Weichslgartner, Benjamin Oechslein, and Wolfgang Schröder-Preikschat. Invasive computing – concepts and overheads. In Proceedings of the Forum on Specification and Design Languages (FDL), pages 193–200, September 2012.
 Timo Hönig, Rüdiger Kapitza, and Wolfgang Schröder-Preikschat. ProSEEP: A proactive approach to energy-aware programming, June 2012. Poster.
 Julio Sincero. Variability Bugs in System Software. Dissertation, Friedrich-Alexander-Universität Erlangen-Nürnberg, 2012.
 Wolfgang Schröder-Preikschat. System software in the many-core era. Invited talk, Future Trends in SOC, Hasso-Plattner-Institut (HPI), Universität Potsdam, June 16, 2011.
 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.
 J. Jahn, M.A. Al Faruque, and Jörg Henkel. CARAT: Context-aware runtime adaptive task migration for multi core architectures. In Proceedings of Design, Automation and Test in Europe Conference (DATE), pages 515–520, March 2011.
 Wolfgang Schröder-Preikschat. Systemsoftware im zeitalter mehrkerniger prozessoren. Vortrag, October 15, 2010. GI-Fachgruppe Betriebssysteme, IBM, Böblingen.
 Wolfgang Schröder-Preikschat. Systemsoftware im zeitalter mehrkerniger prozessoren. Vortrag, April 23, 2010. Innovation Forum Embedded Systems, BICC-NET, München.
 Wolfgang Schröder-Preikschat. Laufzeitsysteme mehrkerniger Prozessoren - Aspekte der Synchronisation in Betriebssystemen. Eingeladener Vortrag, April 13, 2010. Workshop zu Multicore Architecture and Programming Model Co-Optimization (MAPCO), TU München, Kloster Seeon.
 Wolfgang Schröder-Preikschat. Systemsoftware im zeitalter mehrkerniger prozessoren, December 11, 2009. Embedded Multi-Core Systems, Robert Bosch GmbH, Schwieberdingen.
 Wolfgang Schröder-Preikschat. Invasive Computing - Paralleles Betriebssystem einer SFB/TRR-Projektinitiative. Vortrag, November 12, 2009. GI-Fachgruppe Betriebssysteme, TU Dortmund, Universitätskolleg Bommerholz.
 Wolfgang Schröder-Preikschat. Systemsoftware im zeitalter mehrkerniger prozessoren. Eingeladener Vortrag, November 3, 2009. Vom Single-Core zum Multi-Core-Processing: Chancen und Herausforderungen für Eingebettete Systeme, Fraunhofer FIRST, Berlin.
 Jürgen Teich. Invasive algorithms and architectures. it - Information Technology, 50(5):300–310, 2008.
 Tiago Rogério Mück, Antônio Augusto Medeiros Fröhlich, Michael Gernoth, and Wolfgang Schröder-Preikschat. Implementing OS components in hardware using AOP. ACM SIGOPS Operating Systems Review, 46(1):64–72. Best Papers from 2011 Brazilian Symposium on Computing Systems Engineering (SBESC).
 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.