Simics: A Full System Simulation Platform Synopsis by Jen Miller 19 March 2004.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Debugging operating systems with time-traveling virtual machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Computer Architecture Lab at Combining Simulators and FPGAs “An Out-of-Body Experience” Eric S. Chung, Brian Gold, James C. Hoe, Babak Falsafi {echung,
Chapter 13 Embedded Systems
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Bugnion et al. Presented by: Ahmed Wafa.
G Robert Grimm New York University Disco.
1: Operating Systems Overview
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
OPERATING SYSTEM OVERVIEW
1 Computer System Overview OS-1 Course AA
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
Ritu Varma Roshanak Roshandel Manu Prasanna
Chapter 13 Embedded Systems
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
Midterm Tuesday October 23 Covers Chapters 3 through 6 - Buses, Clocks, Timing, Edge Triggering, Level Triggering - Cache Memory Systems - Internal Memory.
Common System Components
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
NPACI: National Partnership for Advanced Computational Infrastructure August 17-21, 1998 NPACI Parallel Computing Institute 1 Cluster Archtectures and.
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
1 CSC 2405: Computer Systems II Spring 2012 Dr. Tom Way.
Peter S. Magnusson, Magnus Crhistensson, Jesper Eskilson, Daniel Forsgren, Gustav Hallberg, Johan Högberg, Frederik larsson, Anreas Moestedt. Presented.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
Architecture Support for OS CSCI 444/544 Operating Systems Fall 2008.
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
Wind River Simics: A Simulation Environment for Research and Development Abhinav Srivastava QUARBZ.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster computers –shared memory model ( access nsec) –message passing multiprocessor.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Processes Introduction to Operating Systems: Module 3.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
1: Operating Systems Overview 1 Jerry Breecher Fall, 2004 CLARK UNIVERSITY CS215 OPERATING SYSTEMS OVERVIEW.
Seminar of “Virtual Machines” Course Mohammad Mahdizadeh SM. University of Science and Technology Mazandaran-Babol January 2010.
Lecture 12 Virtualization Overview 1 Dec. 1, 2015 Prof. Kyu Ho Park “Understanding Full Virtualization, Paravirtualization, and Hardware Assist”, White.
Chapter 6 Storage and Other I/O Topics. Chapter 6 — Storage and Other I/O Topics — 2 Introduction I/O devices can be characterized by Behaviour: input,
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 2.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.
(1) SIMICS Overview. (2) SIMICS – A Full System Simulator Models disks, runs unaltered OSs etc. Accuracy is high (e.g., pollution effects factored in)
Time Management.  Time management is concerned with OS facilities and services which measure real time.  These services include:  Keeping track of.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
CPIT Program Execution. Today, general-purpose computers use a set of instructions called a program to process data. A computer executes the.
Virtualization Neependra Khare
Introduction to Operating Systems Concepts
Module 3: Operating-System Structures
Lecture 2: Performance Evaluation
Xen and the Art of Virtualization
Operating System Structure
Microcomputer Architecture
IB Computer Science Topic 2.1.1
Section 1: Introduction to Simics
Agenda Why simulation Simulation and model Instruction Set model
Page Replacement.
Combining Simulators and FPGAs “An Out-of-Body Experience”
Chapter 3: Operating-System Structures
Assembly Language for Intel-Based Computers
Operating System Concepts
Multiple Processor Systems
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

Simics: A Full System Simulation Platform Synopsis by Jen Miller 19 March 2004

Goals Simulate a complete system with perfect accuracy Simulate realistic work loads Achieve balance between accuracy and performance – Accurate enough to run commercial workloads – Abstract enough to simulate “quickly”

What can Simics do? Model a wide variety of systems – Embedded – Desktop – MPs – Clusters Run many realistic workloads – Unmodified operating systems – SPEC CPU2000 – TPC-C – Interactive desktop apps and games

How does Simics model systems? Processors are simulated at the instruction-set level – UltraSPARC, Alpha, MIPS, ARM, IPF, PowerPC, X86 and X86-64 Flexibility  Mix and match architectures with operating systems Accurate device models can run real firmware and device drivers

Operating Systems User-level applications can be run on a “bare bones” simulator by using an OS emulation layer We can isolate the behavior of a single application!

Full-Scale Distributed Systems Each target machine is a node A single Simics instance can simulate one or more nodes of the same basic architecture Heterogeneous nodes can be connected into a network using Simics Central Simulation is fast enough to be interactive Global time can be paused to inspect state Some capabilities: Access memory traffic or set breakpoints anywhere, modify any of the systems, timestamp user input, checkpoint simulations

Simics Central Synchronizes virtual time between Simics simulators and distributes simulated traffic between nodes Imposes a minimum latency on all messages Will halt the simulation if one process consumes cycles slower than others – Network simulation speed is limited by the slowest process Currently supports Ethernet networks

Debugging Simics supports traditional debugging – Loading symbolic information – Single stepping Repeatability: Prior sequences of events can be played back to trigger a bug External debuggers can be attached – For example, TCP/IP GNU debugger

Memory and I/O Devices Users can extend a simulated memory space by adding a timing model (such as Ruby) Simics uses a simulator translation cache to speed up loads, stores, and instruction fetches – The caches store pointers to simulated memory and are indexed by virtual addresses Simics supports a device set that enables firmware and the OS to run – Keyboard/mouse controller, DMA, Interrupt controller, floppy controller, Graphics cards, etc. Users can write new device models

Economic Benefits Single platform across the development cycle

Simics Architecture

Implementation The target system is described using a simple object-oriented language

Event Handling Simics can mix event-driven and time-driven components Each processor object has two event queues: a step queue and a time queue Events appear in the step queue after a number of program counter steps The time queue has a resolution of a processor clock cycle

Conclusions Full system simulation has benefits over testing physical hardware – Easy to arbitrarily modify conditions and insert errors – Discovered errors can be replicated – Automated testing – You can get a good idea of feasibility and performance before you build something