Parallel Exact Stochastic Simulation in Biochemical Systems

Slides:



Advertisements
Similar presentations
Parallel Discrete Event Simulation Richard Fujimoto Communications of the ACM, Oct
Advertisements

Misbah Mubarak, Christopher D. Carothers
Parallel Processing & Parallel Algorithm May 8, 2003 B4 Yuuki Horita.
Parallel and Distributed Simulation Global Virtual Time - Part 2.
Time Warp: Global Control Distributed Snapshots and Fossil Collection.
Parallel and Distributed Simulation
Parallel and Distributed Simulation Time Warp: Basic Algorithm.
Parallel and Distributed Simulation Lookahead Deadlock Detection & Recovery.
Lookahead. Outline Null message algorithm: The Time Creep Problem Lookahead –What is it and why is it important? –Writing simulations to maximize lookahead.
Optimistic Parallel Discrete Event Simulation Based on Multi-core Platform and its Performance Analysis Nianle Su, Hongtao Hou, Feng Yang, Qun Li and Weiping.
Other Optimistic Mechanism, Memory Management. Outline Dynamic Memory Allocation Error Handling Event Retraction Lazy Cancellation Lazy Re-Evaluation.
Parallel and Distributed Simulation Time Warp: Other Mechanisms.
Parallel Programming Laboratory1 Fault Tolerance in Charm++ Sayantan Chakravorty.
APACHE GIRAPH ON YARN Chuan Lei and Mohammad Islam.
Parallel and Distributed Simulation Time Warp: State Saving.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
Parallel Simulation etc Roger Curry Presentation on Load Balancing.
Seven O’Clock: A New Distributed GVT Algorithm using Network Atomic Operations David Bauer, Garrett Yaun Christopher Carothers Computer Science Murat Yuksel.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Models of Computation for Embedded System Design Alvise Bonivento.
Building Parallel Time-Constrained HLA Federates: A Case Study with the Parsec Parallel Simulation Language Winter Simulation Conference (WSC’98), Washington.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
Time Warp OS1 Time Warp Operating System Presenter: Munehiro Fukuda.
Parallel and Distributed Simulation FDK Software.
Introduction Distributed Algorithms for Multi-Agent Networks Instructor: K. Sinan YILDIRIM.
Hardware Supported Time Synchronization in Multi-Core Architectures 林孟諭 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan,
Parallel and Distributed Simulation Hardware Platforms Simulation Fundamentals.
1 Fast Failure Recovery in Distributed Graph Processing Systems Yanyan Shen, Gang Chen, H.V. Jagadish, Wei Lu, Beng Chin Ooi, Bogdan Marius Tudor.
Chapter 3 System Performance and Models. 2 Systems and Models The concept of modeling in the study of the dynamic behavior of simple system is be able.
Time Warp State Saving and Simultaneous Events. Outline State Saving Techniques –Copy State Saving –Infrequent State Saving –Incremental State Saving.
Parallel and Distributed Simulation Memory Management & Other Optimistic Protocols.
Efficient Data Accesses for Parallel Sequence Searches Heshan Lin (NCSU) Xiaosong Ma (NCSU & ORNL) Praveen Chandramohan (ORNL) Al Geist (ORNL) Nagiza Samatova.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Static Process Scheduling
DOE Network PI Meeting 2005 Runtime Data Management for Data-Intensive Scientific Applications Xiaosong Ma NC State University Joint Faculty: Oak Ridge.
Parallelization Strategies Laxmikant Kale. Overview OpenMP Strategies Need for adaptive strategies –Object migration based dynamic load balancing –Minimal.
ECE 526 – Network Processing Systems Design Programming Model Chapter 21: D. E. Comer.
Efficient Algorithms for Distributed Snapshots and Global Virtual Time Approximation Author: Friedermann Mattern Presented By: Shruthi Koundinya.
Timewarp Rigid Body Simulation Brian Mirtich. Simulation Discontinuities “Events that change the dynamic states or the equations of motion of some subset.
Clock Synchronization (Time Management) Deadlock Avoidance Using Null Messages.
Kendo: Efficient Deterministic Multithreading in Software M. Olszewski, J. Ansel, S. Amarasinghe MIT to be presented in ASPLOS 2009 slides by Evangelos.
High Performance Computing Seminar
PDES Introduction The Time Warp Mechanism
Chapter 13: I/O Systems.
Optimizing Distributed Actor Systems for Dynamic Interactive Services
OPERATING SYSTEMS CS 3502 Fall 2017
OPERATING SYSTEMS CS 3502 Fall 2017
Parallel and Distributed Simulation
The Mach System Sri Ramkrishna.
Parallel Programming By J. H. Wang May 2, 2017.
Dynamic Graph Partitioning Algorithm
PREGEL Data Management in the Cloud
Parallel and Distributed Simulation Techniques
PDES: Time Warp Mechanism Computing Global Virtual Time
Parallel Programming in C with MPI and OpenMP
CPSC 531: System Modeling and Simulation
Lecture 7: Introduction to Distributed Computing.
Parallel and Distributed Simulation
Timewarp Elias Muche.
Introduction to locality sensitive approach to distributed systems
CS703 - Advanced Operating Systems
CS 584.
Parallel and Distributed Simulation
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Department of Computer Science, University of Tennessee, Knoxville
Parallel Programming in C with MPI and OpenMP
OPERATING SYSTEMS MEMORY MANAGEMENT BY DR.V.R.ELANGOVAN.
Chapter 13: I/O Systems.
Presentation transcript:

