Split Queue Time Warp and a Flexible Distributed Simulation System

Size: px
Start display at page:

Download "Split Queue Time Warp and a Flexible Distributed Simulation System"

Transcription

1 Split Queue Time Warp and a Flexible Distributed Simulation System Helge Hagenauer and Werner Pohlmann 1. Discrete Event Simulation and its Parallelization Simulation belongs to the oldest computer applications: using a model for quasi-empirical studies is a cost-effecive and sometimes unique way of analysing a real sytem and getting a basis for decisions. A more recent purpose is to build virtual environments for training or entertainment. There is a variety of modeling approaches and computational techniques. Discrete event simulation, which is our subject here, considers the dynamics of the object system as a sequence of instantaneous state transformations called events. (Queueing systems are a classic example, with events like a job entering or leaving a queue.) In this abstraction, nothing happens between event times, so that the simulation skips the intervals. Computation time and simulated time thus become independent concepts: the computer dedicates its time and efforts to the events which, in reality, have no duration at all. This orthogonality has two important consequences. First, a computer simulation can be orders of magnitude faster or slower than the real thing; this depends on the frequency of events and their computational cost. Second, to make simulated time go on, there must always be a future event to continue with. Event processing therefore has the additional obligation to deduce subsequent events from the current state of affairs. (In a queueing example, the event of a job entering service may imply leaving it some definite time later.) Such future events are then managed in the event list (calendar, agenda,... ), a priority queue of what-when pairs ordered by time-stamps, where the foremost entry defines the current event and the current time. The principal motive of parallel and distributed simulation (PADS for short; more comprehensive presentations can be found in [11], [4] or [5]) is speed-up or, seen from a different angle, the ability to run bigger models: by subdividing a large piece of work into many small parts and having them done concurrently, side-by-side, one should get results earlier. This requires that there is enough parallizable work to outweigh the additonal effort for coordination and therefore depends on the specific example under study as well as the employed methods. A parallel/distributed simulation consists of a set of so-called logical processes (LPs), each of which represents a different part of the modelled system. There is no global state, and the LPs exclusively interact via message passing. These messages correspond to the event notices in the event list in the sequential algorithm; on the receiver side, they are put into a queue and worked off in nondecreasing timestamp order, with the head of the queue defining the local simulated time (or local virtual time, LVT) of the receiving LP. Since there are as many such queues and times as LPs, the analogy with the sequential case does not extend to the whole picture. Indeed: in the interest of speed, one must not try to keep all LPs at the same instance of time since a single moment rarely allows much concurrency. Instead, one exploits Fachbereich Scientific Computing, Universität Salzburg, Jakob-Haringer-Straße 2, A-5020 Salzburg, Austria, hagenau@cosy.sbg.ac.at, pohlmann@cosy.sbg.ac.at

2 that the causal order, i.e. the dependence of events on other events, in a model usually is much sparser than the temporal order. So the general idea is to only locally ensure that events are processed in time-stamp order. But for loosely coupled processes, this seemingly weak requirement is a problem: to process the first event from its input queue, the LP must know that it will never receive an event message with a still smaller timestamp. There are two principal methods of dealing with this difficulty, the conservative and the optimistic one (also known as time warp ): In the conservative approach, a LP waits until it has received messages from all LPs that may communicate with it; assuming that messages from the same source arrive in timestamp order, the LP can then safely process the message with minimal timestamp. This waiting rule, when applied to all LPs, is an open invitation to deadlock. There are several ways out. One possibility is the addition of socalled null messages which do not inform about events but, on the contrary, guarantee their absence until a given time; another strategy is to iteratively compute safe time windows. In the other main approach, LPs never wait for possible further messages but proceed on the basis of whatever has been received so far. This optimistic behaviour is free from deadlock, but runs the risk of getting ahead of relevant input and thus producing errors. So if and when a LP receives input that should have been considered earlier, it must rollback to a former state and cancel its unjustified interim output, thereby possibly inducing rollbacks elsewhere. Clearly, both these solutions have their drawbacks, and they can be shown to be intolerably inefficient on malicious examples. In both cases, several variants and amendments have been proposed and studied. Both methods can be shown to be correct (i.e. to make progress) in a rather direct way, but there is a mathematically more involved and more instructive alternative (cf.[12]): The LPs that make up a parallel/distributed simulation produce virtually infinite streams of event/time messages from input streams of the same type so that the overall task of the simulation appears as a fixed point problem in a somewhat unusual domain. Under reasonable restrictions (like that events are nowhere dense on the time axis) the domain of streams of event/time information can be seen to bear two classical mathematical structures with notions of convergence, which nicely correspond to the two fundamental PADS algorithms. Metric convergence and Banach s fixed point theorem lead to the optimistic variant (indeed, a classic relaxation approach), and convergence in the sense of complete partial orders and Kleene s fixed point theorem leads to the conservative variant (with its characteristic monotonicity). In both cases, the standard iteration of the fixed point theorems is replaced by its asynchronous or chaotic variant as described in [1] and [3] for the parallel/distributed solution of numerical and other problems. 2. Split Queue Time Warp Considering LPs as stream processing functions, we of course mean computable (programmed) functions that produce finite initial parts of their output stream from finite initial parts of their input streams. The exact relationship between those two how much output for how much input is relevant and depends on properties of the modelled system as well as on how these are reflected in the actual programming. An example is the classic requirement in conservative PADS that a model, and then its LP programs, must possess lookahead : an LP having read messages up to time t (i.e. LVT is t) will henceforth only produce messages with timestamp greater or equal t + d for some 2

