Abstract for the whole project
In the proposed CRC/Transregio, we intend to investigate a completely novel paradigm for designing and programming future parallel computing systems called invasive computing. The main idea and novelty of invasive computing is to introduce resource-aware programming support in the sense that a given program gets the ability to explore and dynamically spread its computations to neighbour processors similar to a phase of invasion, then to execute portions of code of high parallelism degree in parallel based on the available (invasible) region on a given multi-processor architecture. Afterwards, once the program terminates or if the degree of parallelism should be lower again, the program may enter a retreat phase, deallocate resources and resume execution again, for example, sequentially on a single processor. In order to support this idea of self-adaptive and resource-aware programming, not only new programming concepts, languages, compilers and operating systems are necessary but also revolutionary architectural changes in the design of MPSoCs (Multi-Processor Systems-on-a-Chip) must be provided so to efficiently support invasion, infection and retreat operations involving concepts for dynamic processor, interconnect and memory reconfiguration.
Abstract for the local subproject A3
A key innovation of invasive computing is added flexibility. Subproject A3 investigates scheduling algorithms that use this flexibility to actually improve performance. In particular, these load balancing algorithms have to decide how much parallelism to use, where to assign parallel jobs, and how to dynamically change these decisions. In these decisions, processor resources, communication costs, and competing requirements of the jobs have to be taken into account and the load balancing algorithms themselves have to scale to large, possibly heterogeneous systems with stringent latency requirements.