cbm daq bnet - gsi• router information • how many regions ? • how many worker nodes inside the...
TRANSCRIPT
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 1
GenericModeling
EnvironmentH.G.Essel
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 2
Generic Modeling Environment
• Institute for Software Integrated Systems at Vanderbilt University• Metamodels specify a Modeling Paradigm (language) of an Application
Domain.• Domain Environment is automatically generated from Metamodel• Domain models automatically generate application• Hierarchy, aspects, sets, references, constraints
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 3
GME Architecture
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 4
GME Basics
• Folders with basic object types– Atoms– Models (built from atoms or models)– Connections– References– Sets
• Roles• Aspects• Constraints
Very simple example:
Application Domain: Network diagramObjects: Hosts, Routers, Networks
Demo
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 5
GME: simple meta model example
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 6
GME: simple model made from this meta model
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 7
MILAN Objectives
A Model Based Integrated simuLAtioN Framework for Designing Embedded Systems based on GME
University of Southern California and Vanderbilt University (18 people)
MILAN is a model based, extensible simulation framework.
It provides a unified environment capable of:– modeling a large class of embedded systems and applications– seamlessly integrating different widely used simulators into a single
framework– enabling rapid evaluation of different performance metrics such as power,
latency, and throughput– facilitating simulation at multiple levels of granularity– rapid evaluation of a large design space
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 8
Model Integrated Computing
• Configurable modeling, analysis and program synthesis environment• Rich, domain specific modeling language• Primarily graphical, hierarchical, multiple aspect models• Open, extensible tool environment with standard interfaces (XML, COM, UML, OCL)• Mature toolset in everyday use in industry
(GM, Sandia, Boeing, NASA, etc.)
Generic Modeling Environment (GME 2000)
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 9
MILAN Status
Model interpreterfeeding-back results
Model interpreterdriving simulators/tools
System Generation and Synthesis Tools
GME 4
Resource Models
Application Models
Constraints
MappingModels
iiTarget System
i
FunctionalSimulators
High-levelPerformanceEstimators
Cycle-Accurate
PerformanceSimulators
Design SpaceExploration
Tools
FunctionalSimulators
High-levelPower
Estimators
Cycle-Accurate
PowerSimulators
Design SpaceExploration
Tools
ii
i• DESERT• DesignBrowser• Optimization Tool
• Matlab• SystemC• ActiveHDL
• HiPerE• Kernel Perf. Est.
• Mambo • SimpleScalar• PowerAnalyzer• SimplePower• Armulator• CodeComposer• Jouletrack• EMSIM
MILAN v1.0
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 10
MILAN and GMEclipse
GMEclipse development was funded by an IBM Innovation Grant
GModel GMeta
GME Core
GME EditorBrowser
ConstraintManager
Translator(s)
Add-On(s)
Java COMBridge
ECLIPSEplug-inplug-in
… DB #nDB #1 XML …
GModel GMeta
GME Core
GME EditorGME EditorBrowserBrowser
ConstraintManager
ConstraintManager
Translator(s)Translator(s)
Add-On(s)Add-On(s)
Java COMBridge
Java COMBridge
ECLIPSEplug-inplug-in
… DB #nDB #1 XML …… DB #nDB #nDB #1DB #1 XMLXML …
GMEclipse Architecture
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 11
MILAN for Reconfigurable Devices (I)
• Model kernel designs using FPGAs– supports specification of a
library of IP cores, associated parameters, and performance
– larger blocks are composed of smaller ones
– allows selection from available choices of IP cores (e.g. different precision, design, etc.)
Parametersregister: sizePE: #register & sizeLaoPE: #PEs, #register, & size
…
PE …linear array of PEs
register
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 12
MILAN for Reconfigurable Devices (II)
• Models are associated with the application model through mapping
• Performance Estimation– using Kernel Performance Estimator– automatically feedback to MILAN
models• Usage
– create library of designs– DSE through evaluation of available
choices
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 13
(Much) Simplified Operation
MILAN Modeling
MILAN Model Interpretation
CodeGenerator
DataflowKernel
App-SpecificLibraries
App-SpecificLibraries
App-SpecificLibraries
App-SpecificLibraries
App-SpecificLibraries
DSPLibraries
GlueCode
Compiler/Linker Exe
Dataflow Graph
Not shown:• Design space modeling and exploration• Requirement modeling• Resource modeling• Support for several simulators• Support for configurable hardware• Multi-granular simulation support• Auto-feedback from simulators• etc.
Application Code
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 14
Application Models
• Dataflow• Mixed synchronous and asynchronous• Strongly typed• Supports parametric models• Explicit alternatives• Supports components with functionality
implemented in hardware (targets SystemC and VHDL)
• Modeling support for multi-granular simulation
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 15
Resource Models
• Supports a large class of building-blocks (computing cores, memories, interconnects, etc.)
• Resources can be modeled at varying granularities• Single modeling paradigm for several heterogeneous
architectures• The parameters captured by the model represent:
– Capabilities and flexibilities provided by the architecture
– Options that can be exploited for power and time optimization
– Input needed by the integrated simulators
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 16
Design Space Exploration
DEsign Space ExploRation ToolMILAN/GME
XMLDesignSpaceRep.
App Space
Constraints
Binary Encoding
OBDD Representation
OBDD Representation
Symbolic Design Space
Pruned Design Space
SymbolicConstraint
Satisfaction
Re-encoding/Iterative Pruning
Symbolic Design Space Representation
Parsing/ Composing
Symbolic Constraint Representation
HW Space Binary EncodingOBDD
Representation
XML
I/F
XML
I/F
i
• Generic, domain-independent, constraint-based design space exploration tool, leveraging DARPA ACS technology• Tool interfaces specified and synthesized from meta-models, leveraging DARPA MoBIES technology for
facilitating tool integration• Extensions planned to enable representation of alternatives in the resource space• Results will be leveraged by DARPA PCA and MoBIES programs
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 17
MILAN Simulators
• Functional: Matlab, SystemC and VHDL
• High-level: HiperE
• Cycle accurate: SimpleScalar, SimplePower, PowerAnalyzer, Armulator, Code Composer:
– Use C code generated from app models– Use configuration files generated from resource models
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 18
RTES Structure (from BTeV)
Analysis
Runtime
Configuration, Design andAnalysis
AlgorithmsFault Behavior
Resource
Synt
hesis Performance
DiagnosabilityReliability
ExperimentControlInterface
SynthesisFee
dbac
k
ModelingReconfigure
Logi
cal D
ata N
et
Region Operations
Mgr
Region Operations
Mgr
L2,3/CISC/RISC L1/DSP
Region Fault Mgr
LocalFault MgrLocalFault Mgr
LocalOper. MgrLocalOper. Mgr
ARMOR/LinuxARMOR/Linux
Time Time
TriggerAlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithm
Time Time
TriggerAlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithm
LocalFault MgrLocalFault Mgr
LocalOper. MgrLocalOper. Mgr
ARMOR/LinuxARMOR/Linux
Time Time
TriggerAlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithm
Time Time
TriggerAlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithm
LocalFault MgrLocalFault Mgr
LocalOper. MgrLocalOper. Mgr
ARMOR/DSPARMOR/DSP
Time Time
TriggerAlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithm
Time Time
TriggerAlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithm
LocalFault MgrLocalFault Mgr
LocalOper. MgrLocalOper. Mgr
ARMOR/DSPARMOR/DSP
Time Time
TriggerAlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithm
Time Time
TriggerAlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithm
Logical Control NetworkLogical Control NetworkL
ogica
l Dat
a Net
Logical Control NetworkLogical Control Network Local
Fault MgrLocalFault Mgr
LocalOper. MgrLocalOper. Mgr
ARMOR/LinuxARMOR/Linux
Time Time
TriggerAlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithm
Time Time
TriggerAlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithmTrigger
AlgorithmTriggerAlgorithm
Logical Control Network
Global Fault Manager
Global Operations Manager
Soft Real Time Hard
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 19
Configuration through Modeling
• Multi-aspect tool, separate views of– Hardware – components and physical connectivity– Executables – configuration and logical connectivity– Fault handling behavior using hierarchical state machines
• Model interpreters can generate the system image– At the code fragment level (for fault handling)– Download scripts and configuration
• Modeling “languages” are application specific– Shapes, properties, associations, constraints– Appropriate to application/context
• System model• Messaging• Fault mitigation• GUI, etc.
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 20
MIC Based System Modeling
• Design a domain specific modeling language– Provision concepts for all the different aspects of the system– Express their interactions– A “super” system wide modeling language
• Implement a suite of translators– Generate fault mitigation behaviors– Generate system build configurations– Link with user code/libraries
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 21
SIML –System Integration Modeling Language
• Model Component Hierarchy and Interactions
• Loosely specified model of computation
• Model information relevant for system configuration
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 22
Data Type Modeling Language -DTML
• Modeling of Data Types and Structures
• Configure marshalling-demarshalling interfaces for communication
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 23
Modeling Environment
Fault handlingProcess dataflowHardware Configuration
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 24
System Architecture
• RunControl Manager• Router Information• How many regions ?• How many worker nodes
inside the region?• Node Identification
information
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 25
Fault Mitigation Modeling Language (1)
• Configuration of ARMOR Infrastructure (A)
• Modeling of Fault Mitigation Strategies (B)
• Specification of Communication Flow (C)
A B C
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 26
Fault Mitigation Modeling Language (2)
ARMOR
ARMOR Microkernel
Fault TolerantCustom Element
FMML Model – Behavior Aspect
CommunicationCustom Element
Switch(cur_state)case NOMINAL:I f (time(cc, p) { }
void invoke(FaultInjecerbose* msg){
printf("Callback. Recievededtml_rcver_LocalArmor_ct *Lo;
mc_message_ct *pmc = new m_ct;mc_bundle_ct *bundlepmc->ple();
pmc->assign_name();bundle=pmc->push_bundle();mc);
}};
Translator
• Model translator generates fault-tolerant strategies and communication flow strategy from FMML models• Strategies are plugged into ARMOR infrastructure as ARMOR elements• ARMOR infrastructure uses these custom elements to provide customized fault-tolerant protection to the
application
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 27
User Interface Modeling Language
• Enables reconfiguration of user interfaces• Structural and data flow codes generated
from models• User Interface produced by running the
generated code
Example User Interface Model
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 28
User Interface Generation
Generator
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 29
Versioning/Build System
• An equivalent XML representation of GME models is stored in the CVS tree– UDM tools provide forward and backward translation from MGA to XML
• Model transformers developed with UDM– Can be built for Windows and Linux platforms– Model transformation code is also stored in CVS
Compiler/Linker
Translator
SourceFiles
Models
LanguageSpecification
ArtifactsObjectArtifacts
ObjectExecutables
IN
OUT
IN OUT
IN
Compiler/Linker
Translator
SourceFiles
Models
LanguageSpecification
ArtifactsObjectArtifacts
ObjectExecutables
IN
OUT
IN OUT
IN
-
GSI, June 2006 Hans G. Essel Generic Modeling Environment 30
Versioning/Build System
Run TreeRun TreeSystem
Executables
Build TreeBuild Tree
UDM TranslatorsUDM TranslatorsCanonical
XML models
Domain ModelsDomain Models
MetamodelsMetamodels
Language Specification
Domain Artifacts
ArtifactsCompiler/Linker Translator
SourceFiles Models
LanguageSpecification
ObjectSourceArtifactsOUT
IN
OUT
IN
IN
Multi-stage build1. Compiles model transformers2. Makefiles invoke model transformers upon the stored models and generates code artifacts
(behavior/config code)3. Generated code place in the existing source tree 4. Source tree is compiled and linked to produce binaries5. Additional tools take over to traverse the run tree and distribute the components to all the nodes
Generic Modeling EnvironmentGME ArchitectureGME BasicsGME: simple meta model exampleGME: simple model made from this meta modelMILAN ObjectivesModel Integrated ComputingMILAN StatusMILAN and GMEclipseMILAN for Reconfigurable Devices (I)MILAN for Reconfigurable Devices (II)(Much) Simplified OperationApplication ModelsResource ModelsDesign Space ExplorationMILAN SimulatorsRTES Structure (from BTeV)Configuration through ModelingMIC Based System ModelingSIML –System Integration Modeling LanguageData Type Modeling Language -DTMLModeling EnvironmentSystem ArchitectureFault Mitigation Modeling Language (1)Fault Mitigation Modeling Language (2)User Interface Modeling LanguageUser Interface GenerationVersioning/Build SystemVersioning/Build System