Introduction to Modeling. Lecture Overview

Similar documents
Colored Petri Net Evaluation Tool. Stephen Rojcewicz CS 2310

Queuing Networks. Renato Lo Cigno. Simulation and Performance Evaluation Queuing Networks - Renato Lo Cigno 1

Lecture 5: Performance Analysis I

Simulation. Outline. Common Mistakes in Simulation (3 of 4) Common Mistakes in Simulation (2 of 4) Performance Modeling Lecture #8

Measure, Report, and Summarize Make intelligent choices See through the marketing hype Key to understanding effects of underlying architecture

Petri Nets ee249 Fall 2000

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

Stochastic Petri nets

Queuing Systems. 1 Lecturer: Hawraa Sh. Modeling & Simulation- Lecture -4-21/10/2012

CA441 BPM - Modelling Workflow with Petri Nets. Modelling Workflow with Petri Nets. Workflow Management Issues. Workflow. Process.

Parallel Systems. Part 7: Evaluation of Computers and Programs. foils by Yang-Suk Kee, X. Sun, T. Fahringer

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

Petri Nets ~------~ R-ES-O---N-A-N-C-E-I--se-p-te-m--be-r Applications.

Introduction to Queuing Systems

Defining Performance. Performance 1. Which airplane has the best performance? Computer Organization II Ribbens & McQuain.

CSC630/CSC730 Parallel & Distributed Computing

Propositional Calculus. Math Foundations of Computer Science

LECTURE 1. Introduction

Defining Performance. Performance. Which airplane has the best performance? Boeing 777. Boeing 777. Boeing 747. Boeing 747

Lecture 1 Contracts. 1 A Mysterious Program : Principles of Imperative Computation (Spring 2018) Frank Pfenning

Index. ADEPT (tool for modelling proposed systerns),

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph:

Course web site: teaching/courses/car. Piazza discussion forum:

A DEVS LIBRARY FOR LAYERED QUEUING NETWORKS

Outline. Petri nets. Introduction Examples Properties Analysis techniques. 1 EE249Fall04

Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS

EE249 Discussion Petri Nets: Properties, Analysis and Applications - T. Murata. Chang-Ching Wu 10/9/2007

HOW TO WRITE PARALLEL PROGRAMS AND UTILIZE CLUSTERS EFFICIENTLY

A Study of the Performance Tradeoffs of a Tape Archive

Dataflow Languages. Languages for Embedded Systems. Prof. Stephen A. Edwards. March Columbia University

ASYMPTOTIC COMPLEXITY

Modeling Complex Systems Using SimEvents. Giovanni Mancini SimEvents Product Marketing Manager The MathWorks 2006 The MathWorks, Inc.

Fundamentals of Queueing Models

Principles of Operating Systems

Chapter 13: Reference. Why reference Typing Evaluation Store Typings Safety Notes

COSC 3351 Software Design. An Introduction to UML (III)

Computer Performance. Reread Chapter Quiz on Friday. Study Session Wed Night FB 009, 5pm-6:30pm

CSC Operating Systems Spring Lecture - XII Midterm Review. Tevfik Ko!ar. Louisiana State University. March 4 th, 2008.

Page 1. Program Performance Metrics. Program Performance Metrics. Amdahl s Law. 1 seq seq 1

Equality for Abstract Data Types

CMSC 411 Practice Exam 1 w/answers. 1. CPU performance Suppose we have the following instruction mix and clock cycles per instruction.

CO Computer Architecture and Programming Languages CAPL. Lecture 15

CS551 Router Queue Management

these developments has been in the field of formal methods. Such methods, typically given by a

Chapter 13: Reference. Why reference Typing Evaluation Store Typings Safety Notes

CS533 Modeling and Performance Evaluation of Network and Computer Systems

CS533 Modeling and Performance Evaluation of Network and Computer Systems

What is Performance for Internet/Grid Computation?

Slides 11: Verification and Validation Models

ASYMPTOTIC COMPLEXITY

Operating Systems. Memory Management. Lecture 9 Michael O Boyle

CHAPTER 5 PROPAGATION DELAY

CS2 Language Processing note 3

Performance, Power, Die Yield. CS301 Prof Szajda

Experimental Calibration and Validation of a Speed Scaling Simulator

AM 221: Advanced Optimization Spring 2016

Design Space Exploration of Network Processor Architectures

May 19, Answer pieces in italics were not required to receive full points.

Performance COE 403. Computer Architecture Prof. Muhamed Mudawar. Computer Engineering Department King Fahd University of Petroleum and Minerals

2. Introduction to Software for Embedded Systems

FSMs & message passing: SDL

Events in AnyLogic. Nathaniel Osgood MIT

Petri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State

Dynamic Programming. Other Topics

EE282 Computer Architecture. Lecture 1: What is Computer Architecture?

Semantics via Syntax. f (4) = if define f (x) =2 x + 55.

Performance Testing from UML Models with Resource Descriptions *

