Estimable and Scalable Coordination of Multithreaded Processes
Abschätzbare und skalierbare Koordinierung mehrfädiger Prozesse
Creators: name: Reif, Stefan
Publisher: name: Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU)
Year: 2023

description: Emerging application scenarios like self-driving cars and the Internet of Things need computing systems that provide high computation performance with low power draw under timeliness constraints. Due to their power and performance requirements, these systems have to utilise highly-parallel hardware architectures. However, it is difficult to analyse the resource demand (i.e., energy and latency) of individual operations on conventional parallel systems. This resource-unawareness often prohibits highly-parallel systems from application in resource-critical environments, in particular, where response-time or energy-related constraints have to be satisfied. This thesis introduces the concept of estimability of a computing system, and system-level software in particular, that makes resource-awareness in parallel computing systems feasible. In particular, this concept enables a resource-demand analysis with high accuracy despite little effort. The motivation behind estimability are various frequently-applied design patterns in parallel systems that cause an accumulation of seemingly minor disturbances, such that the aggregation of all interferences is performance-critical. In consequence, an accurate resource-demand analysis of such a system is infeasible because all possible combinations of disturbances have to be considered—in practice, resource-demand analyses are therefore tedious and inaccurate. This thesis introduces several approaches to avoid these problematic patterns, in order to prevent the accumulation of disturbances. Systems have to be designed specifically to be estimable, that is, to allow for a resource-demand analysis that is accurate despite requiring little effort. This idea leads to a system architecture based on partitions, where each partition can be individually analysed with relatively little effort. To collectively satisfy performance requirements, however, these partitions have to cooperate, by means of communication. Unfortunately, communication is traditionally one of the patterns that cause the accumulation of disturbances. This thesis therefore introduces multiple means for coordination that limit the potential accumulation of interferences. In consequence, patterns of accumulating disturbances can be broken up, and an analysis can be much more accurate (as there is only little variation in resource demand) with significantly reduced effort (as interferences between partitions are avoided, despite communication). This thesis introduces approaches that improve the estimability of computing systems, with focus on methods for coordination between cooperating partitions. Several approaches operate by construction. There, the system is specifically designed in a way that improves estimability. In particular, this thesis introduces a variety of novel coordination mechanisms where potential interferences are bounded, and disturbances cannot accumulate arbitrarily. Further approaches are based on adaptation. They apply machine-learning techniques to modify low-level components at run-time, in order to provide an estimable behaviour to semantically higher levels. The practicability of adaptation-based approaches is demonstrated on the basis of a real-time communication system for the Internet of Things. Finally, this thesis discusses the resource demand of suitable machine-learning techniques for system-level adaptation, considering both hardware and software. Since these techniques guide adaptation mechanisms, their resource demand has to be estimable as well, to enable whole-system estimability.