Discrete Event System Modeling and Simulation in Metropolis Guang Yang 12/10/2004.

Slides:



Advertisements
Similar presentations
PLDI’2005Page 1June 2005 Example (C code) int double(int x) { return 2 * x; } void test_me(int x, int y) { int z = double(x); if (z==y) { if (y == x+10)
Advertisements

ICS Principles of Operating Systems Lectures 8 and 9 - Deadlocks Prof. Dmitri V. Kalashnikov dvk ics.uci.edu Slides © Prof. Nalini Venkatasubramanian.
1 Deadlock Solutions: Avoidance, Detection, and Recovery CS 241 March 30, 2012 University of Illinois.
Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings.
Concurrent Programming James Adkison 02/28/2008. What is concurrency? “happens-before relation – A happens before B if A and B belong to the same process.
Modeling & Simulation. System Models and Simulation Framework for Modeling and Simulation The framework defines the entities and their Relationships that.
7. Physical Memory 7.1 Preparing a Program for Execution
Operating Systems CMPSC 473 Mutual Exclusion Lecture 13: October 12, 2010 Instructor: Bhuvan Urgaonkar.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Modeling Kanban Scheduling in Systems of Systems Alexey Tregubov, Jo Ann Lane.
Operating Systems COMP 4850/CISG 5550 Deadlock Avoidance Dr. James Money.
CPSC 322, Lecture 18Slide 1 Planning: Heuristics and CSP Planning Computer Science cpsc322, Lecture 18 (Textbook Chpt 8) February, 12, 2010.
Multiple Marine Vehile Deconflicted Path Planning with Currents and Communication Constraints A. Häusler 1, R. Ghabcheloo 2, A. Pascoal 1, A. Aguiar 1.
1 Software Testing and Quality Assurance Lecture 21 – Class Testing Basics (Chapter 5, A Practical Guide to Testing Object- Oriented Software)
Concurrent & Distributed Systems Lecture 3: Processes interacting by sharing resources Asynchronous processes can interact by sharing a common resource.
CAC and Scheduling Schemes for Real-time Video Applications in IEEE Networks Ou Yang UR 10/11/2006.
Basic Probability. Theoretical versus Empirical Theoretical probabilities are those that can be determined purely on formal or logical grounds, independent.
Implementing Quantity Managers in Ptolemy II EE 290N Project Haibo Zeng Dec 10 th, 2004.
Simulation.
Metro II : A Next-Generation Framework for Platform-based Design Abhijit Davare, Douglas Densmore, Trevor Meyerowitz, Alessandro Pinto, Alberto Sangiovanni-Vincentelli,
Scheduling Using Timed Automata Borzoo Bonakdarpour Wednesday, April 13, 2005 Selected Topics in Algorithms and Complexity (CSE960)
Models of Computation for Embedded System Design Alvise Bonivento.
Monitors CSCI 444/544 Operating Systems Fall 2008.
SNAL Sensor Networks Application Language Alvise Bonivento Mentor: Prof. Sangiovanni-Vincentelli 290N project, Fall 04.
1 TDMA Scheduling in Competitive Wireless Networks Mario CagaljHai Zhan EPFL - I&C - LCA February 9, 2005.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Quantity  A generic mechanism to model performance In platform-based design, two pieces of information are required to capture the characteristics of.
Chapter 6 Concurrency: Deadlock and Starvation
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
1 Modeling continuous-time sub-systems in Metropolis Gabriel Eirea EE249 project 12/3/02 Mentors: Claudio Pinello Felice Balarin Yosinori Watanabe Howard.
Simulations and Supply Chain Management David Sparling Court of Experts September 6, 2002 University of Guelph.
Opportunistic Transmission Scheduling With Resource-Sharing Constraints in Wireless Networks From IEEE JOURNAL ON SELECTED AREAS IN COMMUNCATIONS Presented.
Concurrency: Deadlock and Starvation
Short Story Study Session A BRIEF Review. What to Study  Literary Elements (Short Story Notes)  Raymond’s Run  A Retrieved Reformation (HONORS ONLY)
Features, Policies and Their Interactions Joanne M. Atlee Department of Computer Science University of Waterloo.
Lecture 3.1: Mathematical Induction CS 250, Discrete Structures, Fall 2014 Nitesh Saxena Adopted from previous lectures by Cinda Heeren, Zeph Grunschlag.
Chapter 5 Operating System Support. Outline Operating system - Objective and function - types of OS Scheduling - Long term scheduling - Medium term scheduling.
Exam2 Review Bernard Chen Spring Deadlock Example semaphores A and B, initialized to 1 P0 P1 wait (A); wait(B) wait (B); wait(A)
3. Counting Permutations Combinations Pigeonhole principle Elements of Probability Recurrence Relations.
A Power Grid Analysis and Verification Tool Based on a Statistical Prediction Engine M.K. Tsiampas, D. Bountas, P. Merakos, N.E. Evmorfopoulos, S. Bantas.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Tracking Irregularly Moving Objects based on Alert-enabling Sensor Model in Sensor Networks 1 Chao-Chun Chen & 2 Yu-Chi Chung Dept. of Information Management.
PAPER BY JONATHAN MUGAN & BENJAMIN KUIPERS PRESENTED BY DANIEL HOUGH Learning Distinctions and Rules in a Continuous World through Active Exploration.
Presented By Dr. Mohsen Alardhi College of Technological Studies, Kuwait April 19 th,2009.
Discrete Event Simulation & VHDL Prof. K. J. Hintz Dept. of Electrical and Computer Engineering George Mason University.
Chapter 15: Transactions Loc Hoang CS 157B. Definition n A transaction is a discrete unit of work that must be completely processed or not processed at.
Xiao Liu 1, Yun Yang 1, Jinjun Chen 1, Qing Wang 2, and Mingshu Li 2 1 Centre for Complex Software Systems and Services Swinburne University of Technology.
DO LOCAL MODIFICATION RULES ALLOW EFFICIENT LEARNING ABOUT DISTRIBUTED REPRESENTATIONS ? A. R. Gardner-Medwin THE PRINCIPLE OF LOCAL COMPUTABILITY Neural.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
A Generalized Architecture for Bookmark and Replay Techniques Thesis Proposal By Napassaporn Likhitsajjakul.
13.3 Corporate Information Systems Strategy Chapter 20 Pg 229.
Simulation Chapter 16 of Quantitative Methods for Business, by Anderson, Sweeney and Williams Read sections 16.1, 16.2, 16.3, 16.4, and Appendix 16.1.
1 Chapter 8: Model Inference and Averaging Presented by Hui Fang.
 Simulation enables the study of complex system.  Simulation is a good approach when analytic study of a system is not possible or very complex.  Informational,
CE Operating Systems Lecture 8 Process Scheduling continued and an introduction to process synchronisation.
Deadlocks Copyright ©: University of Illinois CS 241 Staff1.
9/29/2011Lecture Strong Induction1 Lecture 3.2: Strong Induction CS 250, Discrete Structures, Fall 2011 Nitesh Saxena *Adopted from previous lectures.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
9/27/2011 Lecture Mathematical Induction1 Lecture 3.1: Mathematical Induction* CS 250, Discrete Structures, Fall 2011 Nitesh Saxena *Adopted from.
Chapter 7 – Deadlock and Indefinite Postponement
Chapter 12: Concurrency, Deadlock and Starvation
ICS 143 Principles of Operating Systems
Chapter 7 Deadlocks.
Chapter 7: Deadlocks.
Patterns of Thinking and Writing
Lecture 3.1: Mathematical Induction
Lecture 3.1: Mathematical Induction
CSE 542: Operating Systems
Presentation transcript:

Discrete Event System Modeling and Simulation in Metropolis Guang Yang 12/10/2004

Outline Separation of Capability and Cost Quantity Manager and Quantity Annotation Discrete Event Systems in Metropolis Discrete Event Systems Simulation Challenges Conclusion and Future Work

Capability v.s. Cost One of the pairs of concerns whose orthogonalization increases model reusability Capability: a sequence of events Cost: captured by various quantities Instruction Set Pentium4Atholon ……

Capability v.s. Cost in TSM Capability: Cost: (v1,  ) (v2,  ) … (vn,  ) Interface function: write_fifo(w){ (v1,  ) (v2,  ) … (vn,  ) } m-event : tag =  (v1, 0) (v2,  ) … (vn, 10) Interface function: write_fifo(w){ (v1, 0) (v2,  ) … (vn, 10) }  10 time units costs correspond to tags

Quantity Annotation & Quantity Manager Quantity Annotation (v1,  ) (v1, 0) Time Quantity Manager requestannotate resolve Quantity Manager Data type Functions Axioms

Discrete Event Systems in Metropolis Tag is the key Process 1 (v11, 0) (v12,  ) … (v1n, 10) Process 2 (v21,  ) (v22, 4) … (v2n, 8) Process 3 (v31, 2) (v32, 5) … (v3n,  ) Time Quantity Manager

Discrete Event Systems Simulation Formally, N processes p1, p2, …, pN N m-event sequences me 1, me 2, …, me N Annotated tag for the i’th m-event in me j,T[me j (i)] The most recent but prior to the i’th annotated m-event in me j The next annotated m-event in me j after the i’th m-event

DES Simulation (cont) is the segment of m-events that could be interleaved with other m-events from other processes In order for and to be arbitrarily interleaved, the following condition must be satisfied The end point e.g. can join the interleaving if it falls into the other segment

DES Simulation (cont) Simulation proceeds round by round. At each round, each process issues one m- event or event. Based on time tags information and other constraints (e.g. mutual exclusion, simultaneity), disable some of (m-)events and let the rest run.

DES Simulation (cont) An example Process 1 (v11, 0) (v12,  ) … (v1n, 10) Process 2 (v21,  ) (v22, 4) … (v2n, 8) Process 3 (v31, 2) (v32, 5) … (v3n,  ) Time Quantity Manager

Challenges No history information  No rollback No future information  Cannot avoid rollback if do blind interleaving

Solution Postpone interleaving until there is enough information Whenever there is a m-event, let it run. Resolve time quantity only if all processes come to events or m-events get stuck

Example Process 1 (v11, 0) (v12,  ) … (v1n, 10) Process 2 (v21,  ) (v22, 4) … (v2n, 8) Process 3 (v31, 2) (v32, 5) … (v3n,  ) Time Quantity Manager

Solution Postpone interleaving until there is enough information Whenever there is a m-event, let it run. Resolve time quantity only if all processes come to events or events get stuck Works but not so efficient Waste on constraint resolution Increase the number of simulation rounds

Get hints from designers Identify regularities in the tags Periodical tasks Tasks with latency/rate constraints … Introduce built-in logic of constraints (LOC) to be able to predict future period(event, p) maxrate/minrate(event1, event2, r) maxlatency/minlatency(event1, event2, r)

Quantity Annotation & Quantity Manager Quantity Annotation (v1,  ) (v1, 0) Time Quantity Manager requestannotate resolve Quantity Manager Data type Functions Axioms Built-in LOC

Experiments P0 write(w) (10) P1 write(w) (10) C read() (15) M Time Quantity Manager

Simulation Statistics Postpone interleaving Number of Scheduling Rounds Done by Simulation Manager: 2120 Average Number of RUN Processes Scheduled per Scheduling Round: Total Simulation Time: us Built-in loc Number of Scheduling Rounds Done by Simulation Manager: 1168 Average Number of RUN Processes Scheduled per Scheduling Round: Total Simulation Time: us

Conclusion and Future Work Formally analyze the simulation strategy Identify problems in terms of simulation efficiency Discuss the possible solutions Future work: Are there better solutions to the efficiency problem? How to co-simulate Metropolis DES with external CT/Hybrid system simulators?

Thank you!!! Questions?