CS203 – Advanced Computer Architecture

Slides:



Advertisements
Similar presentations
1 MacSim Tutorial (In ISCA-39, 2012). Thread fetch policies Branch predictor Thread fetch policies Branch predictor Software and Hardware prefetcher Cache.
Advertisements

System Simulation Of 1000-cores Heterogeneous SoCs Shivani Raghav Embedded System Laboratory (ESL) Ecole Polytechnique Federale de Lausanne (EPFL)
*time Optimization Heiko, Diego, Thomas, Kevin, Andreas, Jens.
GPGPU Introduction Alan Gray EPCC The University of Edinburgh.
NoC Modeling Networks-on-Chips seminar May, 2008 Anton Lavro.
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU) Courtesy David Luebke, University of Virginia.
Introduction to SimpleScalar (Based on SimpleScalar Tutorial) TA: Kyung Hoon Kim CSCE614 Texas A&M University.
MacSim Tutorial (In ICPADS 2013) 1. |The Structural Simulation Toolkit: A Parallel Architectural Simulator (for HPC) A parallel simulation environment.
Virtualization. Virtualization  In computing, virtualization is a broad term that refers to the abstraction of computer resources  It is "a technique.
1 Introduction to SimpleScalar (Based on SimpleScalar Tutorial) CPSC 614 Texas A&M University.
CS/ECE 3330 Computer Architecture Kim Hazelwood Fall 2009.
1 Computer Architecture Research Overview Rajeev Balasubramonian School of Computing, University of Utah
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING | SCHOOL OF COMPUTER SCIENCE | GEORGIA INSTITUTE OF TECHNOLOGY Ocelot and the SST-MacSim Simulator Genie.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
HPArch Research Group. |Part III: Overview of MacSim Features of MacSim Basic MacSim architecture How to simulate architectures with MacSim |Part IV:
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
Introduction to SimpleScalar (Based on SimpleScalar Tutorial) CSCE614 Hyunjun Jang Texas A&M University.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
© Michel Dubois, Murali Annavaram, Per Strenstrom All rights reserved Embedded Computer Architecture 5SAI0 Simulation - chapter 9 - Luc Waeijen 16 Nov.
Introduction Why are virtual machines interesting?
Survey of multicore architectures Marko Bertogna Scuola Superiore S.Anna, ReTiS Lab, Pisa, Italy.
SIMULATION OF EXASCALE NODES THROUGH RUNTIME HARDWARE MONITORING JOSEPH L. GREATHOUSE, ALEXANDER LYASHEVSKY, MITESH MESWANI, NUWAN JAYASENA, MICHAEL IGNATOWSKI.
1 of 14 Lab 2: Formal verification with UPPAAL. 2 of 14 2 The gossiping persons There are n persons. All have one secret to tell, which is not known to.
CS203 – Advanced Computer Architecture Computer Architecture Simulators.
© 2003, Carla Ellis Model Vague idea “groping around” experiences Hypothesis Initial observations Experiment Data, analysis, interpretation Results & final.
Introduction to Operating Systems Concepts
Computer Engg, IIT(BHU)
Overview Motivation (Kevin) Thermal issues (Kevin)
??? ple r B Amulya Sai EDM14b005 What is simple scalar?? Simple scalar is an open source computer architecture simulator developed by Todd.
System-on-Chip Design
OPERATING SYSTEMS CS 3502 Fall 2017
CSCE 548 Secure Software Development Risk-Based Security Testing
Andreas Hoffmann Andreas Ropers Tim Kogel Stefan Pees Prof
Current Generation Hypervisor Type 1 Type 2.
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Introduction to Load Balancing:
Andrea Acquaviva, Luca Benini, Bruno Riccò
Microarchitecture.
Ph.D. in Computer Science
A Simulation Framework For Storage System Proposal
Virtual Machines: Versatile Platforms for Systems and Processes
Please do not distribute
CS101 Introduction to Computing Lecture 19 Programming Languages
SmartCell: A Coarse-Grained Reconfigurable Architecture for High Performance and Low Power Embedded Computing Xinming Huang Depart. Of Electrical and Computer.
Structural Simulation Toolkit / Gem5 Integration
Introduction to SimpleScalar
Introduction to SimpleScalar (Based on SimpleScalar Tutorial)
RTL Simulator for VChip Emulator
Introduction to SimpleScalar (Based on SimpleScalar Tutorial)
A Review of Processor Design Flow
Xia Zhao*, Zhiying Wang+, Lieven Eeckhout*
Section 1: Introduction to Simics
Agenda Why simulation Simulation and model Instruction Set model
Introduction to Computer Systems
Digital Processing Platform
NVIDIA Fermi Architecture
Development & Evaluation of Network Test-beds
A High Performance SoC: PkunityTM
A Simulator to Study Virtual Memory Manager Behavior
Introduction To software engineering
Introduction to Operating Systems
HIGH LEVEL SYNTHESIS.
Introduction to Operating Systems
Introduction to Heterogeneous Parallel Computing
Mark McKelvin EE249 Embedded System Design December 03, 2002
A Case for Interconnect-Aware Architectures
Phase based adaptive Branch predictor: Seeing the forest for the trees
Presentation transcript:

