Performance Modeling of Parallel Systems. A.J.C. van Gemund Delft University of Technology Delft, The Netherlands

Size: px
Start display at page:

Download "Performance Modeling of Parallel Systems. A.J.C. van Gemund Delft University of Technology Delft, The Netherlands"

Transcription

1 N 1 2 N par P β τ seq η P V ω T T -1 N 2 N 1 P... P Performance Modeling of Parallel Systems A.J.C. van Gemund Delft University of Technology Delft, The Netherlands

2 in4078, sheet # 1 Outline Part I Part II Part III Introduction: What is performance modeling about and what is so special about parallelism Performance Simulation: How to derive (performance) simulation models from parallel S/W and H/W Alternative Techniques: How to derive analytical performance models and what are the trade-offs involved

3 in4078, sheet # 2 Part I: Introduction What is performance modeling about and what is so special about parallelism performance modeling running example design space exploration modeling aspects synchronization model representation formalisms

4 in4078, sheet # 3 The Design Loop Performance feedback is important in system design problem synthesis program (π 1,π 2,...) + machine (µ 1,µ 2,...) T analysis

5 Sequential computation: y = a 0 + a 1 x + a 2 x 2 + a 3 x 3 Analytical performance model: T = 5fi mul + 3fi add in4078, sheet # 4 Performance Modeling Predict and diagnose the effect of system parameters N P.M. T = f(n,p) f(n,1) T N 2 N P... P Example:

6 in4078, sheet # 5 Challenges The result of performance modeling is f(ß 1 ;ß 2 ;:::;μ 1 ;μ 2 ;:::) Ideally, f has analytic and explicit form, is deterministic, has low solution complexity Often, however, f may represent simulation code or a system of equations, is stochastic, has exponential solution complexity Challenge is to select performance modeling method that optimally suits the application

7 in4078, sheet # 6 Our Running Example Scale sparse vector x by some factor alpha ( DSCAL ): for (i = 0; i < N; i++) if (x[i]!= 0) x[i] = alpha * x[i]; High-performance machine: 0 1 P-1 processors τ f memories τ m 0 1 M -1

8 in4078, sheet # 7 System Parameters Program: x (the input data set) N (vector length) Machine: P (# floating-point proc) fi f (average FLOP time) M (# memory banks) fi m (memory access time)

9 b = d N P in4078, sheet # 8 Parallelization Exploit data parallelism by (static) block partitioning of x: p: i: 0 l(1) u(1) 17 b e ; l(p) = pb ; u(p) = min(l + b 1;N) SPMD (Single Program Multiple Data) implementation: each processor executes same program, yet parameterized by the processor identifier (index p = 0;:::;P 1).

10 in4078, sheet # 9 Parallel Program for (i = l(p); i <= u(p); i++) if (x[i]!= 0) x[i] = alpha * x[i]; Why this example program? highly (data) parallelizable non-deterministic (sparse) work load potential work load imbalance simple, yet representative

11 in4078, sheet # 10 Parallel Machine 0 1 P-1 processors τ f memories τ m 0 1 M -1 Why this example machine? shared memory resources potential bottleneck instruction delays/resource contention non-deterministic simple, yet representative

12 in4078, sheet # 11 Design Space Exploration Design space exploration: select basic program/machine pair (incl. partitioning choice) for each pair derive f(n; P; : : :) (modeling step) explore parameter space (analysis step) by evaluating f(n; P; : : :) yielding T optimize parameters or modify program/machine pair Performance modeling essentially addresses modeling phase (e.g. deriving a queuing model) analysis phase (e.g. solving the queuing model)

13 in4078, sheet # 12 Modeling Aspects Modeling sequential computation is difficult enough due to work load non-determinism non-deterministic instruction delays non-deterministic branching, loop bounds Parallelism, however, introduces even more problems due to non-deterministic synchronization delay

14 fi f = Nfi f in4078, sheet # 13 Sequential Example 1 for (i = 0; i < N; i++) do a flop; 1 X N T = i=0 fi f ;N and therefore T deterministic straightforward modeling (no complex techniques needed)

