310 likes | 515 Views
The Octopus Toolset:. A Framework for Model-Driven Design-Space Exploration. Octopus Toolset in Short. A plugin -based Java framework for model-driven design-space exploration. Principles and Objectives. Octopus Toolset: Principles and Objectives. Application. Platform. Mapping.
E N D
The Octopus Toolset: • A Framework for • Model-Driven Design-Space Exploration
Octopus Toolset in Short A plugin-based Java framework for model-driven design-space exploration ESI SYMPOSIUM 2010
Octopus Toolset: Principles and Objectives Application Platform Mapping Analysis Kernel Diagnostics Separation of concerns Flexibility and extensibility Simplicity and generality Formal ground Multiple abstraction levels Many types of analysis Reuse and consistency Full automation support ESI SYMPOSIUM 2010
Octopus Toolset: Principles and Objectives Separation of concerns Flexibility and extensibility Simplicity and generality Formal ground Multiple abstraction levels Many types of analysis Reuse and consistency Full automation support ESI SYMPOSIUM 2010
Octopus Toolset: Principles and Objectives Separation of concerns Flexibility and extensibility Simplicity and generality Formal ground Multiple abstraction levels Many types of analysis Reuse and consistency Full automation support ESI SYMPOSIUM 2010
Octopus Toolset: Principles and Objectives Separation of concerns Flexibility and extensibility Simplicity and generality Formal ground Multiple abstraction levels Many types of analysis Reuse and consistency Full automation support ESI SYMPOSIUM 2010
Octopus Toolset: Principles and Objectives Separation of concerns Flexibility and extensibility Simplicity and generality Formal ground Multiple abstraction levels Many types of analysis Reuse and consistency Full automation support ESI SYMPOSIUM 2010
Octopus Toolset: Principles and Objectives Performance evaluation Simulation Functional verification Best/Worst-case analysis Schedulability Visualization … Separation of concerns Flexibility and extensibility Simplicity and generality Formal ground Multiple abstraction levels Many types of analysis Reuse and consistency Full automation support ESI SYMPOSIUM 2010
Octopus Toolset: Principles and Objectives Separation of concerns Flexibility and extensibility Simplicity and generality Formal ground Multiple abstraction levels Many types of analysis Reuse and consistency Full automation support ESI SYMPOSIUM 2010
Octopus Toolset: Principles and Objectives Separation of concerns Flexibility and extensibility Simplicity and generality Formal ground Multiple abstraction levels Many types of analysis Reuse and consistency Full automation support ESI SYMPOSIUM 2010
Octopus toolset: Implementing the Y-chart ESI SYMPOSIUM 2010
Octopus toolset: Architecture view More info: dse.esi.nl ESI SYMPOSIUM 2010
A typical DSE problem ESI SYMPOSIUM 2010
Problem refinement Workload of 6 Critical for throughput 1/6 upper bound on throughput Can be achieved arbitrarily close with increasing M1 Target: achieve upper bound within 2% Average load of 5.7 High peak loads (> 6) ESI SYMPOSIUM 2010
Modeling (1/3): The application Data/Control Flow: Task load: Service handover: Task puts a load on every service it executes Handing over the resource that executed service ESI SYMPOSIUM 2010
Modeling (2/3): Resources Generic resources with simple properties X ESI SYMPOSIUM 2010
Modeling (3/3): Scheduling Assigning resource amounts to task services Assigning priorities to tasks ESI SYMPOSIUM 2010
Analysis (1): Simulation Run CPNTools invisibly to generate execution traces,… …or simulate the generated CPN model manually ESI SYMPOSIUM 2010
Analysis (2): Formal Verification Run UPPAAL invisibly to prove deadlock freedom or generate shortest / longest trace,… …or experiment with the UPPAAL model manually ESI SYMPOSIUM 2010
Visualization ResVis Visualize the execution trace as a Gantt chart, … ProM … or performance-decorate the application graph ESI SYMPOSIUM 2010
Final result Recall target: Throughput within 2% of 1/6 Resulting configuration (with 99% confidence): • M1 and M2 sizes 110 and 100 • Object-based memory allocation for M1 • Task-based memory allocation for M2 • New scheduling precedence rules
dse.esi.nl The End