Geilen, M. C.W.
Institute of Electrical and Electronics Engineers Inc.
|Source:||Konofaos, N.Novotny, M.Skavhaug, A., 21st Euromicro Conference on Digital System Design, DSD 2018, 29 August 2018 through 31 August 2018, 130-139|
Fair Share Scheduling · Linux multi-core platform · Software-Oriented Architecture · Y-chart model · Application programs · Errors · Forecasting · Legacy systems · Mapping · Systems analysis · Timing circuits · Approximation of functions · Disjoint clusters · Fair share · Model based approach · Multi-core platforms · Service based applications · Software applications · Timing optimization · Linux
We develop a model-based approach to predict timing of service-based software applications on Linux-based multi-core platforms for alternative mappings (affinity and priority settings). Service-based applications consist of communicating sequential (Linux) processes. These processes execute functions (also called services), but can only execute them one at a time. Models are inferred automatically from execution traces to enable timing optimization of existing (legacy) systems. Our approach relies on a linear progress approximation of functions. We compute the expected share of each function based on the mapping (affinity and priority) parameters and the functions that are currently active. We validate our models by carrying out a controlled lab experiment consisting of a multi-process pipelined application mapped in different ways on a quadcore Intel i7 processor. A broad class of affinity and priority settings is fundamentally unpredictable due to Linux binding policies. We show that predictability can be achieved if the platform is partitioned in disjoint clusters of cores such that i) each process is bound to such a cluster, ii) processes with non real-time priorities are bound to singleton clusters, and iii) all processes bound to a non-singleton cluster have different real-time priorities. For mappings using singleton clusters with niceness priorities only, our model predicts execution latencies (for each pipeline iteration) with errors less than 5% relative to the measured execution times. For mappings using a non-singleton cluster (with different real-time priorities) relative errors of less than 2% are obtained. When real-time and niceness priorities are mixed, we predict with errors of 7%. © 2018 IEEE.