15 ( x[i] = 0; fim m + fi f ; x[i] 6= 0: 2fi in4078, sheet # 14 Sequential Example 2 for (i = 0; i < N; i++) if (x[i]!= 0) x[i] = alpha * x[i]; 1 X N T = T i ; T i = i=0 fi f and fi m can be non-deterministic non-deterministic (data dependent) branching

16 in4078, sheet # 15 Parallel Example for (i = l(p); i <= u(p); i++) if (x[i]!= 0) x[i] = alpha * x[i]; Additional synchronization delays due to: load imbalance (slowest process finishes program) resource contention (memory access queuing)

17 in4078, sheet # 16 Task Graph Simple representation of parallelism and precedence relations computational task precedence constraint

18 in4078, sheet # 17 Synchronization Types condition synchronization (CS, static) mutual exclusion (ME, dynamic) or (ME) 7 8 T CS between 4 and 5 ME between 4 and T

19 in4078, sheet # 18 Synchronization Examples CS (or task synchronization ): data dependency, load imbalance, message-passing ME (or queuing ): critical sections (S/W), resource contention (sharing channels, memories, disks)

20 in4078, sheet # 19 Modeling Challenges in Parallel Computing basic instruction delays (cf. sequential computing) loops and branches (cf. sequential computing) CS delays (parallel computing) ME delays (parallel computing) Choice of modeling formalism is critical success factor

21 in4078, sheet # 20 Performance Modeling Approaches task graph model program (π 1,π 2,...) simulation model machine (µ 1,µ 2,...) queueing net model T = f (π,π,...,µ,µ,...) Petri net model modeling analysis

22 in4078, sheet # 21 Summary running example, modeling aspects parallelism means synchronization synchronization introduces additional complexity choice of modeling formalism important we shall choose simulation language as vehicle in Part II

23 in4078, sheet # 22 Part II: Performance Simulation How to derive performance simulation models from parallel S/W and H/W simulation as modeling vehicle example modeling language running example performance simulation simulation paradigms modeling of resources

24 in4078, sheet # 23 Simulation Design Simulation Model program (π 1,π 2,...) modeling machine (µ 1,µ 2,...) simulation T modeling pro: no a priori loss of modeling accuracy pro: timings, utilizations, throughputs, statistics con: computation-intensive procedure

25 in4078, sheet # 24 Simulation Language simulation language ß parallel programming language + notion of time in order to simulate time delays discrete event simulation languages: SIMULA-DEMOS, CSIM17,... we choose PAMELA (PerformAnce ModEling LAnguage) no syntax, didactical, analytical motivations process-algebraic approach

26 in4078, sheet # 25 process equations: Language Constructs (1) L = < process-expr-containing-task(i) > = < process-expr-containing-i-refs > task(i) time delay: L = delay(fi)! T = fi note: delay(100) will execute in e.g. 1 μs real time, simulated time delay (or virtual time), however 100 is data computations do not affect virtual time: = matadd(a; B; N) ; delay(n 2 fi f )! T = N 2 fi f L execution time delay may be considerable, however

27 in4078, sheet # 26 Language Constructs (2) sequential composition: task1 ; task2 (i = 1;N) task(i) task(1) ; :::; task(n) seq parallel composition: task1 k task2 (i = 1;N) task(i) task(1) k :::k task(n) par Note: implicit CS (barrier at exit) L = delay(2) ; fdelay(5) k delay(10)g! T = 12

28 in4078, sheet # 27 Language Constructs (3) conditional composition: if ( < boolean-expr > ) < process-expr > else process-expr > < iteration: while (< boolean-expr >) < process-expr >

29 in4078, sheet # 28 Simple Example Simple model of sequentially processing the example vector seq (i = 0; 17) if (x[i] 6= 0) f x[i] = x[i] Λ alpha ; delay(1) g Simulation result: T = 8

30 in4078, sheet # 29 Language Constructs (4) Condition synchronization (outside par): channel operators: wait(c), signal(c) wait(c): block until some other process signals c signal(c): set c, unblocking processes that wait on c E.g., (see example task graph): L = delay(fi 1 ) ; ff 1 k f 2 g ; delay(fi 8 ) f 1 = delay(fi 2 ) ; delay(fi 4 ) ; signal(c 45 ) ; delay(fi 6 ) f 2 = delay(fi 3 ) ; wait(c 45 ) ; delay(fi 5 ) ; delay(fi 7 )

31 in4078, sheet # 30 Language Constructs (5) Mutual exclusion (basic operators): counting semaphore operators P(s), V(s) P(s): block until some process Vs s > 0 ; decrement s V(s): increment s, possibly unblocking processes that P(s) E.g. (see example task graph): L = delay(fi 1 ) ; ff 1 k f 2 g ; delay(fi 8 ) f 1 = delay(fi 2 ) ; P(r) ; delay(fi 4 ) ; V(r) ; delay(fi 6 ) 2 = delay(fi 3 ) ; P(r) ; delay(fi 5 ) ; V(r) ; delay(fi 7 ) f where r = 1 initially r (resource has multiplicity 1).

32 in4078, sheet # 31 Language Constructs (6) Mutual exclusion (higher-order construct): use(r;fi) P(r) ; delay(fi) ; V(r) expresses usage of resource r for (virtual) time interval fi delay(fi) use(r;fi) ; r = 1 (infinite multiplicity) E.g., (see example task graph): L = delay(fi 1 ) ; ff 1 k f 2 g ; delay(fi 8 ) f 1 = delay(fi 2 ) ; use(r;fi 4 ) ; delay(fi 6 ) f 2 = delay(fi 3 ) ; use(r;fi 5 ) ; delay(fi 7 ) Default scheduling discipline is non-preemptive First Come First Served (FCFS) with non-deterministic conflict resolution.

33 in4078, sheet # 32 Modeling Example Recall the SPMD program: for (i = l(p); i <= u(p); i++) if (x[i]!= 0) x[i] = alpha * x[i]; Assume the following program-machine interface: flop(x; y): models the scalar floating point operation x * y including local register traffic move(a): models scalar access to memory address a loading of alpha + zero branch test + loop overhead ignored (first order approximation)

34 in4078, sheet # 33 Program Model Program part of the simulation model: par (p = 0;P 1) seq (i = l(p);u(p)) f move(addr x (i)) ; if (x[i] 6= 0) f x[i] = alpha Λ x[i] ; flop(x[i];alpha) ; move(addr x (i)) g g

35 in4078, sheet # 34 Simple Machine Model Assume: flop instruction delay independent of operands M = 1 Then flop(x; y) = delay(fi f ) move(a) = use(mem; fi m ) where initially the resource mem = 1. Substitute machine model in above program model

36 in4078, sheet # 35 Simulation Result For the example vector and fi f = 4fi m (fi f ;fi m deterministic), simulation yields p = 0: 0 1 flop flop 3 4 p = 1: 5 6 flop 6 7 flop 7 8 flop 8 9 p = 2: flop flop 14 p = 3: flop T CS: load imbalance ME: considerable memory contention slightly non-deterministic due to contention

37 in4078, sheet # 36 Alternative Machine Model Let f denote exact time delay M > 1. Assume low-order interleaved memory Then flop(x; y) = delay(f(x; y)) move(a) = use(mem a mod M ;fi m ) where initially the resources mem i = 1 Memory contention typically reduced by O(M)

38 in4078, sheet # 37 Performance Simulation Characterize data only by N and d (density): par (p = 0;P 1) seq (i = l(p);u(p)) f move(addr x (i)) ; (uniform(0; 1)» d) f if ; flop move(addr x (i)) g g where e.g. flop = delay(normal(fi f ;ff f ))

39 in4078, sheet # 38 Performance Simulation Results Speedup results for performance simulation model: psim static ideal 14 speedup (S) number of processors (P) N = 1000;d= 0:1;fi f = N 1;0:1 ;fi m = 0

40 in4078, sheet # 39 Performance Simulation pro: no original data computations (and allocations) needed (considerable savings in time and space) results more general (at the expense of being stochastic) interfaces to alternative models (task graphs, queuing models, Petri nets, Markov models) con: data modeling effort (identifying parameters such as d) interpretation can be tricky d (e.g., is merely setpoint) modeling accuracy (e.g., not all ifs can be modeled as Bernoulli processes)

41 in4078, sheet # 40 Performance Simulation Example Consider (x[i] uniform i.i.d.): for (i = 0; i < N; i++) if (x[i] > x[n-1]) task; Let N 0 denote execution frequency of task performance simulation (if (unif orm(0; 1) < 0:5) :::): μ N 0 = 0:5N; ff N 0 = 0:5 p N (B N;0:5 ) simulation, however (if (x[i] > x[n 1]) :::): μ N 0 = 0:5N; ff N 0 = N= p 12 (U 0;N ) Note: this also applies to other modeling techniques

42 in4078, sheet # 41 Consider the production line: Simulation Paradigms τ 0 τ 1 τ N-2 τ N-1 material 0... N-1 mach 0 mach 1 mach M-2 mach M-1 We distinguish: material-oriented modeling: describe the process from the material s point of view machine-oriented modeling: describe the process from the machine s point of view both models are equivalent

43 in4078, sheet # 42 Material-oriented Modeling map each individual material to a process each process describes sequence of machine usage map each machine to a passive resource constrain parallelism by ME machine usage Example (no handshaking): par (i = 0;N 1) seq (m = 0;M 1) use(r m ;fi m )

44 in4078, sheet # 43 Machine-oriented Modeling map each individual machine to a process each process describes material machining sequence ME machine usage implicit through process mapping Example (handshaking): par (m = 0;M 1) seq (i = 0;N 1) f recv(c m 1 ) ; delay(fi m ) ; send(c m ) g

45 in4078, sheet # 44 Message-Passing The functions send and recv used above: send(b) = P(b:room) ; V(b:data) = V(b:room) ; P(b:data) recv(b) where b:data = initially 0. send recv cell 0 cell 1 cell 2 cell 3 cell 4 buffer.room = 3 buffer.data = 2 synchronous communication: room = 0 (in above example) asynchronous communication: room > 0

46 in4078, sheet # 45 Simulation Paradigms What to choose? machine-oriented modeling ( send=recv): pro: more detailed (more synchronous) con: not analytic material-oriented modeling ( use ): con: less detailed (less synchronous) pro: analytic (under certain restrictions) PAMELA supports material-oriented paradigm in order to compile analytic models as well

47 Resource usage (ME): P/V, use in4078, sheet # 46 Modeling Resources Elements of modeling: Time delay: delay Synchronization (CS): par (implicit), wait/signal (explicit) In a material-oriented approach each delay is a resource usage: flop = use(cpu p ;fi f ) CPU treated as resource shared by process threads

48 in4078, sheet # 47 Example Let process i = 0;:::;N 1 be mapped on CPU map(i). Then: par (i = 0;N 1) f move(addr x (i)) ; if (uniform(0; 1)» d) f flop(map(i)) ; move(addr x (i)) g g where flop(p) = use(cpu p ;N fif ;ff f ) (note: resource cpu:pool > 1 would model dynamic scheduling)

49 in4078, sheet # 48 Summary simulation modeling using PAMELA (material-oriented) modeling principles: mapping programs to processes mapping machine parts to subroutines abstract, top down approach performance simulation: abstractions similar to other performance modeling techniques simulation paradigms and modeling of resources

50 in4078, sheet # 49 Part III: Alternative Techniques How to derive analytic performance models and what are the trade-offs involved drawback (performance) simulation Markov analysis task graph analysis queuing theory Petri net theory qualitative comparison

51 in4078, sheet # 50 Simulation Drawbacks Sources of non-determinism: workload, branching, ME Example task graph with ME (fi 1 4;7 8 = 1, fi 5;6 = N 100;10 ): rel. frequency execution time (T)

52 in4078, sheet # 51 Example Running example (N = 1000;d= 0:1;P = 10;fi m = 0): rel. frequency execution time (T) Conditional control flow and workload non-determinism. Per 500 point runs for 95% confidence interval of 2%.

53 in4078, sheet # 52 Analytic Techniques pro: exact solution (e.g. mean value of T ) pro: possibly parameterized con: additional model assumptions con: often exponential complexity Choosing between simulation and analytic technique generally depends on the level of abstraction required.

54 in4078, sheet # 53 Performance Modeling Approaches task graph model program (π 1,π 2,...) simulation model machine (µ 1,µ 2,...) queueing net model T = f (π,π,...,µ,µ,...) Petri net model modeling analysis

55 in4078, sheet # 54 Markov Modeling Model assumption: task delays must have neg.-exponential distribution (pdf = e t, memoryless or Markov property) Consider example task graph with ME with fi i exponentially ( distributed = fi 1 i i ). This maps to the CT Markov chain: 1 τ ,3 τ -1 2 τ ,6 3,4 5,6 τ τ -1 3 τ -1 4 τ -1 6 τ ,7 τ -1 5 τ τ τ -1 8 τ ,5 τ -1 2 τ ,7 τ -1 5 τ ,7 τ -1 7 τ -1 4 τ -1 τ τ -1 6

56 in4078, sheet # 55 Markov Analysis Let q ij denotes the transition rate of state i to j, where q ii = X j6=i q ij For the cyclic Markov chain (by inserting dashed feedback arc) the steady-state probability ß i of each state i is given by solving the linear equations : X 8i q ji ß j = 0 j under the constraint X ß i = 1 i

57 = T :665 = (= fi 1 = fi 8 ) = 8 ß 8 n 1 ß 1 n in4078, sheet # 56 Mean Execution Time We compute execution time from the chain s cycle time: Let pdf(fi i ) = i 1 e t=i ( i = i 1 ) For our example the solution for state (1) is ß 1 = 0: The transition rate out of state (1) is. ii = fi 1 1 q The average number of transitions (1)! (2; 3) per unit time n equals = fi 1 1 ß 1 1. It follows for the mean cycle time:

58 in4078, sheet # 57 Task Graph Modeling Modeling components: node! parallelism, (stochastic) time delay arc! CS Modeling restrictions no conditional control flow! stochastic delay approximations no ME! stochastic delay approximations Purpose: to study parallelism and (static) synchronization

59 in4078, sheet # 58 Task Graph Analysis Depending on the nature of the node delays: stochastic graphs: T distribution : path analysis mean value T : Markov analysis (see earlier) deterministic graphs: path analysis Path analysis principle: critical (or longest) path analysis, traversing the graph top to bottom in breadth-first order (B begin time, E end time): 8i : B i = max E j ; E i = B i + fi i j2pred(i)

60 in4078, sheet # 59 Path Analysis (1) Consider example task graph with CS where fi i deterministic: 1 B 1 = 0 E 1 = B 1 + τ B E B 2 = E 1 B 3 = E 1 B 4 = E 2 B 5 = E 3 max E 4 B 6 = E 4 B = 7 E 5 B = 8 E 6 max E 7 E 2 = B 2 + τ 2 E 3 = B 3 + τ 3 E 4 = B 4 + τ 4 E 5 = B 5 + τ 5 E 6 = B 6 + τ 6 E 7 = B 7 + τ 7 E 8 = B 8 + τ 8 = T Similar to 1 simulation run due to determinism.

61 in4078, sheet # 60 Path Analysis (2) Stochastic graph introduces complications: order statistics (see speedup plot): pdf(b i ) = Y pdf(e j )! B i > j2pred(i) applies only if E j are independent max E j j2pred(i) convolutions: pdf(e i ) = pdf(b i ) Λ pdf(fi i ) In practice: for non-sp graphs: heuristic bounding techniques SP graphs: E j can be considered independent: pdf product and convolution analysis for exponential distributions or mean value bounding techniques

62 in4078, sheet # 61 Definition of queuing center: Queuing Nets q s a r Examples: customers served at a counter queue server (m) r service time q clients in system r response time processes served by processor processes served by memory Purpose: to model and analyze queuing delay (synchronization delay due to ME)

63 q = ρ! ρ ; ρ = μ 1 in4078, sheet # 62 Queuing Analysis Example M/M/1 queue (pdf(a) = e t, pdf(d) = μe μt ): Markov analysis (see earlier) r = (q + 1) 1 μ (memoryless service time) (Little s Law) Mean Value Analysis (MVA): q = r (ρ =traffic intensity = u = server utilization) At 90% server utilization, response time is tenfold due to variance in arrival and service times

64 in4078, sheet # 63 Effect of Variance The effect of variance on queuing delay 10 8 a exp, s exp a exp, s det a det, s det clients in system (q) traffic intensity (rho) Variance of arrival and service time intervals causes queuing

65 = Nfi f Z P in4078, sheet # 64 Queuing Network Example Typically, closed queuing networks are used. Apart from queues a number of other components exist (e.g., infinite server) Running (M = 1;fi example ;fi m f exp. distr.): Z D MVA parameters: cpus P clients memory = (1 + d)nfi m D P Steady state needed (N! 1) + inability to model CS.

66 in4078, sheet # 65 Analysis Results Speedup results for queuing network model (using MVA): MVA psim psim (tm = 0) 14 speedup (S) number of processors (P) N = 1000;d= 0:1;fi f = 1;fi m = 0:02! MVA parameters Z = 100=P ; D = 22=P.

67 in4078, sheet # 66 Petri nets Definition of (timed) Petri net: t 1 p 1 p 3 after τ 1 t 1 p 1 p 3 token place p p 4 p p 4 (timed) transition marking µ = (1,3,1,0) marking µ = (0,1,2,2) Petri net covers both CS and ME Purpose: to study all aspects of concurrency

68 in4078, sheet # 67 Example Petri net A simple model of our running example (M = 1): τ m τ f P times replicated τm Model complexity: memory Queuing net» Petri net» Task graph» Markov chain

69 in4078, sheet # 68 Timed Petri net analysis reachability analysis! tree of possible markings bounded PN with exponential transition times: reachability! tree Markov chain ergodic Markov chain! steady state probability vector solution (see earlier) from certain marking prob. compute cycle time unbounded PN extended with inhibiter arcs (zero testing) have Turing power and are not analyzable

70 in4078, sheet # 69 Comparison Qualitative comparison of typical approaches: form CS ME DC analysis time cost acc. Sim CP polynomial ++ Psim + + +/- mult. CP polynomial + TG + - +/- CP linear/quadratic +/- QN - + +/- MVA polynomial +/- PN + + +/- Markov exponential + (note: TG deterministic, QN/PN exponential distr.) DC = data computation capability (e.g. branches) CP = critical path analysis

71 in4078, sheet # 70 Recent Research New research directions: parallel simulation approximate, hybrid techniques combining task graphs and queuing networks complexity reduction in Petri net analysis approximate, symbolic program analysis (extended task graph analysis)

72 in4078, sheet # 71 Summary drawbacks (performance) simulation brief overview of modeling with Markov chains, task graphs, queuing networks, timed Petri nets qualitative comparison performance modeling techniques recent research

73 in4078, sheet # 72 References and further reading: References (1) M. Ajmone Marsan, G. Balbo and G. Conte, Performance Models of Multiprocessor Systems. MIT Press, (Petri nets, queueing theory) G.R. Andrews and F.B. Schneider, Concepts and notations for concurrent programming, Computing Surveys, vol. 266, no. 24, 1983, pp (process synchronization) G.M. Birtwistle, Discrete Event Modelling on Simula. MacMillan, (simulation) W. Kreutzer, System simulation, programming styles and languages. Addison-Wesley, (simulation)

74 in4078, sheet # 73 References (2) References and further reading: R. Jain, The Art of Computer Systems Performance Analysis. Wiley, (statistics, simulation, queuing theory) E.D. Lazowska, J. Zahorjan, G.S. Graham and K.C. Sevcik, Quantitative System Performance. Prentice-Hall, (queueing theory) J.L. Peterson, Petri Net Theory and the Modeling of Systems. Prentice-Hall, (Petri nets, process synchronization)

Buzen s algorithm. Cyclic network Extension of Jackson networks

Buzen s algorithm. Cyclic network Extension of Jackson networks Outline Buzen s algorithm Mean value analysis for Jackson networks Cyclic network Extension of Jackson networks BCMP network 1 Marginal Distributions based on Buzen s algorithm With Buzen s algorithm,

More information

Stochastic Petri Nets. Jonatan Lindén. Modelling SPN GSPN. Performance measures. Almost none of the theory. December 8, 2010

Stochastic Petri Nets. Jonatan Lindén. Modelling SPN GSPN. Performance measures. Almost none of the theory. December 8, 2010 Stochastic Almost none of the theory December 8, 2010 Outline 1 2 Introduction A Petri net (PN) is something like a generalized automata. A Stochastic Petri Net () a stochastic extension to Petri nets,

More information

Special Nodes for Interface

Special Nodes for Interface fi fi Special Nodes for Interface SW on processors Chip-level HW Board-level HW fi fi C code VHDL VHDL code retargetable compilation high-level synthesis SW costs HW costs partitioning (solve ILP) cluster

More information

Module 5: CPU Scheduling

Module 5: CPU Scheduling Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 5.1 Basic Concepts Maximum CPU utilization obtained

More information

Efficient Nonlinear Optimizations of Queuing Systems

Efficient Nonlinear Optimizations of Queuing Systems Efficient Nonlinear Optimizations of Queuing Systems Mung Chiang, Arak Sutivong, and Stephen Boyd Electrical Engineering Department, Stanford University, CA 9435 Abstract We present a systematic treatment

More information

7. Queueing Systems. 8. Petri nets vs. State Automata

7. Queueing Systems. 8. Petri nets vs. State Automata Petri Nets 1. Finite State Automata 2. Petri net notation and definition (no dynamics) 3. Introducing State: Petri net marking 4. Petri net dynamics 5. Capacity Constrained Petri nets 6. Petri net models

More information

Overview: Synchronous Computations

Overview: Synchronous Computations Overview: Synchronous Computations barriers: linear, tree-based and butterfly degrees of synchronization synchronous example 1: Jacobi Iterations serial and parallel code, performance analysis synchronous

More information

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts.

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts. TDDI4 Concurrent Programming, Operating Systems, and Real-time Operating Systems CPU Scheduling Overview: CPU Scheduling CPU bursts and I/O bursts Scheduling Criteria Scheduling Algorithms Multiprocessor

More information

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling Scheduling I Today! Introduction to scheduling! Classical algorithms Next Time! Advanced topics on scheduling Scheduling out there! You are the manager of a supermarket (ok, things don t always turn out

More information

HYPENS Manual. Fausto Sessego, Alessandro Giua, Carla Seatzu. February 7, 2008

HYPENS Manual. Fausto Sessego, Alessandro Giua, Carla Seatzu. February 7, 2008 HYPENS Manual Fausto Sessego, Alessandro Giua, Carla Seatzu February 7, 28 HYPENS is an open source tool to simulate timed discrete, continuous and hybrid Petri nets. It has been developed in Matlab to

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University } 2017/11/15 Midterm } 2017/11/22 Final Project Announcement 2 1. Introduction 2.

