Capstone Fall 2012 Some challenges in heterogeneous multicore






- Slides: 6
Capstone - Fall 2012 Some challenges in heterogeneous multi-core systems
Multi-core system evolution Big core Traditional homogenous multi-core system Big core Small core Small core Asymmetric/heterogeneous multi-core system
Heterogeneous platform Thread . . . Thread Compute-intensive vs memory/IO-intensive threads Big core Small core Small core Single-ISA high-performance "big” vs low-power "small” types of cores
Challenges 1. Characterization of thread behavior when running on different core types: is it CPU-bound or memory-bound? Or something else altogether? 2. Optimized thread allocation on the different core types 3. Thread allocation/scheduling within each core type ? Thread ? Big core Small core Small core
Characterizing thread behavior • Monitor thread performance, measuring counters – Cache misses – Number of instructions per cycle • Predict thread performance in “the other” core type – Cores differing in clock speed/frequency – Cores differing in micro-architectural characteristics (in-order vs out-of-order) • Does big/small core bias influence speed up of threads? • Contention in shared resources (cache/memory) • Bottleneck identification in multithreaded apps – Threads likely on critical path – Context switches, cache pollution, hyperthreading?
Scheduling threads to cores • Power and performance trade-off – Big core consumes more power but shorten execution time – Energy = Power x Time • Real-time/performance guarantees – Latency-sensitive apps • Fairness – Avoid big core monopolization • Power/energy reduction – Explicitly account for core power consumption • Thread consolidation in few cores as possible – power off unused cores – energy savings vs. performance degradation (resource contention) • Acceleration of critical path in multithreaded apps – HPC apps