3 positive constant d. Reversing the perspective, one can ask whether a LP has needed all its hitherto consumed input to produce its actual outward behaviour. Or whether additional past input would have led to additional output messages or even changed/canceled actual output. Clearly, this type of question is relevant for the optimistic method, where rollbacks and especially cascades of them form a major cost and should be avoided. In Salzburg, we studied the latter of these questions and used it for a generalisation of time warp. In standard time warp, henceforth called TW, LPs are programmed to process incoming event messages in strict timestamp order. This strategy is safe but possibly overcautious since a temporally next message may be completely irrelevant for the next move of the receiving LP. A typical case is synchronisation of model elements. Example: consider taxi-cabs and customers arriving at a taxi stand (see figure 1). If there already is a customer present, the next output of the taxi-stand LP depends on the availability of a free taxi and not on the arrival of more customers. Consequently, in this state, the LP may ignore incoming messages that denote customer arrivals and instead look for a message that denotes a returning taxi. (Note that in this situation, processing a customer messsage would just copy the information into some internal data structure.) Figure 1. Taxi stand example: TW strategy causes superfluous rollback Such state-dependent postponement of message consumption is beneficial because in a time-warp context incoming messages may be poisoned, i.e. still out of order (because other LPs or messages lag behind) or even incorrect, and may thus cause a rollback. Split Queue Time Warp, SQTW, [7], 3

4 avoids the superfluous rollback by making message reception lazy or by need. To this end, a LP may own several input queues instead of one, and different queues correspond to different message types so that waiting for a certain kind of message is possible (see figure 2). The basic no-wait/errorrecovery approach of time warp can be generalised to work with the new arrangement; the need for rollbacks is now discovered by comparing changes in the input queues against how far the respective queues were already read. I.e. the past of a LP is now delimited by a vector of temporal values (each of which give the timestamp of the most recently read message of the respective queue), whereas its future (where its own messages are sent) is defined by the maximum of these values. Or, to put it differently, we now have a local form of asynchrony in addition to the asynchrony across the LPs. Figure 2. Taxi stand example: SQTW strategy without rollback 3. A Flexible Simulation System We implemented prototypes of SQTW in Ada 95 and in Java. Experiments showed that SQTW can indeed reduce the number of rollbacks and thus outperform TW on suitable examples. Assured by these experiences, we built a completely new framework that allows to apply different discrete event simulation algorithms to the same software realisation of a simulation model. Clearly, TW is a specialisation of SQTW, and we can execute a model programmed for SQTW by TW as well - by merging the different queues into one and simplifying some things in the background. But not the other way round, because a SQTW LP must make state-depending choices of the type of input message it wants next! Furthermore, we wanted to include classic sequential (event-list) simulation, for validation of models or because it can be preferable in some contexts. 4

5 Our new design, in its present state, offers TW, SQTW and sequential simulation; other posibilities will be considered in future. The architecture strongly relies on object oriented techniques and, especially, design patterns ([6]). We use Java as implementation language, but possibly will produce an Ada version as well as soon as the next revision of the language expands its OO support (esp.provide an equivalent of Java s interface construct). In our framework, we assume LPs of small granularity so that many LPs are mapped to the same computer. Consequently, they are grouped into submodels each of which is directed by a submodel-manager which, as a parameter, gets a strategy for scheduling its LPs. To facilitate this scheduling, our LPs are not threads but objects that offer a single-step method to be called iteratively from outside, by the submodel-manager. As regards the separation of simulation methods and model definitions, we achieve the sought-for flexibility by the introduction of two class hierarchies (cf. the bridge pattern in [6]). The first hierarchy (let us use the term LP for its elements) defines types that provide the communication and simulation machinery (but nothing descriptive), and the second hierarchy is for model-specific information, i.e. describes the parts of the sytem under study. Let us use the term model entity, or ME, for this second family of classes. As indicated above, different simulation mechanisms (LP classes) have different demands on what they must know about the model entity (ME) they run: a rollbackable LP e.g. must be able to save (part of) ME state for possible rollbacks. We therefore add a third hierarchy of adapter classes that define suitably enriched interfaces of MEs. Like MEs, concrete adapters are modeler s responsibility, and they must be defined in close relation to the ME in question. It is tempting to place a maximal interface into the root class of the ME hierarchy and give trivial semantics to its methods, but further addition of supported simulation mechanisms might contradict this supposed maximality. On the other hand, the content of adapters could be appended to LPs in a further subclassing step; but we think that combination rather than subclassing gives complete flexibility (adapter and LP class hierarchies will not be exactly parallel) without danger of confounding different concerns. Figure 3 contains a sketch of the class diagram; we comment on some main points: MEs look like traditional event-oriented simulators; they comprise a state and some statetransforming operations. These operations are triggered by the receipt of messages, and the modeler has the obligation to implement an execute method for every type of message that may be sent to the ME. As regards the choice of the appropriate operation: we use the Command Pattern ([6], [10]) for message communication, and the action to be bound to a message depends on both the specific message type and the receiver type, i.e. we use double dispatch. In defining operations, the modeller can use a send_message method that is inherited from abstract_model_entity and implemented there by delegation to the associated LP (which contains the ultimate implementation of send_message via invoking receive_message on the destination LP and saving a copy for rollbacks). The LP hierarchy starts with an abstraction split into two levels to mark the difference between receive_message, which is called remotely by other LPs, and do_step and send_message, which are called only locally by the submodel manager respectively the associated ME. These three operations make up the LP interface (apart from installation methods which we do not discuss here); the following levels of the class hierarchy are for implementation only. In the SQTW case, the main attributes are a mailbox for incoming messages (a monitor object to deal with concurrent calls on receive_message), a state stack for rollbacks and an output buffer to remember sent messages for the same purpose. do_step is broken down into 5