More information

Sleptsov Net Computing

Sleptsov Net Computing International Humanitarian University http://mgu.edu.ua Sleptsov Net Computing Dmitry Zaitsev http://member.acm.org/~daze Write Programs or Draw Programs? Flow charts Process Charts, Frank and Lillian

More information

Introduction to Markov Chains, Queuing Theory, and Network Performance

Introduction to Markov Chains, Queuing Theory, and Network Performance Introduction to Markov Chains, Queuing Theory, and Network Performance Marceau Coupechoux Telecom ParisTech, departement Informatique et Réseaux marceau.coupechoux@telecom-paristech.fr IT.2403 Modélisation

More information

Chapter 6: CPU Scheduling

Chapter 6: CPU Scheduling Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 6.1 Basic Concepts Maximum CPU utilization obtained

More information

CHAPTER 4. Networks of queues. 1. Open networks Suppose that we have a network of queues as given in Figure 4.1. Arrivals

CHAPTER 4. Networks of queues. 1. Open networks Suppose that we have a network of queues as given in Figure 4.1. Arrivals CHAPTER 4 Networks of queues. Open networks Suppose that we have a network of queues as given in Figure 4.. Arrivals Figure 4.. An open network can occur from outside of the network to any subset of nodes.

More information

Real Time Operating Systems

