Parallel and Distributed Simulation Hardware Platforms Simulation Fundamentals.

Slides:



Advertisements
Similar presentations
Prepared 7/28/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
Advertisements

Multiprocessors— Large vs. Small Scale Multiprocessors— Large vs. Small Scale.
Parallel and Distributed Simulation Global Virtual Time - Part 2.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
12a.1 Introduction to Parallel Computing UNC-Wilmington, C. Ferner, 2008 Nov 4, 2008.
2. Multiprocessors Main Structures 2.1 Shared Memory x Distributed Memory Shared-Memory (Global-Memory) Multiprocessor:  All processors can access all.
1 Lecture 6 Performance Measurement and Improvement.
Multiprocessors ELEC 6200: Computer Architecture and Design Instructor : Agrawal Name: Nam.
1: Operating Systems Overview
1 Lecture 1: Parallel Architecture Intro Course organization:  ~5 lectures based on Culler-Singh textbook  ~5 lectures based on Larus-Rajwar textbook.
OPERATING SYSTEM OVERVIEW
Discrete Event Simulation Event-Oriented Simulations By Syed S. Rizvi.
Multiprocessors CSE 471 Aut 011 Multiprocessors - Flynn’s Taxonomy (1966) Single Instruction stream, Single Data stream (SISD) –Conventional uniprocessor.
Parallel and Distributed Simulation Object-Oriented Simulation.
Communication Models for Parallel Computer Architectures 4 Two distinct models have been proposed for how CPUs in a parallel computer system should communicate.
Parallel and Distributed Simulation Introduction and Motivation By Syed S. Rizvi.
4. Multiprocessors Main Structures 4.1 Shared Memory x Distributed Memory Shared-Memory (Global-Memory) Multiprocessor:  All processors can access all.
1 Computer Science, University of Warwick Architecture Classifications A taxonomy of parallel architectures: in 1972, Flynn categorised HPC architectures.
Fig.1.2 Block diagram of a typical distributed-memory multicomputer. Fig.1.2 Block diagram of a typical distributed-memory multicomputer. Hardware platforms.
Parallel Architectures
1 Lecture 7: Part 2: Message Passing Multicomputers (Distributed Memory Machines)
© 2009 Matthew J. Sottile, Timothy G. Mattson, and Craig E Rasmussen 1 Concurrency in Programming Languages Matthew J. Sottile Timothy G. Mattson Craig.
Thanks to Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction n What is an Operating System? n Mainframe Systems.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Threads and Processes.
MIMD Distributed Memory Architectures message-passing multicomputers.
Parallel and Distributed Simulation Synchronizing Wallclock Time.
Parallel and Distributed Simulation Introduction and Motivation.
Spring 2003CSE P5481 Issues in Multiprocessors Which programming model for interprocessor communication shared memory regular loads & stores message passing.
Copyright © 2011 Curt Hill MIMD Multiple Instructions Multiple Data.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 8 Multiple Processor Systems Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
1: Operating Systems Overview 1 Jerry Breecher Fall, 2004 CLARK UNIVERSITY CS215 OPERATING SYSTEMS OVERVIEW.
Computing Environment The computing environment rapidly evolving ‑ you need to know not only the methods, but also How and when to apply them, Which computers.
Multiplayer games on networks potential and tradeoffs.
CCSM Performance, Successes and Challenges Tony Craig NCAR RIST Meeting March 12-14, 2002 Boulder, Colorado, USA.
A comparison of CC-SAS, MP and SHMEM on SGI Origin2000.
Outline Why this subject? What is High Performance Computing?
System Hardware FPU – Floating Point Unit –Handles floating point and extended integer calculations 8284/82C284 Clock Generator (clock) –Synchronizes the.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 2.
CS 2200 Presentation 18b MUTEX. Questions? Our Road Map Processor Networking Parallel Systems I/O Subsystem Memory Hierarchy.
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-2.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 May 2, 2006 Session 29.
Parallel and Distributed Simulation Process Oriented Simulation.
August 13, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 11: Multiprocessors: Uniform Memory Access * Jeremy R. Johnson Monday,
Spring EE 437 Lillevik 437s06-l22 University of Portland School of Engineering Advanced Computer Architecture Lecture 22 Distributed computer Interconnection.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
Network Systems Lab. Korea Advanced Institute of Science and Technology No.1 Ch. 1 Introduction EE692 Parallel and Distribution Computation | Prof. Song.
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
Clock Synchronization (Time Management) Deadlock Avoidance Using Null Messages.
Background Computer System Architectures Computer System Software.
Parallel and Distributed Simulation Deadlock Detection & Recovery: Performance Barrier Mechanisms.
Intro to Distributed Systems Hank Levy. 23/20/2016 Distributed Systems Nearly all systems today are distributed in some way, e.g.: –they use –they.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
Introduction to Simulation What is a simulation? A system that represents or emulates the behavior of another system over time; a computer simulation is.
Parallel and Distributed Programming: A Brief Introduction Kenjiro Taura.
Group Members Hamza Zahid (131391) Fahad Nadeem khan Abdual Hannan AIR UNIVERSITY MULTAN CAMPUS.
Parallel Computers Definition: “A parallel computer is a collection of processing elements that cooperate and communicate to solve large problems fast.”
PDES: Time Warp Mechanism Computing Global Virtual Time
CMSC 611: Advanced Computer Architecture
CPSC 531: System Modeling and Simulation
Introduction to Multiprocessors
COMP60621 Fundamentals of Parallel and Distributed Systems
COMP60611 Fundamentals of Parallel and Distributed Systems
Presentation transcript:

