Detecting interference between applications and improving the scheduling using malleable application clones

This paper presents a novel feature for improving the scheduling process based on the performance prediction and the detection of CPU and I/O interference between applications. This feature consists of using malleable synthetic benchmarks – called clones – that reproduce the behaviour of application...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:The international journal of high performance computing applications 2024-03, Vol.38 (2), p.108-133
Hauptverfasser: Cascajo, Alberto, Singh, David E., Carretero, Jesús
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:This paper presents a novel feature for improving the scheduling process based on the performance prediction and the detection of CPU and I/O interference between applications. This feature consists of using malleable synthetic benchmarks – called clones – that reproduce the behaviour of applications executed in a cluster. These proxies can be used with two objectives: to build large and representative datasets that can be used to train the machine learning algorithms for modelling the platform workload, and to evaluate in advance if two executing applications can potentially produce contention hazards related to the shared use of the system resources like CPU, cache memory or I/O bandwidth. The proposed framework generates application clones based on generic-purpose performance information collected from monitoring. Unlike other works based on the use of micro-architectures or metrics obtained from simulators, in the approach presented in this work, the application clones generate similar behaviour without extracting data from the binaries, avoiding the necessity of managing code or data from the applications. One advantage of this approach is that they can be shared securely because they have not been generated using any piece of the original code. In addition, the proposed clones are malleable, so they also able to model the application behaviour under a different number of processes. In this work, we show how the use of clones contributes to improving the application scheduling by reducing the number of evaluations that is necessary to perform, and to detect performance degradation (interference) without the necessity of involving the execution of the actual applications. We evaluate the proposed clone generation approach on two sets of benchmarks (CPU and I/O oriented) and several applications. We also compare the performance obtained during the execution of the proxies and the applications to show their similarity. Finally, we include an evaluation of the interference detection using this novel approach.
ISSN:1094-3420
1741-2846
DOI:10.1177/10943420231220898