Top Banner
Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs) Class Project for EE290N
22

Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

Dec 31, 2015

Download

Documents

chumani-walker

Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs) Class Project for EE290N. Demo. Overview. A framework to distributedly execute Ptolemy models (currently, PN models): DPN (Distributed PN) domain in Ptolemy - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

Distributed Execution of Ptolemy Models

Yang Zhao (ellen_zh@eecs)

Thomas H. Feng (tfeng@eecs)

Class Project for EE290N

Page 2: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

Demo

Page 3: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

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 (ptAgent)• Message relay (ptAgent)

Page 4: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

ptAgent

ptAgent ptAgent

Naming Service

Register (1)

Page 5: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

ptAgent

ptAgent ptAgent

Naming Service

Register to Naming Service

(ptAgent,

Models)

Register (2)

Page 6: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

ptAgent

ptAgent ptAgent

Naming Service

Look up to Naming Service

(ptAgent,

Models)

Lookup (1)

Page 7: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

ptAgent

ptAgent ptAgent

Naming Service

after look up for ptAgent

Lookup (2)

Page 8: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

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.

Page 9: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

Lookup for Available ptAgents

Page 10: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

Configuration

DOPLAP11 DOPLAP11DOPLAP19

Page 11: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

Model Deployment

DOPLAP11 DOPLAP11DOPLAP19

Parse the model with the given configuration

Page 12: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

ptAgent

ptAgent

Double click to distribute model.

Model Deployment

Page 13: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

ptAgent

ptAgent

Double click to distribute model.

Launch/start modelLaunch/start model

Model Deployment

Page 14: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

ptAgent

ptAgent

CommunicationHelper

CommunicationHelper

Model Execution

Page 15: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

ptAgent

ptAgent

CommunicationHelper

CommunicationHelper

Event channel

Publisher/Consumer

Publisher/Consumer

Distributed Execution

Page 16: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

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.

Page 17: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

Chat demo

ptAgent

ptAgent

Host1

Page 18: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

Chat demo

ptAgent

ptAgent

Host1

Page 19: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

ptAgent

ptAgent

Host1

connect to

Chat demo

Page 20: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

Yet another way to use

Page 21: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

Yet another way to use

Page 22: Distributed Execution of Ptolemy Models Yang Zhao (ellen_zh@eecs) Thomas H. Feng (tfeng@eecs)

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 AspectJ

• Provide more facility at a lower level, e.g., communication observer, debugger and life-time management