Parallel Exact Stochastic Simulation in Biochemical Systems Jiangtian Li 7/9/2019 csc801 system research seminar

csc801 system research seminar Introduction Overview of parallel exact stochastic simulation My summer work at Oak Ridge National Lab Joint work with Mike McCollum, Nagiza Samatova One of two research projects this summer 7/9/2019 csc801 system research seminar

csc801 system research seminar Motivation for PESS Model large-scale biochemical systems such as gene regulatory network A single cell cycle of E.coli requires 1014~1016 executions of reactions Accelerate simulation by parallelizing executions while preserving accuracy of stochastic simulation 7/9/2019 csc801 system research seminar

Gillespie’s stochastic simulation Event-driven simulation of random process Modeling spatially uniform mixture of N species (state variables) through M reaction channels (events) Probability of reaction scheduled is characterized by propensity function Simulation ends when species populations converge 7/9/2019 csc801 system research seminar

Simulation Framework Simulation Application Simulation Executive • state variables • code modeling system behavior • I/O and user interface software State variables Species A=1000; Species B=500; Species C=100; … calls to schedule events calls to event handlers Event list (reactions) A + B -> C C + D -> E … Simulation Executive • event list management • managing advances in simulation time Global clock = 3:00 7/9/2019 csc801 system research seminar

Issues in Parallelization Inter-processor synchronization to avoid causality errors 12 17 23 35 affect processed event 14 26 42 unprocessed event 7/9/2019 csc801 system research seminar

Issues in Parallelization Model subdivision and processor mapping Reducing communications Load balancing 7/9/2019 csc801 system research seminar

Inter-processor Synchronization Optimistic synchronization protocol – Time Warp To ensure correct execution order in whole simulation To exploit more parallelism in situation where causality errors don’t occur natural and elegant implementation 7/9/2019 csc801 system research seminar

csc801 system research seminar Time Warp Roll back state variables when a straggler message is received record a log of the modified state variables restore the state variables straggler message 18 processed event 12 A=1 B=2 C=3 21 A=4 35 A=5 C=9 unprocessed event 41 state variables log A=0 B=0 C=0 A=1 A=4 C=3 A=1 A=4 C=3 A=1 B=2 C=3 A=5 B=2 C=9 rollback 7/9/2019 csc801 system research seminar

csc801 system research seminar Time Warp (cont.) Unsend messages use anti-message – logically identical copy of original message, with opposite sign anti-message stored in sender’s output queue and resent when rollback message/anti-message annihilated in receiver’s input queue 7/9/2019 csc801 system research seminar

Example: unsend message Input queue processed event 12 21 35 41 unprocessed event saved state State queue anti-message Anti-message queue 19 42 18 send anti-message Sender Straggler message, rollback 42 Anti-message arrives, rollback Annihilate message and anti-message Input queue 42 27 45 55 State queue Receiver Anti-message queue 33 57 send anti-message 7/9/2019 csc801 system research seminar

csc801 system research seminar Compute G.V.T Global virtual time Defined as minimum among unprocessed and partially processed events and anti-messages Serve as lower bound on time stamp of any future rollback Compute synchronous algorithm handle transient message – message acknowledgement 7/9/2019 csc801 system research seminar

csc801 system research seminar Model subdivision Goal - Efficient parallel execution Reduce communications Reduce rollbacks Maintain load balance Approach - Analyze interdependence among reactions 7/9/2019 csc801 system research seminar

Model subdivision (cont.) 7/9/2019 csc801 system research seminar

Model subdivision (cont.) Approach - Construct graph model vertex – reaction vertex weight – propensity function edge weight – sum of vertices weights 7/9/2019 csc801 system research seminar

Model subdivision (cont.) Partition graph – Objective - minimize messages communicated (cut-edge weights) Constraint – balance executions Metis – graph partition package University of Minnesota 7/9/2019 csc801 system research seminar

csc801 system research seminar Results Tested on SGI Altix (Ram) at ORNL 256 Intel Itanium2 processors running at 1.5 GHz 8 GB of memory per processor 7/9/2019 csc801 system research seminar

csc801 system research seminar Results 7/9/2019 csc801 system research seminar

csc801 system research seminar Results 7/9/2019 csc801 system research seminar

csc801 system research seminar Results 7/9/2019 csc801 system research seminar

csc801 system research seminar Results 7/9/2019 csc801 system research seminar

csc801 system research seminar Future work Dynamic model subdivision during simulation Trade-off – how much is overhead? 7/9/2019 csc801 system research seminar

csc801 system research seminar Conclusion Parallel Exact Stochastic Simulation has demonstrated to be efficient and effective in modeling biochemical systems Proper model subdivision significantly enhanced performance 7/9/2019 csc801 system research seminar

csc801 system research seminar Any question? 7/9/2019 csc801 system research seminar