Real Time Operating Systems Real Time Operating ystems Luca Abeni luca.abeni@unitn.it Interacting Tasks Until now, only independent tasks... A job never blocks or suspends A task only blocks on job termination In real world, jobs

More information

Scheduling I. Today Introduction to scheduling Classical algorithms. Next Time Advanced topics on scheduling

Scheduling I. Today Introduction to scheduling Classical algorithms. Next Time Advanced topics on scheduling Scheduling I Today Introduction to scheduling Classical algorithms Next Time Advanced topics on scheduling Scheduling out there You are the manager of a supermarket (ok, things don t always turn out the

More information

Performance Evaluation of Queuing Systems

Performance Evaluation of Queuing Systems Performance Evaluation of Queuing Systems Introduction to Queuing Systems System Performance Measures & Little s Law Equilibrium Solution of Birth-Death Processes Analysis of Single-Station Queuing Systems

More information

Chapter 10. Queuing Systems. D (Queuing Theory) Queuing theory is the branch of operations research concerned with waiting lines.

Chapter 10. Queuing Systems. D (Queuing Theory) Queuing theory is the branch of operations research concerned with waiting lines. Chapter 10 Queuing Systems D. 10. 1. (Queuing Theory) Queuing theory is the branch of operations research concerned with waiting lines. D. 10.. (Queuing System) A ueuing system consists of 1. a user source.

More information

CS 700: Quantitative Methods & Experimental Design in Computer Science

CS 700: Quantitative Methods & Experimental Design in Computer Science CS 700: Quantitative Methods & Experimental Design in Computer Science Sanjeev Setia Dept of Computer Science George Mason University Logistics Grade: 35% project, 25% Homework assignments 20% midterm,

More information

Applications of Petri Nets

Applications of Petri Nets Applications of Petri Nets Presenter: Chung-Wei Lin 2010.10.28 Outline Revisiting Petri Nets Application 1: Software Syntheses Theory and Algorithm Application 2: Biological Networks Comprehensive Introduction

More information

Stochastic Petri Net. Ben, Yue (Cindy) 2013/05/08

Stochastic Petri Net. Ben, Yue (Cindy) 2013/05/08 Stochastic Petri Net 2013/05/08 2 To study a formal model (personal view) Definition (and maybe history) Brief family tree: the branches and extensions Advantages and disadvantages for each Applications

More information

Analysis of Software Artifacts

Analysis of Software Artifacts Analysis of Software Artifacts System Performance I Shu-Ngai Yeung (with edits by Jeannette Wing) Department of Statistics Carnegie Mellon University Pittsburgh, PA 15213 2001 by Carnegie Mellon University

More information

Clock-driven scheduling

Clock-driven scheduling Clock-driven scheduling Also known as static or off-line scheduling Michal Sojka Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering November 8, 2017

More information

Queuing Networks. - Outline of queuing networks. - Mean Value Analisys (MVA) for open and closed queuing networks

Queuing Networks. - Outline of queuing networks. - Mean Value Analisys (MVA) for open and closed queuing networks Queuing Networks - Outline of queuing networks - Mean Value Analisys (MVA) for open and closed queuing networks 1 incoming requests Open queuing networks DISK CPU CD outgoing requests Closed queuing networks

More information

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models 4. Petri Nets Introduction Different Classes of Petri Net Petri net properties Analysis of Petri net models 1 Petri Nets C.A Petri, TU Darmstadt, 1962 A mathematical and graphical modeling method. Describe

More information

How to deal with uncertainties and dynamicity?

How to deal with uncertainties and dynamicity? How to deal with uncertainties and dynamicity? http://graal.ens-lyon.fr/ lmarchal/scheduling/ 19 novembre 2012 1/ 37 Outline 1 Sensitivity and Robustness 2 Analyzing the sensitivity : the case of Backfilling

More information

Composition of product-form Generalized Stochastic Petri Nets: a modular approach

Composition of product-form Generalized Stochastic Petri Nets: a modular approach Composition of product-form Generalized Stochastic Petri Nets: a modular approach Università Ca Foscari di Venezia Dipartimento di Informatica Italy October 2009 Markov process: steady state analysis Problems

More information

Elementary queueing system

Elementary queueing system Elementary queueing system Kendall notation Little s Law PASTA theorem Basics of M/M/1 queue M/M/1 with preemptive-resume priority M/M/1 with non-preemptive priority 1 History of queueing theory An old

More information

CSE 380 Computer Operating Systems

CSE 380 Computer Operating Systems CSE 380 Computer Operating Systems Instructor: Insup Lee & Dianna Xu University of Pennsylvania, Fall 2003 Lecture Note 3: CPU Scheduling 1 CPU SCHEDULING q How can OS schedule the allocation of CPU cycles

More information

COMPUTER SCIENCE TRIPOS

COMPUTER SCIENCE TRIPOS CST.2016.2.1 COMPUTER SCIENCE TRIPOS Part IA Tuesday 31 May 2016 1.30 to 4.30 COMPUTER SCIENCE Paper 2 Answer one question from each of Sections A, B and C, and two questions from Section D. Submit the

More information

Energy-efficient Mapping of Big Data Workflows under Deadline Constraints

Energy-efficient Mapping of Big Data Workflows under Deadline Constraints Energy-efficient Mapping of Big Data Workflows under Deadline Constraints Presenter: Tong Shu Authors: Tong Shu and Prof. Chase Q. Wu Big Data Center Department of Computer Science New Jersey Institute

More information

Lecture 7: Simulation of Markov Processes. Pasi Lassila Department of Communications and Networking

Lecture 7: Simulation of Markov Processes. Pasi Lassila Department of Communications and Networking Lecture 7: Simulation of Markov Processes Pasi Lassila Department of Communications and Networking Contents Markov processes theory recap Elementary queuing models for data networks Simulation of Markov

More information

Technical report bds:00-21

Technical report bds:00-21 Delft University of Technology Fac. of Information Technology and Systems Control Systems Engineering Technical report bds:00-21 Stability Analysis of Discrete Event Systems (by K.M. Passino and K.L. Burgess,

More information

Recap. Probability, stochastic processes, Markov chains. ELEC-C7210 Modeling and analysis of communication networks

Recap. Probability, stochastic processes, Markov chains. ELEC-C7210 Modeling and analysis of communication networks Recap Probability, stochastic processes, Markov chains ELEC-C7210 Modeling and analysis of communication networks 1 Recap: Probability theory important distributions Discrete distributions Geometric distribution

More information

Chapter 2 Queueing Theory and Simulation

Chapter 2 Queueing Theory and Simulation Chapter 2 Queueing Theory and Simulation Based on the slides of Dr. Dharma P. Agrawal, University of Cincinnati and Dr. Hiroyuki Ohsaki Graduate School of Information Science & Technology, Osaka University,

More information

Notation. Bounds on Speedup. Parallel Processing. CS575 Parallel Processing

Notation. Bounds on Speedup. Parallel Processing. CS575 Parallel Processing Parallel Processing CS575 Parallel Processing Lecture five: Efficiency Wim Bohm, Colorado State University Some material from Speedup vs Efficiency in Parallel Systems - Eager, Zahorjan and Lazowska IEEE

More information

Queueing Theory and Simulation. Introduction

Queueing Theory and Simulation. Introduction Queueing Theory and Simulation Based on the slides of Dr. Dharma P. Agrawal, University of Cincinnati and Dr. Hiroyuki Ohsaki Graduate School of Information Science & Technology, Osaka University, Japan

More information

Queueing systems. Renato Lo Cigno. Simulation and Performance Evaluation Queueing systems - Renato Lo Cigno 1

Queueing systems. Renato Lo Cigno. Simulation and Performance Evaluation Queueing systems - Renato Lo Cigno 1 Queueing systems Renato Lo Cigno Simulation and Performance Evaluation 2014-15 Queueing systems - Renato Lo Cigno 1 Queues A Birth-Death process is well modeled by a queue Indeed queues can be used to

More information

COMP9334 Capacity Planning for Computer Systems and Networks

COMP9334 Capacity Planning for Computer Systems and Networks COMP9334 Capacity Planning for Computer Systems and Networks Week 2: Operational Analysis and Workload Characterisation COMP9334 1 Last lecture Modelling of computer systems using Queueing Networks Open

More information

NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1

NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1 NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1 Multi-processor vs. Multi-computer architecture µp vs. DSP RISC vs. DSP RISC Reduced-instruction-set Register-to-register operation Higher throughput by using

More information

CPSC 531: System Modeling and Simulation. Carey Williamson Department of Computer Science University of Calgary Fall 2017

CPSC 531: System Modeling and Simulation. Carey Williamson Department of Computer Science University of Calgary Fall 2017 CPSC 531: System Modeling and Simulation Carey Williamson Department of Computer Science University of Calgary Fall 2017 Motivating Quote for Queueing Models Good things come to those who wait - poet/writer

More information

A REACHABLE THROUGHPUT UPPER BOUND FOR LIVE AND SAFE FREE CHOICE NETS VIA T-INVARIANTS

A REACHABLE THROUGHPUT UPPER BOUND FOR LIVE AND SAFE FREE CHOICE NETS VIA T-INVARIANTS A REACHABLE THROUGHPUT UPPER BOUND FOR LIVE AND SAFE FREE CHOICE NETS VIA T-INVARIANTS Francesco Basile, Ciro Carbone, Pasquale Chiacchio Dipartimento di Ingegneria Elettrica e dell Informazione, Università

More information

Environment (E) IBP IBP IBP 2 N 2 N. server. System (S) Adapter (A) ACV

Environment (E) IBP IBP IBP 2 N 2 N. server. System (S) Adapter (A) ACV The Adaptive Cross Validation Method - applied to polling schemes Anders Svensson and Johan M Karlsson Department of Communication Systems Lund Institute of Technology P. O. Box 118, 22100 Lund, Sweden

More information

TDDB68 Concurrent programming and operating systems. Lecture: CPU Scheduling II

TDDB68 Concurrent programming and operating systems. Lecture: CPU Scheduling II TDDB68 Concurrent programming and operating systems Lecture: CPU Scheduling II Mikael Asplund, Senior Lecturer Real-time Systems Laboratory Department of Computer and Information Science Copyright Notice:

More information

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE MULTIPLE CHOICE QUESTIONS DECISION SCIENCE 1. Decision Science approach is a. Multi-disciplinary b. Scientific c. Intuitive 2. For analyzing a problem, decision-makers should study a. Its qualitative aspects

More information

Simulation & Modeling Event-Oriented Simulations

Simulation & Modeling Event-Oriented Simulations Simulation & Modeling Event-Oriented Simulations Outline Simulation modeling characteristics Concept of Time A DES Simulation (Computation) DES System = model + simulation execution Data Structures Program

More information

Real Time Operating Systems

Real Time Operating Systems Real Time Operating ystems hared Resources Luca Abeni Credits: Luigi Palopoli, Giuseppe Lipari, and Marco Di Natale cuola uperiore ant Anna Pisa -Italy Real Time Operating ystems p. 1 Interacting Tasks

More information

A POPULATION-MIX DRIVEN APPROXIMATION FOR QUEUEING NETWORKS WITH FINITE CAPACITY REGIONS

A POPULATION-MIX DRIVEN APPROXIMATION FOR QUEUEING NETWORKS WITH FINITE CAPACITY REGIONS A POPULATION-MIX DRIVEN APPROXIMATION FOR QUEUEING NETWORKS WITH FINITE CAPACITY REGIONS J. Anselmi 1, G. Casale 2, P. Cremonesi 1 1 Politecnico di Milano, Via Ponzio 34/5, I-20133 Milan, Italy 2 Neptuny

More information

CIS 4930/6930: Principles of Cyber-Physical Systems

CIS 4930/6930: Principles of Cyber-Physical Systems CIS 4930/6930: Principles of Cyber-Physical Systems Chapter 11 Scheduling Hao Zheng Department of Computer Science and Engineering University of South Florida H. Zheng (CSE USF) CIS 4930/6930: Principles

More information

GI/M/1 and GI/M/m queuing systems

GI/M/1 and GI/M/m queuing systems GI/M/1 and GI/M/m queuing systems Dmitri A. Moltchanov moltchan@cs.tut.fi http://www.cs.tut.fi/kurssit/tlt-2716/ OUTLINE: GI/M/1 queuing system; Methods of analysis; Imbedded Markov chain approach; Waiting

More information

Probabilistic Model Checking and Strategy Synthesis for Robot Navigation

Probabilistic Model Checking and Strategy Synthesis for Robot Navigation Probabilistic Model Checking and Strategy Synthesis for Robot Navigation Dave Parker University of Birmingham (joint work with Bruno Lacerda, Nick Hawes) AIMS CDT, Oxford, May 2015 Overview Probabilistic

More information

Petri nets. s 1 s 2. s 3 s 4. directed arcs.

Petri nets. s 1 s 2. s 3 s 4. directed arcs. Petri nets Petri nets Petri nets are a basic model of parallel and distributed systems (named after Carl Adam Petri). The basic idea is to describe state changes in a system with transitions. @ @R s 1

More information

Proxel-Based Simulation of Stochastic Petri Nets Containing Immediate Transitions

Proxel-Based Simulation of Stochastic Petri Nets Containing Immediate Transitions Electronic Notes in Theoretical Computer Science Vol. 85 No. 4 (2003) URL: http://www.elsevier.nl/locate/entsc/volume85.html Proxel-Based Simulation of Stochastic Petri Nets Containing Immediate Transitions

More information

15 Closed production networks

15 Closed production networks 5 Closed production networks In the previous chapter we developed and analyzed stochastic models for production networks with a free inflow of jobs. In this chapter we will study production networks for

More information

Petri Net Modeling of Irrigation Canal Networks

Petri Net Modeling of Irrigation Canal Networks Petri Net Modeling of Irrigation Canal Networks Giorgio Corriga, Alessandro Giua, Giampaolo Usai DIEE: Dip. di Ingegneria Elettrica ed Elettronica Università di Cagliari P.zza d Armi 09123 CAGLIARI, Italy

More information

INF Models of concurrency

INF Models of concurrency INF4140 - Models of concurrency RPC and Rendezvous INF4140 Lecture 15. Nov. 2017 RPC and Rendezvous Outline More on asynchronous message passing interacting processes with different patterns of communication

More information

1.225 Transportation Flow Systems Quiz (December 17, 2001; Duration: 3 hours)

1.225 Transportation Flow Systems Quiz (December 17, 2001; Duration: 3 hours) 1.225 Transportation Flow Systems Quiz (December 17, 2001; Duration: 3 hours) Student Name: Alias: Instructions: 1. This exam is open-book 2. No cooperation is permitted 3. Please write down your name

More information

A Study on Performance Analysis of Queuing System with Multiple Heterogeneous Servers

A Study on Performance Analysis of Queuing System with Multiple Heterogeneous Servers UNIVERSITY OF OKLAHOMA GENERAL EXAM REPORT A Study on Performance Analysis of Queuing System with Multiple Heterogeneous Servers Prepared by HUSNU SANER NARMAN husnu@ou.edu based on the papers 1) F. S.

More information

Complexity: Some examples

Complexity: Some examples Algorithms and Architectures III: Distributed Systems H-P Schwefel, Jens M. Pedersen Mm6 Distributed storage and access (jmp) Mm7 Introduction to security aspects (hps) Mm8 Parallel complexity (hps) Mm9

More information

CMP N 301 Computer Architecture. Appendix C

CMP N 301 Computer Architecture. Appendix C CMP N 301 Computer Architecture Appendix C Outline Introduction Pipelining Hazards Pipelining Implementation Exception Handling Advanced Issues (Dynamic Scheduling, Out of order Issue, Superscalar, etc)

More information

Kendall notation. PASTA theorem Basics of M/M/1 queue

Kendall notation. PASTA theorem Basics of M/M/1 queue Elementary queueing system Kendall notation Little s Law PASTA theorem Basics of M/M/1 queue 1 History of queueing theory An old research area Started in 1909, by Agner Erlang (to model the Copenhagen

More information

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2)

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2) INF2270 Spring 2010 Philipp Häfliger Summary/Repetition (1/2) content From Scalar to Superscalar Lecture Summary and Brief Repetition Binary numbers Boolean Algebra Combinational Logic Circuits Encoder/Decoder

