1 / 24

Parallel Exact Stochastic Simulation in Biochemical Systems

Parallel Exact Stochastic Simulation in Biochemical Systems. Jiangtian Li. 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. Motivation for PESS.

Download Presentation

Parallel Exact Stochastic Simulation in Biochemical Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Parallel Exact Stochastic Simulation in Biochemical Systems Jiangtian Li csc801 system research seminar

  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 csc801 system research seminar

  3. 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 csc801 system research seminar

  4. 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 csc801 system research seminar

  5. Simulation Framework Simulation Application • 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 A + B -> C … Simulation Executive • event list management • managing advances in simulation time Global clock = 3:00 csc801 system research seminar

  6. Issues in Parallelization • Inter-processor synchronization to avoid causality errors 12 23 35 17 affect processed event 42 26 14 unprocessed event csc801 system research seminar

  7. Issues in Parallelization • Model subdivision and processor mapping • Reducing communications • Load balancing csc801 system research seminar

  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 don’t occur • natural and elegant implementation csc801 system research seminar

  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 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=4 C=3 A=1 A=1 B=2 C=3 A=5 B=2 C=9 rollback csc801 system research seminar

  10. 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 csc801 system research seminar

  11. Example: unsend message processed event Input queue unprocessed event 12 41 21 35 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 csc801 system research seminar

  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 csc801 system research seminar

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

  14. Model subdivision (cont.) csc801 system research seminar

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

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

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

  18. Results csc801 system research seminar

  19. Results csc801 system research seminar

  20. Results csc801 system research seminar

  21. Results csc801 system research seminar

  22. Future work • Dynamic model subdivision during simulation • Trade-off – how much is overhead? csc801 system research seminar

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

  24. Any question? csc801 system research seminar

More Related