Some challenges in heterogeneous multi-core systems

Slides:



Advertisements
Similar presentations
Automatic Data Movement and Computation Mapping for Multi-level Parallel Architectures with Explicitly Managed Memories Muthu Baskaran 1 Uday Bondhugula.
Advertisements

Dynamic Thread Mapping for High- Performance, Power-Efficient Heterogeneous Many-core Systems Guangshuo Liu Jinpyo Park Diana Marculescu Presented By Ravi.
The Interaction of Simultaneous Multithreading processors and the Memory Hierarchy: some early observations James Bulpin Computer Laboratory University.
Multiprocessors— Large vs. Small Scale Multiprocessors— Large vs. Small Scale.
Performance of Multithreaded Chip Multiprocessors and Implications for Operating System Design Hikmet Aras
Lecture 6: Multicore Systems
PERFORMANCE ANALYSIS OF MULTIPLE THREADS/CORES USING THE ULTRASPARC T1 (NIAGARA) Unique Chips and Systems (UCAS-4) Dimitris Kaseridis & Lizy K. John The.
Challenges and Opportunities for System Software in the Multi-Core Era or The Sky is Falling, The Sky is Falling!
Helper Threads via Virtual Multithreading on an experimental Itanium 2 processor platform. Perry H Wang et. Al.
CS 7810 Lecture 20 Initial Observations of the Simultaneous Multithreading Pentium 4 Processor N. Tuck and D.M. Tullsen Proceedings of PACT-12 September.
Embedded Computing From Theory to Practice November 2008 USTC Suzhou.
ECE 510 Brendan Crowley Paper Review October 31, 2006.
Multi-core processors. History In the early 1970’s the first Microprocessor was developed by Intel. It was a 4 bit machine that was named the 4004 The.
By- Jaideep Moses, Ravi Iyer , Ramesh Illikkal and
Exploring the Tradeoffs of Configurability and Heterogeneity in Multicore Embedded Systems + Also Affiliated with NSF Center for High- Performance Reconfigurable.
SYNAR Systems Networking and Architecture Group Scheduling on Heterogeneous Multicore Processors Using Architectural Signatures Daniel Shelepov and Alexandra.
Cloud Computing Energy efficient cloud computing Keke Chen.
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
Multi-core architectures. Single-core computer Single-core CPU chip.
Multi-core Programming Introduction Topics. Topics General Ideas Moore’s Law Amdahl's Law Processes and Threads Concurrency vs. Parallelism.
JPCM - JDC121 JPCM. Agenda JPCM - JDC122 3 Software performance is Better Performance tuning requires accurate Measurements. JPCM - JDC124 Software.
Architectural Characterization of an IBM RS6000 S80 Server Running TPC-W Workloads Lei Yang & Shiliang Hu Computer Sciences Department, University of.
VTU – IISc Workshop Compiler, Architecture and HPC Research in Heterogeneous Multi-Core Era R. Govindarajan CSA & SERC, IISc
Performance of mathematical software Agner Fog Technical University of Denmark
1 Process Scheduling in Multiprocessor and Multithreaded Systems Matt Davis CS5354/7/2003.
CMT OS scheduling summary Yipkei Kwok 03/18/2008.
Computer Architecture By Chris Van Horn. CPU Basics “Brains of the Computer” Fetch Execute Cycle Instruction Branching.
Embedded System Lab. 정범종 A_DRM: Architecture-aware Distributed Resource Management of Virtualized Clusters H. Wang et al. VEE, 2015.
Data Management for Decision Support Session-4 Prof. Bharat Bhasker.
MIAO ZHOU, YU DU, BRUCE CHILDERS, RAMI MELHEM, DANIEL MOSSÉ UNIVERSITY OF PITTSBURGH Writeback-Aware Bandwidth Partitioning for Multi-core Systems with.
Exploiting Scratchpad-aware Scheduling on VLIW Architectures for High-Performance Real-Time Systems Yu Liu and Wei Zhang Department of Electrical and Computer.
MULTICORE PROCESSOR TECHNOLOGY.  Introduction  history  Why multi-core ?  What do you mean by multicore?  Multi core architecture  Comparison of.
Sandeep Navada © 2013 A Unified View of Non-monotonic Core Selection and Application Steering in Heterogeneous Chip Multiprocessors Sandeep Navada, Niket.
Hybrid Multi-Core Architecture for Boosting Single-Threaded Performance Presented by: Peyman Nov 2007.
Martin Kruliš by Martin Kruliš (v1.1)1.
Shouqing Hao Institute of Computing Technology, Chinese Academy of Sciences Processes Scheduling on Heterogeneous Multi-core Architecture.
E6200, Fall 07, Oct 24Ambale: CMP1 Bharath Ambale Venkatesh 10/24/2007.
Sunpyo Hong, Hyesoon Kim
ECE692 Course Project Proposal Cache-aware power management for multi-core real-time systems Xing Fu Khairul Kabir 16 September 2009.
The CRISP Performance Model for Dynamic Voltage and Frequency Scaling in a GPGPU Rajib Nath, Dean Tullsen 1 Micro 2015.
Providing High and Predictable Performance in Multicore Systems Through Shared Resource Management Lavanya Subramanian 1.
Spark on Entropy : A Reliable & Efficient Scheduler for Low-latency Parallel Jobs in Heterogeneous Cloud Huankai Chen PhD Student at University of Kent.
Multi-Core CPUs Matt Kuehn. Roadmap ► Intel vs AMD ► Early multi-core processors ► Threads vs Physical Cores ► Multithreading and Multi-core processing.
Fall 2012 Parallel Computer Architecture Lecture 4: Multi-Core Processors Prof. Onur Mutlu Carnegie Mellon University 9/14/2012.
COMP 740: Computer Architecture and Implementation
Copyright ©: Nahrstedt, Angrave, Abdelzaher
Adaptive Cache Partitioning on a Composite Core
Ph.D. in Computer Science
Breakout Session 3 Alex, Mirco, Vojtech, Juraj, Christoph
Copyright ©: Nahrstedt, Angrave, Abdelzaher
Andy Wang COP 5611 Advanced Operating Systems
Resource Aware Scheduler – Initial Results
Multi-core processors
Multi-core processors
Hyperthreading Technology
Xia Zhao*, Zhiying Wang+, Lieven Eeckhout*
Hardware/Software Co-Design
Improved schedulability on the ρVEX polymorphic VLIW processor
Levels of Parallelism within a Single Processor
Lecture 21: Introduction to Process Scheduling
Intro to Architecture & Organization
Fine-grained vs Coarse-grained multithreading
Andy Wang COP 5611 Advanced Operating Systems
Progress Report 2014/04/23.
Lecture 21: Introduction to Process Scheduling
Levels of Parallelism within a Single Processor
Learning Objectives To be able to describe the purpose of the CPU
Progress Report 2012/12/20.
Research: Past, Present and Future
CSC Multiprocessor Programming, Spring, 2011
Presentation transcript:

Some challenges in heterogeneous multi-core systems Capstone - Fall 2012 Some challenges in heterogeneous multi-core systems

Multi-core system evolution Big core Big core Big core Big core Big core Big core Small core Small core Small core Small core Small core Small core Small core Small core Traditional homogenous multi-core system Asymmetric/heterogeneous multi-core system

Heterogeneous platform Thread Big core Big core Thread Thread Small core Small core Small core Small core . . . Small core Small core Small core Small core Thread Compute-intensive vs memory/IO-intensive threads Single-ISA high-performance "big” vs low-power "small” types of cores

Challenges Big core Big core Characterization of thread behavior when running on different core types: is it CPU-bound or memory-bound? Or something else altogether? Optimized thread allocation on the different core types Thread allocation/scheduling within each core type Big core Big core ? Thread ? Small core Small core Small core Small core Small core Small 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