More information

15 Closed production networks

15 Closed production networks 5 Closed production networks In the previous chapter we developed and analyzed stochastic models for production networks with a free inflow of jobs. In this chapter we will study production networks for

More information

Page 1. Outline. Modeling. Experimental Methodology. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Modeling and Evaluation

Page 1. Outline. Modeling. Experimental Methodology. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Modeling and Evaluation Page 1 Outline ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems Modeling and Evaluation Copyright 2004 Daniel J. Sorin Duke University Experimental Methodology and Modeling Modeling Random

More information

Barrier. Overview: Synchronous Computations. Barriers. Counter-based or Linear Barriers

Barrier. Overview: Synchronous Computations. Barriers. Counter-based or Linear Barriers Overview: Synchronous Computations Barrier barriers: linear, tree-based and butterfly degrees of synchronization synchronous example : Jacobi Iterations serial and parallel code, performance analysis synchronous

More information

ADVANCED ROBOTICS. PLAN REPRESENTATION Generalized Stochastic Petri nets and Markov Decision Processes

ADVANCED ROBOTICS. PLAN REPRESENTATION Generalized Stochastic Petri nets and Markov Decision Processes ADVANCED ROBOTICS PLAN REPRESENTATION Generalized Stochastic Petri nets and Markov Decision Processes Pedro U. Lima Instituto Superior Técnico/Instituto de Sistemas e Robótica September 2009 Reviewed April

