Automatic Characterization and Mitigation of Shared-resource Contention in Multi-core Systems

Sammanfattning: Multi-core computers are infamous for being hard to use in time-critical systems due to execution-time variations as an effect of shared resource contention. In this thesis, we study the problem of shared resource contention, which occurs when multiple applications executing on different cores do not have exclusive access to of a shared hardware resource. We investigate performance variations of parallel tasks in multi-core systems and present a method to pinpoint the source of the resource contention using hardware performance counters. We investigate mitigation methods for performance variations due to resource contention, including the Jailhouse hypervisor and the cache-partitioning tool PALLOC. We propose a benchmark strategy that quantifies the isolation gained from a specific isolation technique and exemplify this strategy using the Jailhouse hypervisor. We furthermore present and implement solutions for cache-partition allocation during application runtime. Our implementation aims to avoid over-provisioning of cache through pre-runtime estimations of an application's dependency towards the cache and continuous re-partitioning of the cache memory during application runtime.The primary goal of this thesis is to contribute to a process that automates some of the tedious manual testing needed to detect resource contention bottlenecks. The methods we present in this provide a holistic solution for automatic mitigating resource-contention in a multi-core system. First, we evaluate the risk for shared resource contention when several applications execute simultaneously. We then allocate partitions to mitigate resource contention for applications that risk severe performance degradations. We finally present methods that dynamically re-allocate partition space to meet the performance requirements of the running applications. 

  Denna avhandling är EVENTUELLT nedladdningsbar som PDF. Kolla denna länk för att se om den går att ladda ner.