6 Figure 3. Class structure 1. read messages from mailbox and sort them into appropriate queues, using the help of the associated adapter, 2. check consistency which leads to either rollback or state-saving, 3. execute next message(delegate to adapter/me for for selection). Adapters have to provide LPs with means of placing incoming messages into queues (one in TW, several in SQTW) and choosing the next-to-be-processed message (by timestamp in TW or other, e.g. state and type considerations in SQTW). They additionally implement the memento pattern to let the LP save/restore the relevant part of ME s mutable state for rollbacks. 6

7 References [1] D. Bertsekas and J. Tsitsiklis, Paralleland Distributed Computation: Numerical Methods, Englewood Cliffs, Prentice Hall, [2] A. Burns and A. Wellings, Concurrency in Ada. Cambridge University Press, New York, [3] K. N. Chandy and J. Misra, Parallel Program Design. Addison-Wesley, Reading, Ma., [4] A. Ferscha,. Parallel and Distributed Simulation of Discrete Event Systems, Parallel and Distributed Computing Handbook (A.Y. Zomaya ed.), Mc Graw-Hill, [5] R. M. Fujimoto,. Parallel and Distributed Discrete Event Simulation, Wiley, New York, [6] E. Gamma, R. Helm, R. Johnson and J. Vlissides, Design Patterns Elements of Reusable Object-Oriented Software, Addison Wesley, [7] H. Hagenauer and W. Pohlmann, Making Asynchronous Simulation More Asynchronous, Proc. 10th European Simulation Conference, Budapest, [8] H. Hagenauer and W. Pohlmann, Ada 95 for a Distributed Simulation System, Proc. Conference Reliable Sortware Technologies - Ada-Europe 98 (Lars Asplund ed.), Uppsala, Lecture Notes in Computer Science 1411, Springer, [9] D. R. Jefferson, Virtual Time, ACM TOPLAS, 7, pp , [10] B. Meyer, Object-Oriented Software Construction, Prentice Hall, [11] J. Misra, Distributed Discrete Event Simulation, ACM Computing Surveys, 18(1), p.39-65, [12] W. Pohlmann, A Fixed Point Approach to Parallel Discrete Event Simulation, acta informatica 28, p ,

Parallel and Distributed VHDL Simulation

Parallel and Distributed VHDL Simulation Parallel and Distributed VHDL Simulation Dragos Lungeanu Deptartment of Computer Science University of Iowa C.J. chard Shi Department of Electrical Engineering University of Washington Abstract This paper

More information

Parallel Discrete Event Simulation

Parallel Discrete Event Simulation Parallel Discrete Event Simulation Dr.N.Sairam & Dr.R.Seethalakshmi School of Computing, SASTRA Univeristy, Thanjavur-613401. Joint Initiative of IITs and IISc Funded by MHRD Page 1 of 8 Contents 1. Parallel

More information

Rollback Overhead Reduction Methods for Time Warp Distributed Simulation

Rollback Overhead Reduction Methods for Time Warp Distributed Simulation Rollback Overhead Reduction Methods for Time Warp Distributed Simulation M.S. Balsamo and C. Manconi* Dipartimento di Matematica e Informatica, University of Udine Vial delle Scienze 108, Udine, Italy,

More information

Lookahead Accumulation in Conservative Parallel Discrete Event Simulation.