More information

An Integrative Model for Parallelism

An Integrative Model for Parallelism An Integrative Model for Parallelism Victor Eijkhout ICERM workshop 2012/01/09 Introduction Formal part Examples Extension to other memory models Conclusion tw-12-exascale 2012/01/09 2 Introduction tw-12-exascale

More information

Contents Preface The Exponential Distribution and the Poisson Process Introduction to Renewal Theory

Contents Preface The Exponential Distribution and the Poisson Process Introduction to Renewal Theory Contents Preface... v 1 The Exponential Distribution and the Poisson Process... 1 1.1 Introduction... 1 1.2 The Density, the Distribution, the Tail, and the Hazard Functions... 2 1.2.1 The Hazard Function

More information

Intro to Queueing Theory

Intro to Queueing Theory 1 Intro to Queueing Theory Little s Law M/G/1 queue Conservation Law 1/31/017 M/G/1 queue (Simon S. Lam) 1 Little s Law No assumptions applicable to any system whose arrivals and departures are observable

More information

Marwan Burelle. Parallel and Concurrent Programming. Introduction and Foundation

Marwan Burelle.  Parallel and Concurrent Programming. Introduction and Foundation and and marwan.burelle@lse.epita.fr http://wiki-prog.kh405.net Outline 1 2 and 3 and Evolutions and Next evolutions in processor tends more on more on growing of cores number GPU and similar extensions