CS203 – Advanced Computer Architecture Computer Architecture Simulators

Why use simulators? Designing and fabricating chips are expensive Would take years to test new microarchitecture design Abstract performance/queuing models are simplistic Require a middle-ground Fast, accurate, configurable

Why use simulators? Leverage faster, more flexible S/W development cycles Permits more design space exploration Facilitates validation before H/W becomes available Level of abstraction can be throttled to design task Possible to increase/improve system instrumentation Adapted from SimpleScalar Tutorial

What is an architectural simulator? Tool that reproduces the behavior of a computing device Adapted from SimpleScalar Tutorial

Taxonomy of Simulator Tools Architectural Simulators Functional Trace-driven Exec-driven Interpreters Direct Execution Performance Inst. Schedulers Cycle timers Adapted from SimpleScalar Tutorial

Functional vs Performance Simulators Functional simulators implement the architecture The architecture is what the programmer’s see Performance simulators implement the microarchitecture Model system internals (microarchitecture) Often concerned with time Adapted from SimpleScalar Tutorial

Execution vs Trace-driven Simulation Trace-based simulation: Reads a “trace” of instructions saved from previous execution Easiest to implement, no funcitonal component needed No feedback into trace Execution-driven simulation: Simulator “runs” the program, generating stream dynamically More difficult to implement, many advantages Direct execution: instrumented program runs on host Adapted from SimpleScalar Tutorial

Instruction schedulers vs cycle timers Constraint-based instruction schedulers Simulator schedules instructions based on resource availability Instructions processed one at a time, in order Simpler to implement/modify, generally less detailed Cycle-timer simulators Simulator tracks microarch. State each cycle Many instructions in various stages at any time Simulator state == microarch. State Good for detailed microarchitecture simulation

Functional vs performance simulators Functional simulators implement the architecture Perform the actual execution Implement what programmers see Performance (or timing) simulators implement the microarchitecture Model system resources/internals Measure time Implement what the programmers do not see Adapted from SimpleScalar Tutorial

Application-only vs Full-system Adapted from Multi2Sim Tutorial

The Zen of Simulator Design Design goals will drive which aspects are optimized Adapted from SimpleScalar Tutorial

Example Simulators - CPU SimpleScalar (Wisconsin/Michigan) SESC (UIUC) ESESC (UCSC) gem5 (Michigan, Wisconsin, ARM, etc.) Merger of M5 (Michigan) + GEMS (Wisconsin) Simics (Wind River Systems) Sniper (Ghent) zsim (Stanford/MIT) MARSSx86 (Binghamton)

Example Simulators Temperature Memory Disk Power Reliability Hotspot (Virginia) Memory DramSim2 (Maryland) CACTI (HP) NVSim (PSU) Disk DiskSim (CMU) FlashSim (PSU) Power McPAT (HP) Wattch (Harvard) Reliability VARIUS (UIUC)

Example Simulators Graphical Processing Units (GPU) GPU Energy GPGPU-Sim (UBC) Multi2Sim (Northeastern) MacSim (GaTech) GPU Energy GPUWattch (UT-Austin/Wisconsin/UBC)

Example Simulators Heterogeneous Architectures Datacenters Network Multi2Sim (Northeastern) - CPU/GPU CPU-GPU Simulator (PSU) – CPU/GPU gem5-gpu (Wisconsin) – CPU/GPU Datacenters BigHouse (Michigan) Network DARSIM (MIT) NoC-SIM (TAMU)