Preferred citation style for this presentation

Similar documents
Load Balance Strategies for DEVS Approximated Parallel and Distributed Discrete-Event Simulations

EXPERIENCES PARALLELIZING A COMMERCIAL NETWORK SIMULATOR

Final Project Report. Trading Platform Server

An Optimistic Parallel Simulation Protocol for Cloud Computing Environments

1: B asic S imu lati on Modeling

E) Modeling Insights: Patterns and Anti-patterns

Performance of Dynamic Load Balancing Algorithms for Unstructured Mesh Calculations

Chapter 18: Database System Architectures. Centralized Systems

Technical Challenges for Big Health Care Data. Donald Kossmann Systems Group Department of Computer Science ETH Zurich

Time Management in the High Level Architecture"

SQL Server 2012 Optimization, Performance Tuning and Troubleshooting

Optimizing Performance. Training Division New Delhi

Clonecloud: Elastic execution between mobile device and cloud [1]

The Advantages of AvNMP (Active Network Management Prediction)

Deadlock Detection and Recovery!

Java Environment for Parallel Realtime Development Platform Independent Software Development for Multicore Systems

Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures

Real-Time Scheduling 1 / 39

Explicit Spatial Scattering for Load Balancing in Conservatively Synchronized Parallel Discrete-Event Simulations

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

The Complete Performance Solution for Microsoft SQL Server

matsimj An Overview of the new MATSim Implementation in Java Marcel Rieser VSP, TU Berlin

A Simultaneous Solution for General Linear Equations on a Ring or Hierarchical Cluster

Running a Workflow on a PowerCenter Grid

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Distributed Data Management

Machine Learning over Big Data

In-Memory Computing for Iterative CPU-intensive Calculations in Financial Industry In-Memory Computing Summit 2015

Multi-core Curriculum Development at Georgia Tech: Experience and Future Steps

Forensic Clusters: Advanced Processing with Open Source Software. Jon Stewart Geoff Black

Investigating accessibility indicators for feedback from MATSim to UrbanSim

Incorporating Peak Spreading into a WebTAG Based Demand Model

Expanding the CASEsim Framework to Facilitate Load Balancing of Social Network Simulations

Optimization of Supply Chain Networks

Top 10 reasons your ecommerce site will fail during peak periods

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

ISSUES IN PARALLEL DISCRETE EVENT SIMULATION FOR AN INTERNET TELEPHONY CALL SIGNALING PROTOCOL

Demand Attach / Fast-Restart Fileserver

Using MATSim for Public Transport Analysis

White Paper. Optimizing the Performance Of MySQL Cluster

Performance Modeling in Industry A Case Study on Storage Virtualization

Chapter 6 Concurrent Programming

SAP HANA SAP s In-Memory Database. Dr. Martin Kittel, SAP HANA Development January 16, 2013

Experimental Evaluation of Horizontal and Vertical Scalability of Cluster-Based Application Servers for Transactional Workloads

Comp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d

There are a number of factors that increase the risk of performance problems in complex computer and software systems, such as e-commerce systems.

Predictable response times in event-driven real-time systems

SQL Server 2005 Features Comparison

AFDX networks. Computers and Real-Time Group, University of Cantabria

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

Keywords: Architecture, Interoperability, Simulation Time, Synchronization

On the Scalability and Dynamic Load-Balancing of Time Warp

Tasks Schedule Analysis in RTAI/Linux-GPL

MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research

Java - gently. Originaux. Prérequis. Objectifs

Hadoop Fair Scheduler Design Document

Rethinking SIMD Vectorization for In-Memory Databases

DYNAMIC LOAD BALANCING IN CLIENT SERVER ARCHITECTURE

STRC. Enhancement of the carsharing fleet utilization. 15th Swiss Transport Research Conference. Milos Balac Francesco Ciari

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Oracle Database In-Memory The Next Big Thing

Systems Modelling and Simulation (Lab session 3)

Testing and Inspecting to Ensure High Quality

Load Balancing Techniques

Clustering & Visualization

Application of Predictive Analytics for Better Alignment of Business and IT

Stream Processing on GPUs Using Distributed Multimedia Middleware

Case study: d60 Raptor smartadvisor. Jan Neerbek Alexandra Institute

Datacenter Operating Systems

Supporting Interactive Application Requirements in a Grid Environment

Turbomachinery CFD on many-core platforms experiences and strategies

Learning at scale on Hadoop

ParFUM: A Parallel Framework for Unstructured Meshes. Aaron Becker, Isaac Dooley, Terry Wilmarth, Sayantan Chakravorty Charm++ Workshop 2008

Studying the accuracy of demand generation from mobile phone trajectories with synthetic data

TIMING-DRIVEN PHYSICAL DESIGN FOR DIGITAL SYNCHRONOUS VLSI CIRCUITS USING RESONANT CLOCKING

Accelerating Time to Market:

Scheduling Algorithms in MapReduce Distributed Mind

HFM Consolidation Demystified

Performance Testing. Configuration Parameters for Performance Testing