More information

Intro Refresher Reversibility Open networks Closed networks Multiclass networks Other networks. Queuing Networks. Florence Perronnin

Intro Refresher Reversibility Open networks Closed networks Multiclass networks Other networks. Queuing Networks. Florence Perronnin Queuing Networks Florence Perronnin Polytech Grenoble - UGA March 23, 27 F. Perronnin (UGA) Queuing Networks March 23, 27 / 46 Outline Introduction to Queuing Networks 2 Refresher: M/M/ queue 3 Reversibility

More information

Dense Arithmetic over Finite Fields with CUMODP

Dense Arithmetic over Finite Fields with CUMODP Dense Arithmetic over Finite Fields with CUMODP Sardar Anisul Haque 1 Xin Li 2 Farnam Mansouri 1 Marc Moreno Maza 1 Wei Pan 3 Ning Xie 1 1 University of Western Ontario, Canada 2 Universidad Carlos III,

More information

Real-time operating systems course. 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm

Real-time operating systems course. 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm Real-time operating systems course 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm Definitions Scheduling Scheduling is the activity of selecting which process/thread should

More information

Fluid Models of Parallel Service Systems under FCFS

Fluid Models of Parallel Service Systems under FCFS Fluid Models of Parallel Service Systems under FCFS Hanqin Zhang Business School, National University of Singapore Joint work with Yuval Nov and Gideon Weiss from The University of Haifa, Israel Queueing

More information

From Stochastic Processes to Stochastic Petri Nets

From Stochastic Processes to Stochastic Petri Nets From Stochastic Processes to Stochastic Petri Nets Serge Haddad LSV CNRS & ENS Cachan & INRIA Saclay Advanced Course on Petri Nets, the 16th September 2010, Rostock 1 Stochastic Processes and Markov Chains

More information

Time Reversibility and Burke s Theorem

Time Reversibility and Burke s Theorem Queuing Analysis: Time Reversibility and Burke s Theorem Hongwei Zhang http://www.cs.wayne.edu/~hzhang Acknowledgement: this lecture is partially based on the slides of Dr. Yannis A. Korilis. Outline Time-Reversal

More information

Exercises Solutions. Automation IEA, LTH. Chapter 2 Manufacturing and process systems. Chapter 5 Discrete manufacturing problems

Exercises Solutions. Automation IEA, LTH. Chapter 2 Manufacturing and process systems. Chapter 5 Discrete manufacturing problems Exercises Solutions Note, that we have not formulated the answers for all the review questions. You will find the answers for many questions by reading and reflecting about the text in the book. Chapter

More information

II/IV B.Tech. DEGREE EXAMINATIONS, NOV/DEC-2017

