ACM Transactions on Architecture and Code Optimization · 2013 · 31 citations · 20 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureParallel ComputingSchedulingCpu SchedulingMulticore Processor DesignParallel ArchitecturesParallel Computer ArchitectureParallel Computing SystemsPerformance ModelingCache ContentionCounter ArchitectureMulticore ArchitecturesMulticore Processor ArchitectureMulticore SystemsMultithreadingPriority InversionService-level Agreements
While multicore processors improve overall chip throughput and hardware utilization, resource sharing among the cores leads to unpredictable performance for the individual threads running on a multicore processor. Unpredictable per-thread performance becomes a problem when considered in the context of multicore scheduling: system software assumes that all threads make equal progress, however, this is not what the hardware provides. This may lead to problems at the system level such as missed deadlines, reduced quality-of-service, non-satisfied service-level agreements, unbalanced parallel performance, priority inversion, unpredictable interactive performance, etc. This article proposes a hardware-efficient per-thread cycle accounting architecture for multicore processors. The counter architecture tracks per-thread progress in a multicore processor, detects how inter-thread interference affects per-thread performance, and predicts the execution time for each thread if run in isolation. The counter architecture captures the effects of additional conflict misses due to cache sharing as well as increased latency for other memory accesses due to resource and bandwidth contention in the memory subsystem. The proposed method accounts for 74.3% of the interference cycles, and estimates per-thread progress within 14.2% on average across a large set of multi-program workloads. Hardware cost is limited to 7.44KB for an 8-core processor, a reduction by almost 10× compared to prior work while being 63.8% more accurate. Making system software progress aware improves fairness by 22.5% on average over progress-agnostic scheduling.
20
Automatically characterizing large scale program behavior
Timothy Sherwood, Erez Perelman, Greg Hamerly et al. · 2002 · 1.7K citations
The M5 Simulator: Modeling Networked Systems
Nathan Binkert, Ronald Dreslinski, L. Hsu et al. · IEEE Micro · 2006 · 846 citations
Process Variation Tolerant 3T1D-Based Cache Architectures
Xiaoyao Liang, R. Canal, Gu-Yeon Wei et al. · 2007 · 518 citations
Engineering, Computer Engineering, Electrical Engineering +17