Lookahead Accumulation in Conservative Parallel Discrete Event Simulation. Lookahead Accumulation in Conservative Parallel Discrete Event Simulation. Jan Lemeire, Wouter Brissinck, Erik Dirkx Parallel Systems lab, Vrije Universiteit Brussel (VUB) Brussels, Belgium {jlemeire,

More information

Concurrent Object-Oriented Development with Behavioral Design Patterns

Concurrent Object-Oriented Development with Behavioral Design Patterns Concurrent Object-Oriented Development with Behavioral Design Patterns Benjamin Morandi 1, Scott West 1, Sebastian Nanz 1, and Hassan Gomaa 2 1 ETH Zurich, Switzerland 2 George Mason University, USA firstname.lastname@inf.ethz.ch

More information

Chair for Network Architectures and Services Prof. Carle Department of Computer Science TU München. Parallel simulation

Chair for Network Architectures and Services Prof. Carle Department of Computer Science TU München. Parallel simulation Chair for Network Architectures and Services Prof. Carle Department of Computer Science TU München Parallel simulation Most slides/figures borrowed from Richard Fujimoto Parallel simulation: Summary/Outline

More information

PARALLEL QUEUING NETWORK SIMULATION WITH LOOKBACK- BASED PROTOCOLS

PARALLEL QUEUING NETWORK SIMULATION WITH LOOKBACK- BASED PROTOCOLS PARALLEL QUEUING NETWORK SIMULATION WITH LOOKBACK- BASED PROTOCOLS Gilbert G. Chen and Boleslaw K. Szymanski Department of Computer Science, Rensselaer Polytechnic Institute 110 Eighth Street, Troy, NY

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 20 GoF Design Patterns Behavioral Department of Computer Engineering Sharif University of Technology 1 GoF Behavioral Patterns Class Class Interpreter: Given a language,

More information

Distributed Simulation of Large Computer Systems

Distributed Simulation of Large Computer Systems Distributed Simulation of Large Computer Systems Moreno Marzolla Univ. di Venezia Ca Foscari Dept. of Computer Science and INFN Padova Email: marzolla@dsi.unive.it Web: www.dsi.unive.it/ marzolla Moreno

More information

Event List Management In Distributed Simulation

Event List Management In Distributed Simulation Event List Management In Distributed Simulation Jörgen Dahl ½, Malolan Chetlur ¾, and Philip A Wilsey ½ ½ Experimental Computing Laboratory, Dept of ECECS, PO Box 20030, Cincinnati, OH 522 0030, philipwilsey@ieeeorg

More information

Control Message. Abstract. Microthread pattern?, Protocol pattern?, Rendezvous pattern? [maybe not applicable yet?]

Control Message. Abstract. Microthread pattern?, Protocol pattern?, Rendezvous pattern? [maybe not applicable yet?] Control Message An Object Behavioral Pattern for Managing Protocol Interactions Joe Hoffert and Kenneth Goldman {joeh,kjg@cs.wustl.edu Distributed Programing Environments Group Department of Computer Science,

More information

CSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich

CSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich CSCD01 Engineering Large Software Systems Design Patterns Joe Bettridge Winter 2018 With thanks to Anya Tafliovich Design Patterns Design patterns take the problems consistently found in software, and

More information

Microthread. An Object Behavioral Pattern for Managing Object Execution. 1.0 Intent. 2.0 Also Known As. 3.0 Classification. 4.0 Motivation/Example

Microthread. An Object Behavioral Pattern for Managing Object Execution. 1.0 Intent. 2.0 Also Known As. 3.0 Classification. 4.0 Motivation/Example Microthread An Object Behavioral Pattern for Managing Object Execution Joe Hoffert and Kenneth Goldman {joeh,kjg}@cs.wustl.edu Distributed Programing Environments Group Department of Computer Science,

More information

DISTRIBUTED HIGH-SPEED COMPUTING OF MULTIMEDIA DATA

DISTRIBUTED HIGH-SPEED COMPUTING OF MULTIMEDIA DATA DISTRIBUTED HIGH-SPEED COMPUTING OF MULTIMEDIA DATA M. GAUS, G. R. JOUBERT, O. KAO, S. RIEDEL AND S. STAPEL Technical University of Clausthal, Department of Computer Science Julius-Albert-Str. 4, 38678

More information

Timestamps and authentication protocols

Timestamps and authentication protocols Timestamps and authentication protocols Chris J. Mitchell Technical Report RHUL MA 2005 3 25 February 2005 Royal Holloway University of London Department of Mathematics Royal Holloway, University of London

More information

Other Optimistic Mechanisms, Memory Management!

Other Optimistic Mechanisms, Memory Management! Other Optimistic Mechanisms, Memory Management! Richard M. Fujimoto! Professor!! Computational Science and Engineering Division! College of Computing! Georgia Institute of Technology! Atlanta, GA 30332-0765,

More information

Topology and Topological Spaces

Topology and Topological Spaces Topology and Topological Spaces Mathematical spaces such as vector spaces, normed vector spaces (Banach spaces), and metric spaces are generalizations of ideas that are familiar in R or in R n. For example,

More information

An Empirical Performance Study of Connection Oriented Time Warp Parallel Simulation

An Empirical Performance Study of Connection Oriented Time Warp Parallel Simulation 230 The International Arab Journal of Information Technology, Vol. 6, No. 3, July 2009 An Empirical Performance Study of Connection Oriented Time Warp Parallel Simulation Ali Al-Humaimidi and Hussam Ramadan

More information

System Models 2. Lecture - System Models 2 1. Areas for Discussion. Introduction. Introduction. System Models. The Modelling Process - General

System Models 2. Lecture - System Models 2 1. Areas for Discussion. Introduction. Introduction. System Models. The Modelling Process - General Areas for Discussion System Models 2 Joseph Spring School of Computer Science MCOM0083 - Distributed Systems and Security Lecture - System Models 2 1 Architectural Models Software Layers System Architecture

More information

Continuous Real Time Data Transfer with UDP/IP

Continuous Real Time Data Transfer with UDP/IP Continuous Real Time Data Transfer with UDP/IP 1 Emil Farkas and 2 Iuliu Szekely 1 Wiener Strasse 27 Leopoldsdorf I. M., A-2285, Austria, farkas_emil@yahoo.com 2 Transilvania University of Brasov, Eroilor

More information

Concurrent & Distributed Systems Supervision Exercises

Concurrent & Distributed Systems Supervision Exercises Concurrent & Distributed Systems Supervision Exercises Stephen Kell Stephen.Kell@cl.cam.ac.uk November 9, 2009 These exercises are intended to cover all the main points of understanding in the lecture

More information

FUZZY BOOLEAN ALGEBRAS AND LUKASIEWICZ LOGIC. Angel Garrido

FUZZY BOOLEAN ALGEBRAS AND LUKASIEWICZ LOGIC. Angel Garrido Acta Universitatis Apulensis ISSN: 1582-5329 No. 22/2010 pp. 101-111 FUZZY BOOLEAN ALGEBRAS AND LUKASIEWICZ LOGIC Angel Garrido Abstract. In this paper, we analyze the more adequate tools to solve many

More information

IMPROVING PERFORMANCE OF PARALLEL SIMULATION KERNEL FOR WIRELESS NETWORK SIMULATIONS

IMPROVING PERFORMANCE OF PARALLEL SIMULATION KERNEL FOR WIRELESS NETWORK SIMULATIONS IMPROVING PERFORMANCE OF PARALLEL SIMULATION KERNEL FOR WIRELESS NETWORK SIMULATIONS M. Thoppian, S. Venkatesan, H. Vu, R. Prakash, N. Mittal Department of Computer Science, The University of Texas at

More information

Modeling and Simulating Discrete Event Systems in Metropolis

Modeling and Simulating Discrete Event Systems in Metropolis Modeling and Simulating Discrete Event Systems in Metropolis Guang Yang EECS 290N Report December 15, 2004 University of California at Berkeley Berkeley, CA, 94720, USA guyang@eecs.berkeley.edu Abstract

More information

Coordination and Agreement

Coordination and Agreement Coordination and Agreement 12.1 Introduction 12.2 Distributed Mutual Exclusion 12.4 Multicast Communication 12.3 Elections 12.5 Consensus and Related Problems AIM: Coordination and/or Agreement Collection

More information

CPS221 Lecture: Threads

CPS221 Lecture: Threads Objectives CPS221 Lecture: Threads 1. To introduce threads in the context of processes 2. To introduce UML Activity Diagrams last revised 9/5/12 Materials: 1. Diagram showing state of memory for a process

More information

Scaling Optimistic Concurrency Control by Approximately Partitioning the Certifier and Log

Scaling Optimistic Concurrency Control by Approximately Partitioning the Certifier and Log Scaling Optimistic Concurrency Control by Approximately Partitioning the Certifier and Log Philip A. Bernstein Microsoft Research Redmond, WA, USA phil.bernstein@microsoft.com Sudipto Das Microsoft Research

More information

Design Patterns. SE3A04 Tutorial. Jason Jaskolka

Design Patterns. SE3A04 Tutorial. Jason Jaskolka SE3A04 Tutorial Jason Jaskolka Department of Computing and Software Faculty of Engineering McMaster University Hamilton, Ontario, Canada jaskolj@mcmaster.ca November 18/19, 2014 Jason Jaskolka 1 / 35 1

More information

Implementation of Process Networks in Java

Implementation of Process Networks in Java Implementation of Process Networks in Java Richard S, Stevens 1, Marlene Wan, Peggy Laramie, Thomas M. Parks, Edward A. Lee DRAFT: 10 July 1997 Abstract A process network, as described by G. Kahn, is a

More information

A Case Study for HRT-UML

A Case Study for HRT-UML A Case Study for HRT-UML Massimo D Alessandro, Silvia Mazzini, Francesco Donati Intecs HRT, Via L. Gereschi 32, I-56127 Pisa, Italy Silvia.Mazzini@pisa.intecs.it Abstract The Hard-Real-Time Unified Modelling

More information

Optimistic Parallel Simulation of TCP/IP over ATM networks

Optimistic Parallel Simulation of TCP/IP over ATM networks Optimistic Parallel Simulation of TCP/IP over ATM networks M.S. Oral Examination November 1, 2000 Ming Chong mchang@ittc.ukans.edu 1 Introduction parallel simulation ProTEuS Agenda Georgia Tech. Time Warp

More information

Coordination and Agreement

Coordination and Agreement Coordination and Agreement Nicola Dragoni Embedded Systems Engineering DTU Informatics 1. Introduction 2. Distributed Mutual Exclusion 3. Elections 4. Multicast Communication 5. Consensus and related problems

More information

Executive Summary. It is important for a Java Programmer to understand the power and limitations of concurrent programming in Java using threads.

Executive Summary. It is important for a Java Programmer to understand the power and limitations of concurrent programming in Java using threads. Executive Summary. It is important for a Java Programmer to understand the power and limitations of concurrent programming in Java using threads. Poor co-ordination that exists in threads on JVM is bottleneck

More information

Thirty one Problems in the Semantics of UML 1.3 Dynamics

Thirty one Problems in the Semantics of UML 1.3 Dynamics Thirty one Problems in the Semantics of UML 1.3 Dynamics G. Reggio R.J. Wieringa September 14, 1999 1 Introduction In this discussion paper we list a number of problems we found with the current dynamic

More information

Components Based Design and Development. Unit 3: Software Design Quick Overview

Components Based Design and Development. Unit 3: Software Design Quick Overview Components Based Design and Development Computer Engineering Studies Universidad Carlos III de Madrid Unit 3: Software Design Quick Overview Juan Llorens Högskolan på Åland Finland / Universidad Carlos

More information

Evaluating OO-CASE tools: OO research meets practice

Evaluating OO-CASE tools: OO research meets practice Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht

More information

Part V. Process Management. Sadeghi, Cubaleska RUB Course Operating System Security Memory Management and Protection

Part V. Process Management. Sadeghi, Cubaleska RUB Course Operating System Security Memory Management and Protection Part V Process Management Sadeghi, Cubaleska RUB 2008-09 Course Operating System Security Memory Management and Protection Roadmap of Chapter 5 Notion of Process and Thread Data Structures Used to Manage

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

General properties of staircase and convex dual feasible functions

General properties of staircase and convex dual feasible functions General properties of staircase and convex dual feasible functions JÜRGEN RIETZ, CLÁUDIO ALVES, J. M. VALÉRIO de CARVALHO Centro de Investigação Algoritmi da Universidade do Minho, Escola de Engenharia

More information

Introduction to Real-Time Systems ECE 397-1

Introduction to Real-Time Systems ECE 397-1 Introduction to Real-Time Systems ECE 97-1 Northwestern University Department of Computer Science Department of Electrical and Computer Engineering Teachers: Robert Dick Peter Dinda Office: L477 Tech 8,

More information

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

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Dataflow Lecture: SDF, Kahn Process Networks Stavros Tripakis University of California, Berkeley Stavros Tripakis: EECS

More information

Topics in Object-Oriented Design Patterns

Topics in Object-Oriented Design Patterns Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;

More information

Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS

Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS Structure Page Nos. 2.0 Introduction 4 2. Objectives 5 2.2 Metrics for Performance Evaluation 5 2.2. Running Time 2.2.2 Speed Up 2.2.3 Efficiency 2.3 Factors

More information

SIMULATIONS. PACE Lab, Rockwell Collins, IMPROVING PERFORMANCE OF PARALLEL SIMULATION KERNEL FOR WIRELESS NETWORK

SIMULATIONS. PACE Lab, Rockwell Collins, IMPROVING PERFORMANCE OF PARALLEL SIMULATION KERNEL FOR WIRELESS NETWORK IMPROVING PERFORMANCE OF PARALLEL SIMULATION KERNEL FOR WIRELESS NETWORK SIMULATIONS M. Thoppian, S. Venkatesan, H. Vu, R. Prakash, N. Mittal Department of Computer Science, The University of Texas at

More information

Lecture 2 Process Management

Lecture 2 Process Management Lecture 2 Process Management Process Concept An operating system executes a variety of programs: Batch system jobs Time-shared systems user programs or tasks The terms job and process may be interchangeable

More information

Principles of Parallel Algorithm Design: Concurrency and Mapping

Principles of Parallel Algorithm Design: Concurrency and Mapping Principles of Parallel Algorithm Design: Concurrency and Mapping John Mellor-Crummey Department of Computer Science Rice University johnmc@rice.edu COMP 422/534 Lecture 3 28 August 2018 Last Thursday Introduction

More information

Coordination Patterns

Coordination Patterns Coordination Patterns 1. Coordination Patterns Design Patterns and their relevance for Coordination Oscar Nierstrasz Software Composition Group Institut für Informatik (IAM) Universität Bern oscar@iam.unibe.ch

More information

6.001 Notes: Section 6.1

6.001 Notes: Section 6.1 6.001 Notes: Section 6.1 Slide 6.1.1 When we first starting talking about Scheme expressions, you may recall we said that (almost) every Scheme expression had three components, a syntax (legal ways of

More information

Object Oriented Paradigm

Object Oriented Paradigm Object Oriented Paradigm Ming-Hwa Wang, Ph.D. Department of Computer Engineering Santa Clara University Object Oriented Paradigm/Programming (OOP) similar to Lego, which kids build new toys from assembling

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 20: GoF Design Patterns Creational 1 Software Patterns Software Patterns support reuse of software architecture and design. Patterns capture the static

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

Design Aspects of the Standard I/O Library. Design with Java:

Design Aspects of the Standard I/O Library. Design with Java: Design Aspects of the Standard I/O Library Design with Java: QUOIN 1208 Massachusetts Avenue, Suite 3 Cambridge, Massachusetts 02138 tel: 617.492.6461 fax: 617.492.6461 email: info@quoininc.com web: www.quoininc.com

More information

Computing Global Virtual Time!

Computing Global Virtual Time! Computing Global Virtual Time Issues and Some Solutions Richard M. Fujimoto Professor Computational Science and Engineering Division College of Computing Georgia Institute of Technology Atlanta, GA 30332-0765,

More information

Summary of the course lectures

Summary of the course lectures Summary of the course lectures 1 Components and Interfaces Components: Compile-time: Packages, Classes, Methods, Run-time: Objects, Invocations, Interfaces: What the client needs to know: Syntactic and

More information

Crises Management in Multiagent Workflow Systems

Crises Management in Multiagent Workflow Systems Crises Management in Multiagent Workflow Systems Małgorzata Żabińska Department of Computer Science, AGH University of Science and Technology, al. Mickiewicza 30, 30-059 Kraków, Poland zabinska@agh.edu.pl

More information

Managing test suites for services

Managing test suites for services Managing test suites for services Kathrin Kaschner Universität Rostock, Institut für Informatik, 18051 Rostock, Germany kathrin.kaschner@uni-rostock.de Abstract. When developing an existing service further,

More information

UNIT-IV BASIC BEHAVIORAL MODELING-I

UNIT-IV BASIC BEHAVIORAL MODELING-I UNIT-IV BASIC BEHAVIORAL MODELING-I CONTENTS 1. Interactions Terms and Concepts Modeling Techniques 2. Interaction Diagrams Terms and Concepts Modeling Techniques Interactions: Terms and Concepts: An interaction

More information

Universal Communication Component on Symbian Series60 Platform

Universal Communication Component on Symbian Series60 Platform Universal Communication Component on Symbian Series60 Platform Róbert Kereskényi, Bertalan Forstner, Hassan Charaf Department of Automation and Applied Informatics Budapest University of Technology and

More information

Removing Belady s Anomaly from Caches with Prefetch Data

Removing Belady s Anomaly from Caches with Prefetch Data Removing Belady s Anomaly from Caches with Prefetch Data Elizabeth Varki University of New Hampshire varki@cs.unh.edu Abstract Belady s anomaly occurs when a small cache gets more hits than a larger cache,

More information

JWarp: a Java library for parallel discrete-event simulations

JWarp: a Java library for parallel discrete-event simulations CONCURRENCY: PRACTICE AND EXPERIENCE Concurrency: Pract. Exper.,Vol.10(11 13), 999 1005 (1998) JWarp: a Java library for parallel discrete-event simulations PEDRO BIZARRO,LUÍS M. SILVA AND JOÃO GABRIEL

More information

Homework index. Processing resource description. Goals for lecture. Communication resource description. Graph extensions. Problem definition

Homework index. Processing resource description. Goals for lecture. Communication resource description. Graph extensions. Problem definition Introduction to Real-Time Systems ECE 97-1 Homework index 1 Reading assignment.............. 4 Northwestern University Department of Computer Science Department of Electrical and Computer Engineering Teachers:

More information

Behavioral Design Patterns Used in Data Structures Implementation

Behavioral Design Patterns Used in Data Structures Implementation Behavioral Design Patterns Used in Data Structures Implementation Niculescu Virginia Department of Computer Science Babeş-Bolyai University, Cluj-Napoca email address: vniculescu@cs.ubbcluj.ro November,

More information

L18.1 Introduction... 2

L18.1 Introduction... 2 Department of Computer Science COS121 Lecture Notes: L18 Iterator Design Pattern 8 September 2014 Copyright c 2014 by Linda Marshall and Vreda Pieterse. All rights reserved. Contents L18.1 Introduction.................................

More information

An Open System Framework for component-based CNC Machines

An Open System Framework for component-based CNC Machines An Open System Framework for component-based CNC Machines John Michaloski National Institute of Standards and Technology Sushil Birla and C. Jerry Yen General Motors Richard Igou Y12 and Oak Ridge National

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION c08classandmethoddesign.indd Page 282 13/12/14 2:57 PM user 282 Chapter 8 Class and Method Design acceptance of UML as a standard object notation, standardized approaches based on work of many object methodologists

More information

CS352 Lecture - Concurrency

CS352 Lecture - Concurrency CS352 Lecture - Concurrency Objectives: Last revised 11/16/06 1. To introduce locking as a means of preserving the serializability of concurrent schedules. 2. To briefly introduce other approaches to this

More information

Using formal methods for quality assurance of interlocking systems L.-H. Eriksson* & K. Johansson^

Using formal methods for quality assurance of interlocking systems L.-H. Eriksson* & K. Johansson^ Using formal methods for quality assurance of interlocking systems L.-H. Eriksson* & K. Johansson^ Email: lhe@l4i.se *6W%#jA AWm^^ Sweden. Email: kjell.johansson@hk. banverket.se Abstract "Formal methods"

More information

Maintaining Mutual Consistency for Cached Web Objects

Maintaining Mutual Consistency for Cached Web Objects Maintaining Mutual Consistency for Cached Web Objects Bhuvan Urgaonkar, Anoop George Ninan, Mohammad Salimullah Raunak Prashant Shenoy and Krithi Ramamritham Department of Computer Science, University

More information

Specifications and Modeling

Specifications and Modeling 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Springer, 2010 2012 年 10 月 17 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Hypothetical design

More information

1 Overview, Models of Computation, Brent s Theorem

1 Overview, Models of Computation, Brent s Theorem CME 323: Distributed Algorithms and Optimization, Spring 2017 http://stanford.edu/~rezab/dao. Instructor: Reza Zadeh, Matroid and Stanford. Lecture 1, 4/3/2017. Scribed by Andreas Santucci. 1 Overview,

More information

Notes on the Exam. Question 1. Today. Comp 104:Operating Systems Concepts 11/05/2015. Revision Lectures (separate questions and answers)

Notes on the Exam. Question 1. Today. Comp 104:Operating Systems Concepts 11/05/2015. Revision Lectures (separate questions and answers) Comp 104:Operating Systems Concepts Revision Lectures (separate questions and answers) Today Here are a sample of questions that could appear in the exam Please LET ME KNOW if there are particular subjects

More information

An Efficient Method for Constructing a Distributed Depth-First Search Tree

An Efficient Method for Constructing a Distributed Depth-First Search Tree An Efficient Method for Constructing a Distributed Depth-First Search Tree S. A. M. Makki and George Havas School of Information Technology The University of Queensland Queensland 4072 Australia sam@it.uq.oz.au

More information

Object Relationships

Object Relationships Object Relationships Objects can work together in three different types of relationships: Uses: An object can use another to do some work (association). Composition: A complex object may be composed of

More information

Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 20 Concurrency Control Part -1 Foundations for concurrency

More information

Summary: Open Questions:

Summary: Open Questions: Summary: The paper proposes an new parallelization technique, which provides dynamic runtime parallelization of loops from binary single-thread programs with minimal architectural change. The realization

More information

Read Chapter 4 of Kurose-Ross

Read Chapter 4 of Kurose-Ross CSE 422 Notes, Set 4 These slides contain materials provided with the text: Computer Networking: A Top Down Approach,5th edition, by Jim Kurose and Keith Ross, Addison-Wesley, April 2009. Additional figures

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

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

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph: System Design&Methodologies Fö - 1 System Design&Methodologies Fö - 2 Petri Nets 1. Basic Petri Net Model 2. Properties and Analysis of Petri Nets 3. Extended Petri Net Models Petri Nets Systems are specified

More information

Comp 204: Computer Systems and Their Implementation. Lecture 25a: Revision Lectures (separate questions and answers)

Comp 204: Computer Systems and Their Implementation. Lecture 25a: Revision Lectures (separate questions and answers) Comp 204: Computer Systems and Their Implementation Lecture 25a: Revision Lectures (separate questions and answers) 1 Today Here are a sample of questions that could appear in the exam Please LET ME KNOW

More information

Object-Interaction Diagrams: Sequence Diagrams UML

Object-Interaction Diagrams: Sequence Diagrams UML Object-Interaction Diagrams: Sequence Diagrams UML Communication and Time In communication diagrams, ordering of messages is achieved by labelling them with sequence numbers This does not make temporal

More information

Wrapping a complex C++ library for Eiffel. FINAL REPORT July 1 st, 2005

Wrapping a complex C++ library for Eiffel. FINAL REPORT July 1 st, 2005 Wrapping a complex C++ library for Eiffel FINAL REPORT July 1 st, 2005 Semester project Student: Supervising Assistant: Supervising Professor: Simon Reinhard simonrei@student.ethz.ch Bernd Schoeller Bertrand

More information

fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik /11/15

fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik /11/15 12 Specifications Peter Marwedel TU Dortmund, Informatik 12 2008/11/15 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Structure of this course Application Knowledge 3: Embedded System HW 2: Specifications

More information

An Approach for Federating Parallel Simulators

An Approach for Federating Parallel Simulators An Approach for Federating Parallel Simulators Steve L. Ferenci Kalyan S. Perumalla Richard M. Fujimoto College Of Computing Georgia Institute of Technology Atlanta, GA 30332-0280 {ferenci,kalyan,fujimoto}@cc.gatech.edu

More information

Concurrency Control. R &G - Chapter 19

Concurrency Control. R &G - Chapter 19 Concurrency Control R &G - Chapter 19 Smile, it is the key that fits the lock of everybody's heart. Anthony J. D'Angelo, The College Blue Book Review DBMSs support concurrency, crash recovery with: ACID

More information

Exam in TDDB84: Design Patterns,

Exam in TDDB84: Design Patterns, Exam in TDDB84: Design Patterns, 2014-10-24 14-18 Information Observe the following, or risk subtraction of points: 1) Write only the answer to one task on one sheet. Use only the front side of the sheets

More information

Abstract Path Planning for Multiple Robots: An Empirical Study

Abstract Path Planning for Multiple Robots: An Empirical Study Abstract Path Planning for Multiple Robots: An Empirical Study Charles University in Prague Faculty of Mathematics and Physics Department of Theoretical Computer Science and Mathematical Logic Malostranské

More information

Module 4: Tree-Structured Indexing

Module 4: Tree-Structured Indexing Module 4: Tree-Structured Indexing Module Outline 4.1 B + trees 4.2 Structure of B + trees 4.3 Operations on B + trees 4.4 Extensions 4.5 Generalized Access Path 4.6 ORACLE Clusters Web Forms Transaction

More information

Clustering Object-Oriented Software Systems using Spectral Graph Partitioning

Clustering Object-Oriented Software Systems using Spectral Graph Partitioning Clustering Object-Oriented Software Systems using Spectral Graph Partitioning Spiros Xanthos University of Illinois at Urbana-Champaign 0 North Goodwin Urbana, IL 680 xanthos@cs.uiuc.edu Abstract In this

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

TRANSACTION-ORIENTED SIMULATION IN AD HOC GRIDS: DESIGN AND EXPERIENCE

TRANSACTION-ORIENTED SIMULATION IN AD HOC GRIDS: DESIGN AND EXPERIENCE TRANSACTION-ORIENTED SIMULATION IN AD HOC GRIDS: DESIGN AND EXPERIENCE Gerald Krafft and Vladimir Getov Harrow School of Computer Science University of Westminster Watford Rd, Northwick Park, Harrow HA1

More information

Predicting the performance of synchronous discrete event simulation systems

Predicting the performance of synchronous discrete event simulation systems Predicting the performance of synchronous discrete event simulation systems Jinsheng Xu and Moon Jung Chung Department of Computer Science Michigan State University {xujinshe,chung}@cse.msu.edu ABSTRACT

More information

The Job-Shop Problem: Old and New Challenges

The Job-Shop Problem: Old and New Challenges Invited Speakers The Job-Shop Problem: Old and New Challenges Peter Brucker Universität Osnabrück, Albrechtstr. 28a, 49069 Osnabrück, Germany, pbrucker@uni-osnabrueck.de The job-shop problem is one of

More information

DESIGN PATTERN - INTERVIEW QUESTIONS

DESIGN PATTERN - INTERVIEW QUESTIONS DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions

More information

1

1 Zeros&asymptotes Example 1 In an early version of this activity I began with a sequence of simple examples (parabolas and cubics) working gradually up to the main idea. But now I think the best strategy

More information

Pattern Density and Role Modeling of an Object Transport Service

Pattern Density and Role Modeling of an Object Transport Service Pattern Density and Role Modeling of an Object Transport Service Dirk Riehle. SKYVA International. 25 First Street, Cambridge, MA 02129, U.S.A. E-mail: driehle@skyva.com or riehle@acm.org Roger Brudermann.

More information

32 Hyper-Threading on SMP Systems

32 Hyper-Threading on SMP Systems 32 Hyper-Threading on SMP Systems If you have not read the book (Performance Assurance for IT Systems) check the introduction to More Tasters on the web site http://www.b.king.dsl.pipex.com/ to understand

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Chapter 3 Processes. Process Concept. Process Concept. Process Concept (Cont.) Process Concept (Cont.) Process Concept (Cont.)

Chapter 3 Processes. Process Concept. Process Concept. Process Concept (Cont.) Process Concept (Cont.) Process Concept (Cont.) Process Concept Chapter 3 Processes Computers can do several activities at a time Executing user programs, reading from disks writing to a printer, etc. In multiprogramming: CPU switches from program to

More information