The ConTract Model. Helmut Wächter, Andreas Reuter. November 9, 1999

Topics. Producing Production Quality Software. Concurrent Environments. Why Use Concurrency? Models of concurrency Concurrency in Java

Praktikum Wissenschaftliches Rechnen (Performance-optimized optimized Programming)

SIGMOD RWE Review Towards Proximity Pattern Mining in Large Graphs

Spring 2011 Prof. Hyesoon Kim

A Comparison of Task Pools for Dynamic Load Balancing of Irregular Algorithms

LOAD BALANCING DISTRIBUTED OPERATING SYSTEMS, SCALABILITY, SS Hermann Härtig

Transcription:

Preferred citation style for this presentation Waraich, Rashid (2008) Parallel Implementation of DEQSim in Java, MATSim Workshop 2008, Castasegna, September 2008. 1

Parallel Implementation of DEQSim in Java Rashid Waraich IVT ETH Zurich September 2008

Outline Introduction Discrete Event Simulation Parallel Discrete Event Simulation Java DEQSim Implementation Performance Tests Future Work / Challenges 3

Simulation in General - Continuous time model - state variables may change continuously - example: change of water temprature, filling up a glass, etc. - Descrete time model (Descrete Event Simulation - DES) - state changes at discrete points in time - examples: queueing system, simulation of customers in shopping mall, simulation of air traffic,... - How to advance simulation time? - fixed-increment time advance (Java Mobsim) - next-event time advance (DEQSim, JDEQSim) 4

Fixed-increment Time Advance - Useful, if events occur at fixed length invervals - Wasteful scanning - Accuracy problem / tradeoff E3 E4 E4 25 30 35 E3 E4 E4 25 30 35 5

Next-event Time Advance - Time advancement from event to event - Simulation skips over periods of inactivity - Called event-driven DES E3 E4 E4 25 30 35 E3 E4 E4 25 30 35 6

Parallel Descret Event Simulation (PDES) Why PDES? - DES slow - slow down factor How to make simulation parallel? - partition system into subsystems (logical processes LP), which can be simulated in parallel example: Berlin arrival at 9:45 Zurich Vienna 7

PDES (cont.) How to preserve causal order of events? - optimistic algorithms - e.g. Time Warp algorithm - conservative algorithms (DEQSim, Java DEQSim) - LP executes safe events only (e.g. Chandy-Misra algorithm) 8

Chandy-Misra Algorithm - Chandy-Misra algorithm - null messages, to prevent deadlock - problem: lots of null messages - need good/large lookahead 7? 6,17 6 10? Chandy-Misra example Deadlock 9

Java DEQSim - Partition network into Logical Processes (LPs) - Lookahead - Synchronization - Process Events - Synchronization between LPs 10

Partitioning (DEQSim) - Orthogonal recursive bisection (same number of events in each zone) - Number of zones is power of 2 - Split in middle of roads 11

Partitioning (Java DEQSim) - Partition network vertically, each has own queue - Partition along nodes - Same number of events per zone - Less neighbour zones - Arbitrary number of zones LP 1 LP 2 LP 1 LP 2 LP 3 12

Synchronization / Nullmessages / Lookahead - DEQSim only needs to synchronize at certain predefined points in time - Java DEQSim: Uses Chandy-Misra algorithm - lookahead for reducing number of null messages? - plans file knows the future - Synchronization - How handled locking of event process queue - How handeled locking of queues in each zone 13

Process Events initial situation (bottleneck: synchronization) CPU 1 CPU 2... synchronized (processevent) CPU N situation now (bottleneck: consumer thread too slow) CPU 1 consumer thread CPU 2... eventbuffer CPU N processevent 14

Synchronization between Zones option 1 (synchronized access on queue) owner LP left LP priority queue right LP option 2 (lock only queue, which needed) owner LP owner LP right LP left LP 15

Synchronization between Zones (cont.) option 3 (time splitting) owner LP 3s< t <4s 4s< t <5s 5s< t <6s owner LP right LP left LP other ideas? 16

Microsimulation Comparison (for Speed) Java MobSim DEQSim Java DEQSim Speed because of programming language Java C++ Java Integrated with rest of MATSim (e.g. no IOoverhead, immediate event handling) Yes No Yes Support for multithreading No Yes Yes Advancement of simulation time Fixed-increment time advance Next-event time advance Next-event time advance 17

Performance Tests I 18

Performance Tests II 19

Future Work / Challenges - Goal: One iteration in 15min, approx. 1M links, 7.2M agents, 4.6 trips in average (with approx. 100 links per trip) currently we would need around 5 hours+ for this on 8 CPUs (with DEQSim) - How to gain more speed up? - How to dimension the number of threads for microsimulation and event handling? - How to do automated performance regression testing? - Optimistic algorithms? - can potentially utilize higher parallelization - simpler for the end user to program simulations - more difficult to implement than conservative algorithms 20

How to Gain Speedup? Java MobSim DEQSim Java DEQSim Future? simulation + event handling read + event handling simulation event handling 21