Human Factors. Human Factors

2.1. Introduction to Functions Vending Machines. My Notes A1 A2 A3 B1 B2 B3 C1 C2 C3 ACTIVITY

Analytical Modeling of Parallel Systems. To accompany the text ``Introduction to Parallel Computing'', Addison Wesley, 2003.

Computer Architecture

Lecture 1 Contracts : Principles of Imperative Computation (Fall 2018) Frank Pfenning

Speed-up of Parallel Processing of Divisible Loads on k-dimensional Meshes and Tori

Teletraffic theory I: Queuing theory

Module 4: Stochastic Activity Networks

IC220 Slide Set #5B: Performance (Chapter 1: 1.6, )

Master-Worker pattern

Fundamental Algorithms for System Modeling, Analysis, and Optimization

MONIKA HEINER.

Quiz for Chapter 1 Computer Abstractions and Technology 3.10

Embedded Systems 7. Models of computation for embedded systems

Using Queuing theory the performance measures of cloud with infinite servers

Here are some of the more basic curves that we ll need to know how to do as well as limits on the parameter if they are required.

Episode 5. Scheduling and Traffic Management

Calculating Call Blocking and Utilization for Communication Satellites that Use Dynamic Resource Allocation

Mean Value Analysis and Related Techniques

Physical Flow Approximations for the FCFS Stochastic Matching Model

Approximate Linear Programming for Average-Cost Dynamic Programming

Attract, print, deliver, it s yours

Threads, Synchronization, and Scheduling. Eric Wu

Modelling data networks research summary and modelling tools

Project 2: How Parentheses and the Order of Operations Impose Structure on Expressions

Fast Automated Estimation of Variance in Discrete Quantitative Stochastic Simulation

EECS 203 Spring 2016 Lecture 8 Page 1 of 6

Utility Maximization

Propositional Calculus. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Lecture Notes on Program Equivalence

Analytical Modeling of Parallel Programs

File System Aging: Increasing the Relevance of File System Benchmarks

Transcription:

Lecture Overview What is a Model? Uses of Modeling The Modeling Process Pose the Question Define the Abstractions Create the Model Analyze the Data Model Representations * Queuing Models * Petri Nets * State Machines 1/14/2001 Systems Modeling - Spring 2003 1

What Is a Model? A representation of a system that is simpler than the actual system captures the essential characteristics evaluaable for a property of interest Examples A hardware system as a block diagram. An operating system as a network of queues and servers. A software system as an object model. A parallel computer as a Petri net. A communication protocol as a set of interacting state machines. 1/14/2001 Systems Modeling - Spring 2003 2

Simpler Easier to construct than the actual system server utilization =.005 * #users Performance in 1 year can be estimated by running a workload generator on the current system Simpler often means has fewer parameters Example: Computational Complexity (O( ) notation): captures almost no details of any real hardware or implementation, yet provides useful information. Simpler almost always means a more abstract representation than the representation of the actual system. Example: A resource allocator as a queue/server pair. 1/14/2001 Systems Modeling - Spring 2003 3

Captures the essential Characteristics Includes only those characteristics that affect the property to the level of accuracy desired for the question that has been posed My web server needs more disk capacity. Can I just add disks or must I add servers? * Do you model file buffer space effects or not? Deciding whether or not a model captures the essential characteristics is a multi-dimensional issue. * Formal Specifications and Proofs * Informal arguments, experience 1/14/2001 Systems Modeling - Spring 2003 4

Can be evaluated Values of metrics for the property of interest can be evaluated from the model. Example: Performance of a web server What is metric for performance of a web server? What kind of model will yield the desired metrics? What are the available evaluation methods for the model representation? How will I know the accuracy of the values of the metrics? Validation? Verification? Example : Two processes are not writing a file at the same time. How specified? How verified? 1/14/2001 Systems Modeling - Spring 2003 5

What Is a Model? A representation of a system that is simpler than the actual system captures the essential characteristics can be evaluated for a specific property There is always an interaction among these three properties of a model. * Faithfulness versus effort. * Accuracy of evaluation versus effort. 1/14/2001 Systems Modeling - Spring 2003 6

Uses of Modeling System Planning Requirements Constraints System Design Choice of Components Relationships among components Performance Availability Correctness System Evaluation Performance Queuing Networks Simulation Models Correctness Model Checking Reliability Stochastic Modeling 1/14/2001 Systems Modeling - Spring 2003 7

The Modeling Process for an existing system. Pose the Questions Define the Abstractions, Metrics and Parameters. Create the Model Gather and Analyze the Data Measure the system and parameterize the Model Verification/Validation Explore the Parameter/Metric Space. 1/14/2001 Systems Modeling - Spring 2003 8

Modeling Process Example: Imagine we have a parallel application running on a dual processor and want to project performance on larger machines Pose the Question/Define the Metric and the Parameters What will the speedup be on 8 processors? Metric - Speedup Parameters - Number of Processors Are there hidden parameters? Create the Model - Amdahl s Law S(f,N) = 1 / (f + (1-f)/N) f is the serial fraction of the computation. N is the number of processors 1/14/2001 Systems Modeling - Spring 2003 9

