Parallel Exact Stochastic Simulation in Biochemical Systems - PowerPoint PPT Presentation

About This Presentation
Title:

Parallel Exact Stochastic Simulation in Biochemical Systems

Description:

Model subdivision. Goal - Efficient parallel execution. Reduce communications ... Model subdivision (cont. ... Proper model subdivision significantly enhanced ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 25
Provided by: jiangt
Category:

less

Transcript and Presenter's Notes

Title: Parallel Exact Stochastic Simulation in Biochemical Systems


1
Parallel Exact Stochastic Simulation in
Biochemical Systems
  • Jiangtian Li

2
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

3
Motivation for PESS
  • Model large-scale biochemical systems such as
    gene regulatory network
  • A single cell cycle of E.coli requires 10141016
    executions of reactions
  • Accelerate simulation by parallelizing executions
    while preserving accuracy of stochastic
    simulation

4
Gillespies 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

5
Simulation Framework
Simulation Application state variables code
modeling system behavior I/O and user
interface software
State variables Species A1000 Species
B500 Species C100
calls to schedule events
calls to event handlers
Event list (reactions) A B -gt C C D -gt E A
B -gt C
Simulation Executive event list management
managing advances in simulation time
Global clock 300
6
Issues in Parallelization
  • Inter-processor synchronization to avoid
    causality errors

12
23
35
17
affect
processed event
42
26
14
unprocessed event
7
Issues in Parallelization
  • Model subdivision and processor mapping
  • Reducing communications
  • Load balancing

8
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 dont occur
  • natural and elegant implementation

9
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 A1 B2 C3
21 A4
35 A5 C9
unprocessed event
state variables log
41
A0 B0 C0
A1
A4 C3
A4 C3
A1
A1 B2 C3
A5 B2 C9
rollback
10
Time Warp (cont.)
  • Unsend messages
  • use anti-message logically identical copy of
    original message, with opposite sign
  • anti-message stored in senders output queue and
    resent when rollback
  • message/anti-message annihilated in receivers
    input queue

11
Example unsend message
processed event
Input queue
unprocessed event
12
21
35
41
saved state
State queue
anti-message
Anti-message queue
42
19
18
send anti-message
Sender
Straggler message, rollback
Anti-message arrives, rollback Annihilate message
and anti-message
42
Input queue
42
55
27
45
State queue
Receiver
57
33
Anti-message queue
send anti-message
12
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

13
Model subdivision
  • Goal - Efficient parallel execution
  • Reduce communications
  • Reduce rollbacks
  • Maintain load balance
  • Approach - Analyze interdependence among
    reactions

14
Model subdivision (cont.)
15
Model subdivision (cont.)
  • Approach - Construct graph model
  • vertex reaction
  • vertex weight propensity function
  • edge weight sum of vertices weights

16
Model subdivision (cont.)
  • Partition graph
  • Objective - minimize messages communicated
    (cut-edge weights)
  • Constraint balance executions
  • Metis graph partition package
  • University of Minnesota

17
Results
  • Tested on SGI Altix (Ram) at ORNL
  • 256 Intel Itanium2 processors running at 1.5 GHz
  • 8 GB of memory per processor

18
Results
19
Results
20
Results
21
Results
22
Future work
  • Dynamic model subdivision during simulation
  • Trade-off how much is overhead?

23
Conclusion
  • Parallel Exact Stochastic Simulation has
    demonstrated to be efficient and effective in
    modeling biochemical systems
  • Proper model subdivision significantly enhanced
    performance

24
  • Any question?
Write a Comment
User Comments (0)
About PowerShow.com