Parallel and Distributed Simulation Hardware Platforms Simulation Fundamentals

Outline Hardware Platforms –Parallel computers –Distributed computers Simulation Fundamentals –State –Time –Time flow mechanisms

Parallel and Distributed Computers Parallel computers (tightly coupled processors) –Shared memory multiprocessors –Distributed memory multicomputers Distributed computers (loosely coupled processors) –Networked workstations Parallel ComputersDistributed Computers Physical extentMachine roomBuilding, city, global ProcessorsHomogeneousOften heterogeneousComm. NetworkCustom switchCommercial LAN / WAN Comm. Latency (small messages) A few to tens of microseconds hundreds of microseconds to seconds

Shared Memory Multiprocessors CPU cache interconnection network memory I/O devices... Examples: Sun Enterprise; SGI Origin { shared int i; L … Lock (L) i = i + 1; Unlock (L) … } Processor 1 { shared int i, L … Lock (L) i = i + 1; Unlock (L) … } Processor 2 programming model: shared variables; synchronization via locks

Distributed Memory Multicomputers CPU cache Interconnection network memory... communications controller CPU cache memory communications controller Examples: IBM SP, Intel Paragon {int i; … Send (2, &i, sizeof(int)) … } Processor 1 {int j; … Receive (&j, sizeof(int)); … } Processor 2 programming model: no shared variables; message passing

Outline Hardware Platforms –Parallel computers –Distributed computers Simulation Fundamentals –State –Time –Time flow mechanisms

Simulation Fundamentals A computer simulation is a computer program that models the behavior of a physical system over time. Program variables (state variables) represent the current state of the physical system Simulation program modifies state variables to model the evolution of the physical system over time.

Time physical time: time in the physical system –Noon, December 31, 1999 to noon January 1, 2000 simulation time: representation of physical time within the simulation –floating point values in interval [0.0, 24.0] wallclock time: time during the execution of the simulation, usually output from a hardware clock –9:00 to 9:15 AM on September 10, 1999 physical system physical system: the actual or imagined system being modeled simulation: a system that emulates the behavior of a physical system simulation main() {... double clock;... }

Simulation Time Simulation time is defined as a totally ordered set of values where each value represents an instant of time in the physical system being modeled. For any two values of simulation time T 1 representing instant P 1, and T 2 representing P 2 : Correct ordering of time instants –If T 1 < T 2, then P 1 occurs before P 2 –9.0 represents 9 PM, 10.5 represents 10:30 PM Correct representation of time durations –T 2 - T 1 = k (P 2 - P 1 ) for some constant k –1.0 in simulation time represents 1 hour of physical time

Paced vs. Unpaced Execution Modes of execution As-fast-as-possible execution (unpaced): no fixed relationship necessarily exists between advances in simulation time and advances in wallclock time Real-time execution (paced): each advance in simulation time is paced to occur in synchrony with an equivalent advance in wallclock time Scaled real-time execution (paced): each advance in simulation time is paced to occur in synchrony with S * an equivalent advance in wallclock time (e.g., 2x wallclock time) Simulation Time = W2S(W) = T 0 + S * (W - W 0 ) W = wallclock time; S = scale factor W 0 (T 0 ) = wallclock (simulation) time at start of simulation (assume simulation and wallclock time use same time units)

Simulation Taxonomy Continuous time simulation –State changes occur continuously across time –Typically, behavior described by differential equations Discrete time simulation –State changes only occur at discrete time instants –Time stepped: time advances by fixed time increments –Event stepped: time advances occur with irregular increments computer simulation discrete models continuous models event driven time- stepped

Time Stepped vs. Event Stepped Goal: compute state of system over simulation time state variables simulation time event driven execution

Time Stepped Execution (Paced) While (simulation not completed) { Wait Until (W2S(wallclock time) ≥ current simulation time) Compute state of simulation at end of this time step Advance simulation time to next time step }

Summary Hardware Platforms –Tightly coupled multiprocessors: fast communication –Networked workstations: larger message latencies Important to distinguish among simulation time, wallclock time, and time in the physical system Paced execution (e.g., immersive virtual environments) vs. unpaced execution (e.g., simulations to analyze systems) Continuous and discrete simulation use different execution paradigms, time advance mechanisms –Time stepped vs. event stepped –Here, focus on discrete event simulations