Distributed Execution of Ptolemy Models Yang Zhao ellenzheecs
Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs) Class Project for EE 290 N
Demo
Overview A framework to distributedly execute Ptolemy models (currently, PN models): DPN (Distributed PN) domain in Ptolemy • • • Startup and communication between submodels PN semantics (blocking read, blocking write) Model deployment Communication framework based on CORBA • • • Dynamically lookup machines (Naming Service) Ptolemy process startup on request (pt. Agent) Message relay (pt. Agent)
Register (1) Naming Service pt. Agent
Register (2) Naming Service pt. Agent Register to Naming Service (pt. Agent, Models) pt. Agent
Lookup (1) Naming Service pt. Agent Look up to Naming Service (pt. Agent, Models) pt. Agent
Lookup (2) Naming Service pt. Agent after look up for pt. Agent
Distributed Execution in Ptolemy • Two major ways: – Distribute a big model to a set of hosts and have them cooperate when executing to maintain the entire behavior. – Discover applications or models currently running in the system and join them: ex, distributed games, chat rooms.
Lookup for Available pt. Agents
Configuration DOPLAP 11 DOPLAP 19 DOPLAP 11
Model Deployment Parse the model with the given configuration DOPLAP 11 DOPLAP 19 DOPLAP 11
Model Deployment Double click to distribute model. pt. Agent
Model Deployment Double click to distribute model. Launch/start model pt. Agent
Model Execution Communication. Helper pt. Agent
Distributed Execution Publisher/Consumer Communication. Helper Event channel pt. Agent
Distributed Execution in Ptolemy • Two major ways: √ Distribute a big model to a set of hosts and have them cooperate when executing to maintain the entire behavior. – Discover applications or models currently running in the system and join them: ex, distributed games, chat rooms.
Chat demo pt. Agent Host 1
Chat demo pt. Agent Host 1
Chat demo connect to pt. Agent Host 1
Yet another way to use
Yet another way to use
Future Work • Extend the current implementation to support more domains (e. g. , DE, SDF) • Improve communication efficiency to enable high -performance execution • To preserve the semantics of timed domains, realize backtracking with Aspect. J • Provide more facility at a lower level, e. g. , communication observer, debugger and life-time management
- Slides: 22