Modeling Process Example Continued: Measure the system and parameterize the Model Suppose measured S(2) = 1.79. Then we deduce that f =0.12. Verification/Validation Evaluation is not a problem. How good is the model? What factors are overlooked in Amdahl s Law? Evaluate the Model for cases of interest N = 8 S(8) = 1 / (0.12 +.88/8) = 4.35 Sensitivity Analysis What is sensitivity of model to f? 1/14/2001 Systems Modeling - Spring 2003 10

Pose the Question The question posed strongly affects the kind of accuracy required for a performance study. * What will the response time be if the server is upgraded from a 500 MHz PII to a 933MHz PII? The model must give a single number to within X% of true value. * How much faster will the 933 MHz system be than the current system? If model underestimates response time by 20% on both the original and the projected systems, answer will still be exact 1/14/2001 Systems Modeling - Spring 2003 11

Pose the Question Is the 933 MHz system faster than the original? Suppose the model says yes and real system in fact has response times that are 80% of the original system. Let α be the modeling error in the modified system and β be the modeling error in the existing system. Modeled performance system projected ----------------------------------------------- < 1 Modeled performance system existing (α 0.8) /β < 1 α /β < 1.25 1/14/2001 Systems Modeling - Spring 2003 12

Pose the Question For performance studies, comparing several alternatives to each other is much easier than other sorts of questions. On the other hand, you don t know what the true answers are, and your confidence that the model is behaving accurately in a comparative sense typically decreases as your suspicion about the absolute error grows. 1/14/2001 Systems Modeling - Spring 2003 13

Create the Model How is the model represented? versus How is the model evaluated? These two are often intimately intertwined (and/or confused) Representation Property Evaluation System similar to the Performance Measurement or projected system Benchmarking Arbitrary set of equations. Performance Analytic model Arbitrary software Performance description or Simulation model of system behavior Correctness (state changes). Abstract state machine model Correctness Model checking 1/14/2001 Systems Modeling - Spring 2003 14

Create the Model Higher-level description languages can be useful More convenient expression Provide some structure for thinking about how to model the system Determine what needs to be measured Canned evaluations As always, there is a trade-off between convenience and generality: the more tailored a model description language is to the environment, the easier it is to apply there, but the more difficult it is to use for anything else 1/14/2001 Systems Modeling - Spring 2003 15

Model Description Representations We re going to look at three abstract representations of systems - queuing models, Petri nets and abstract state models. Only the briefest introductions here - just enough to have some common vocabulary until we look at these topics in more detail 1/14/2001 Systems Modeling - Spring 2003 16

Queuing Model Overview The basic component is the queue/server pair. Customer Queue Service Customer Arrivals Server Center Departures Parameters Customer arrival rate Average service time Scheduling discipline... System State * Number of jobs in queue Intrinsic representation of time. 1/14/2001 Systems Modeling - Spring 2003 17

Queuing Model Overview We can construct networks of service centers Web Requests.25.50 Proxy Server.25 Open versus Closed, etc. Web Servers 1/14/2001 Systems Modeling - Spring 2003 18

Petri Net Overview Basic components are places, transitions,. and tokens..... Token Arrives Transition Occurs.. State is marking of places with tokens. Intrinsic representation of state. Time must be introduced separately. 1/14/2001 Systems Modeling - Spring 2003 19

Modeling a Service Center as a Petri Net Customer Arrivals. Customer Departures Server Availability 1/14/2001 Systems Modeling - Spring 2003 20

This is a Petri net model of a vending machine stocked with 5 items. 1/14/2001 Systems Modeling - Spring 2003 21

Three Ways to Introduce Time Into Petri Nets 1. Firing Times - Associate a time delay with each transition. A transition once enabled, removes the tokens from its input places but does not fill the output arcs until the delay period has expired. 2. Holding Times - Tokens in output places have a delay associated with them. A token cannot be used to enable a transition until its delay period has expired. The delay period can be set by the creating transition or the holding place. 3. Enabling Times - A time delay is imposed between enabling and firing. A transition, once enabled, does not execute at all until the delay period has elapsed. 1/14/2001 Systems Modeling - Spring 2003 22

Abstract State Machines Assume the execution behavior of a system can be specified as an interacting set of state machines exchanging events. 1. Abstract the functional behavior. Retain only the times taken to execute a function. Performance models 2. Abstract the functional behavior. Retain only the times to execute a function. Add specifications for probability of failure of a component. Reliability models. 3. Abstract the system to be a system with a finite number of states. Functional correctness models. 1/14/2001 Systems Modeling - Spring 2003 23

State Machine Modeling Languages 1. Software-Oriented Languages StateCharts UML 2. Model Checking Languages Promela SMV S/R 1/14/2001 Systems Modeling - Spring 2003 24