Title: Parallel Exact Stochastic Simulation in Biochemical Systems
1Parallel Exact Stochastic Simulation in
Biochemical Systems
2Introduction
- 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
3Motivation 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
4Gillespies 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
-
5Simulation 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
6Issues in Parallelization
- Inter-processor synchronization to avoid
causality errors
12
23
35
17
affect
processed event
42
26
14
unprocessed event
7Issues in Parallelization
- Model subdivision and processor mapping
- Reducing communications
- Load balancing
8Inter-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
9Time 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
10Time 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
11Example 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
12Compute 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
13Model subdivision
- Goal - Efficient parallel execution
- Reduce communications
- Reduce rollbacks
- Maintain load balance
- Approach - Analyze interdependence among
reactions
14Model subdivision (cont.)
15Model subdivision (cont.)
- Approach - Construct graph model
- vertex reaction
- vertex weight propensity function
- edge weight sum of vertices weights
16Model subdivision (cont.)
- Partition graph
- Objective - minimize messages communicated
(cut-edge weights) - Constraint balance executions
- Metis graph partition package
- University of Minnesota
17Results
- Tested on SGI Altix (Ram) at ORNL
- 256 Intel Itanium2 processors running at 1.5 GHz
- 8 GB of memory per processor
18Results
19Results
20Results
21Results
22Future work
- Dynamic model subdivision during simulation
- Trade-off how much is overhead?
23Conclusion
- Parallel Exact Stochastic Simulation has
demonstrated to be efficient and effective in
modeling biochemical systems - Proper model subdivision significantly enhanced
performance
24