1 / 25

Presentation

Presentation. Ptolemy: A Framework For Simulating and Prototyping Heterogeneous Systems. Agenda. Overview of Ptolemy Internal Structure of Ptolemy Blocks and particles Stars, Galaxies and the Universe Targets and Schedulers The Wormhole The EventHorizon Code Generation

micah
Download Presentation

Presentation

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. Presentation Ptolemy: A Framework For Simulating and Prototyping Heterogeneous Systems CS 599

  2. Agenda • Overview of Ptolemy • Internal Structure of Ptolemy • Blocks and particles • Stars, Galaxies and the Universe • Targets and Schedulers • The Wormhole • The EventHorizon • Code Generation • Practical Applications CS 599

  3. Ptolemy/Ptolemy II C++/Java Many domains implemented Multi-domain modeling Block-diagram GUI Extensible type system Code generator Ptolemy uses object-oriented software principles to achieve: Agility Heterogeneity Extensibility Friendliness Overview of Ptolemy CS 599

  4. Domain Classes • Domain - A realization of a framework • Derived from kernel class • inheritance • data abstraction • polymorphism • Booch notation • Multiple domains can be mixed hierarchically in the same model CS 599

  5. Multiple Domains CS 599

  6. Hierarchical Color is a domain, which defines both the flow of control and interaction protocols. Amorphous vs. Hierarchical Heterogeneity Amorphous Color is a communication protocol only, which interacts in unpredictable ways with the flow of control. CS 599

  7. Domain Issues • Ontology: What is a component? • States? Processes? Threads? Differential equations? Constraints? Objects? • Epistemology: What knowledge do components have? • Time? Name spaces? Signals? State? • Protocols: How do components communicate? • Rendezvous? Message passing? Continuous-time signals? Streams? Method calls? • Lexicon: What do components communicate? • Objects? Transfer of control? Data Structures? ASCII text? CS 599

  8. Blocks and Particles • Blocks depend on the model of computation • C++ base classes • Block • Porthole • Geodesic • Plasma • Non-dogmatic kernel CS 599

  9. Stars, Galaxies and the Universe • Star • lowest level of the hierarchy (atomic) • Galaxy • hierarchical block (composite) • Universe • top-level system representation (application) CS 599

  10. Targets and Schedulers • Base class mechanisms • Target • top-level manager of execution • Scheduler • defines the operational semantics of the domain by controlling the order of execution CS 599

  11. Domains in Ptolemy CS 599

  12. The Wormhole A new domain YYY is introduced by adding a Wormhole to the XXXUniverse. What’s EventHorizon? CS 599

  13. The EventHorizon • Supports interoperability of different domains at runtime(key for heterogeneity in Ptolemy). • The interface between the internal structure of a Wormhole and its external environment. • two types of interactions • the conversion of Particles passing through it • the coordination of the Schedulers associated with the inside and outside domains CS 599

  14. Particle Conversion at the EventHorizon • Accomplished by objects of class ToEventHorizon and FromEventHorizon, derived from EventHorizon. • Particles are read from the XXXtoUniversal, transferred to the YYYfromUniversal, and sent to the inside YYY domain. • For built-in types, the type conversion is performed automatically, otherwise should be managed explicitly. • EventHorizons may have other domain-specific responsibilities(following example). CS 599

  15. Particle Conversion at the EventHorizon(cont.)Specific responsibilities • The DEWormhole is executed when any input has new data . • The inner SDF domain requires that all input data be available • The DEWormhole checks all SDFfromUniversal EventHorizons to see if they have enough data before turning control over to the inner SDFScheduler. CS 599

  16. Scheduler Coordination Across the EventHorizon • Schedulers on both sides of an EventHorizon need to coordinate. CS 599

  17. Code Generation • The go() method of a code generation Star adds ASCII text to a data structure in the Target. • The Scheduler controls the sequence of generated code. The Target collects the code and supervises the compilation and execution. • While a domain is specific to the computational model used, the code is also specific to the type of language generated. CS 599

  18. Broadband Networking Example • Message Queues • Untimed • “Before and After” timing style • Discrete Event Model (DE) • TimeStamped (Global Time) Asynchronously • “When” timing style • Synchronous Dataflow (SDF) • Repeatable Schedule • “How Often” timing style CS 599

  19. Terminals & the CRN • Terminals • Internally Complex • Cell Relay Network (CRN) • DE Modeling Domain • Non-Empty Cells traveling between Terminals and CRN CRN Terminals Signaling ATM Switches DE Modeling Domain CS 599

  20. CRN to Signaling & Switching • Signaling • MQ Domain (Untimed) • ATM • Internal Sim. – SDF • All Cells Modeled • Including Empty Cells • TimeStamped to fit DE (timed asynchronous) CRN Signaling ATM Switches Signaling (MQ) ATM ATM ATM ATM DE CS 599

  21. ATM to Call Processing & Internal Switching • Call Processing Entity • Control of the Switch • MQ - Instantaneous Processing • Internal Switches • Shuffle Exchange • DE (asynchronous) Cells augmented with Empty Cells to fit SDF (isochronous) at the EventHorizon Signaling(MQ) ATM ATM Call Processing (MQ) ATM ATM Shuffle-Exchange (SDF) CS 599

  22. Internal Switching to Routing & 2X2 Switches • Routing Tables • Updated from Call Processing Messages • Instantaneous Message Receipt • 2X2 Switching Matrix • Interconnected Switches Shuffle-Exchange (SDF) Routing Tables 2X2 Switch CS 599

  23. Ptolemy & the Broadband Networking Model • Ptolemy uses a Wormhole to deal with the inter-domain heterogeneity in this example • Ptolemy does not solve all the problems relating to interconnecting domains. • Often additional user modeling work is required. • Functional requirements of the system should reflect these inter-domain issues CS 599

  24. More Ptolemy Examples • Signal Processing • Little Heterogeneity • Auto-generation of DSP Assembly code • Hardware Software Code Design • Support domains for modeling • Custom hardware design • Programmable Commodity Parts • Single model can be developed to simulate the system • Source Linking Modeling • OOP Abstraction • Covert to/from Bits to Abstract from Source/Link Specifics CS 599

  25. Other Interesting Ptolemy Topics • Interoperation of Heterogeneous CAD Tools in Ptolemy II • Ptolemy II is a Java Version of Ptolemy • Computationally Efficient Version of the Decision Feedback Equalizer • This and other Ptolemy information may be found at: http://ptolemy.eecs.berkeley.edu CS 599

More Related