II/IV B.Tech. DEGREE EXAMINATIONS, NOV/DEC-2017 CSE/IT 213 (CR) Total No. of Questions :09] [Total No. of Pages : 03 II/IV B.Tech. DEGREE EXAMINATIONS, NOV/DEC-2017 First Semester CSE/IT BASIC ELECTRICAL AND ELECTRONICS ENGINEERING Time: Three Hours

More information

High Performance Computing

High Performance Computing Master Degree Program in Computer Science and Networking, 2014-15 High Performance Computing 2 nd appello February 11, 2015 Write your name, surname, student identification number (numero di matricola),

More information

CPU Scheduling. CPU Scheduler

CPU Scheduling. CPU Scheduler CPU Scheduling These slides are created by Dr. Huang of George Mason University. Students registered in Dr. Huang s courses at GMU can make a single machine readable copy and print a single copy of each

More information

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara Operating Systems Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ Many processes to execute, but one CPU OS time-multiplexes the CPU by operating context switching Between

More information

Modeling Parallel and Distributed Systems with Finite Workloads

Modeling Parallel and Distributed Systems with Finite Workloads Modeling Parallel and Distributed Systems with Finite Workloads Ahmed M. Mohamed, Lester Lipsky and Reda Ammar {ahmed, lester, reda@engr.uconn.edu} Dept. of Computer Science and Engineering University

More information

Page 1. Outline. Experimental Methodology. Modeling. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Modeling and Evaluation

Page 1. Outline. Experimental Methodology. Modeling. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Modeling and Evaluation Outline Fault Tolerant and Testable Computing Systems Modeling and Evaluation Copyright 2011 Daniel J. Sorin Duke University Experimental Methodology and Modeling Random Variables Probabilistic Models

More information

NICTA Short Course. Network Analysis. Vijay Sivaraman. Day 1 Queueing Systems and Markov Chains. Network Analysis, 2008s2 1-1

NICTA Short Course. Network Analysis. Vijay Sivaraman. Day 1 Queueing Systems and Markov Chains. Network Analysis, 2008s2 1-1 NICTA Short Course Network Analysis Vijay Sivaraman Day 1 Queueing Systems and Markov Chains Network Analysis, 2008s2 1-1 Outline Why a short course on mathematical analysis? Limited current course offering

More information

Stochastic Petri Net

Stochastic Petri Net Stochastic Petri Net Serge Haddad LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA haddad@lsv.ens-cachan.fr Petri Nets 2016, June 20th 2016 1 Stochastic Petri Net 2 Markov Chain 3 Markovian Stochastic

More information

Multicore Semantics and Programming

Multicore Semantics and Programming Multicore Semantics and Programming Peter Sewell Tim Harris University of Cambridge Oracle October November, 2015 p. 1 These Lectures Part 1: Multicore Semantics: the concurrency of multiprocessors and

More information

Introduction to Queueing Theory

Introduction to Queueing Theory Introduction to Queueing Theory Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: http://www.cse.wustl.edu/~jain/cse567-11/

More information

Specification models and their analysis Petri Nets

Specification models and their analysis Petri Nets Specification models and their analysis Petri Nets Kai Lampka December 10, 2010 1 30 Part I Petri Nets Basics Petri Nets Introduction A Petri Net (PN) is a weighted(?), bipartite(?) digraph(?) invented

More information

Queuing Theory and Stochas St t ochas ic Service Syste y ms Li Xia

Queuing Theory and Stochas St t ochas ic Service Syste y ms Li Xia Queuing Theory and Stochastic Service Systems Li Xia Syllabus Instructor Li Xia 夏俐, FIT 3 618, 62793029, xial@tsinghua.edu.cn Text book D. Gross, J.F. Shortle, J.M. Thompson, and C.M. Harris, Fundamentals

More information

Real-Time Scheduling and Resource Management

Real-Time Scheduling and Resource Management ARTIST2 Summer School 2008 in Europe Autrans (near Grenoble), France September 8-12, 2008 Real-Time Scheduling and Resource Management Lecturer: Giorgio Buttazzo Full Professor Scuola Superiore Sant Anna

More information

Control of Fork-Join Networks in Heavy-Traffic

Control of Fork-Join Networks in Heavy-Traffic in Heavy-Traffic Asaf Zviran Based on MSc work under the guidance of Rami Atar (Technion) and Avishai Mandelbaum (Technion) Industrial Engineering and Management Technion June 2010 Introduction Network

More information

Finite State Machines. CS 447 Wireless Embedded Systems

Finite State Machines. CS 447 Wireless Embedded Systems Finite State Machines CS 447 Wireless Embedded Systems Outline Discrete systems Finite State Machines Transitions Timing Update functions Determinacy and Receptiveness 1 Discrete Systems Operates in sequence

More information

Mm7 Intro to distributed computing (jmp) Mm8 Backtracking, 2-player games, genetic algorithms (hps) Mm9 Complex Problems in Network Planning (JMP)

Mm7 Intro to distributed computing (jmp) Mm8 Backtracking, 2-player games, genetic algorithms (hps) Mm9 Complex Problems in Network Planning (JMP) Algorithms and Architectures II H-P Schwefel, Jens M. Pedersen Mm6 Advanced Graph Algorithms (hps) Mm7 Intro to distributed computing (jmp) Mm8 Backtracking, 2-player games, genetic algorithms (hps) Mm9

More information

Glossary availability cellular manufacturing closed queueing network coefficient of variation (CV) conditional probability CONWIP

Glossary availability cellular manufacturing closed queueing network coefficient of variation (CV) conditional probability CONWIP Glossary availability The long-run average fraction of time that the processor is available for processing jobs, denoted by a (p. 113). cellular manufacturing The concept of organizing the factory into

More information

Using Information Theory to Study Efficiency and Capacity of Computers and Similar Devices

Using Information Theory to Study Efficiency and Capacity of Computers and Similar Devices Information 2010, 1, 3-12; doi:10.3390/info1010003 OPEN ACCESS information ISSN 2078-2489 www.mdpi.com/journal/information Article Using Information Theory to Study Efficiency and Capacity of Computers

More information

Stochastic Hybrid Systems: Applications to Communication Networks

Stochastic Hybrid Systems: Applications to Communication Networks research supported by NSF Stochastic Hybrid Systems: Applications to Communication Networks João P. Hespanha Center for Control Engineering and Computation University of California at Santa Barbara Deterministic

More information

Session-Based Queueing Systems

Session-Based Queueing Systems Session-Based Queueing Systems Modelling, Simulation, and Approximation Jeroen Horters Supervisor VU: Sandjai Bhulai Executive Summary Companies often offer services that require multiple steps on the

More information

Introduction to Queueing Theory

Introduction to Queueing Theory Introduction to Queueing Theory Raj Jain Washington University in Saint Louis Jain@eecs.berkeley.edu or Jain@wustl.edu A Mini-Course offered at UC Berkeley, Sept-Oct 2012 These slides and audio/video recordings

More information

Part II: continuous time Markov chain (CTMC)

Part II: continuous time Markov chain (CTMC) Part II: continuous time Markov chain (CTMC) Continuous time discrete state Markov process Definition (Markovian property) X(t) is a CTMC, if for any n and any sequence t 1

More information