cbm daq bnet - gsi• router information • how many regions ? • how many worker nodes inside the...

30
GSI, June 2006 Hans G. Essel Generic Modeling Environment 1 Generic Modeling Environment H.G.Essel

Upload: others

Post on 26-Jan-2021

1 views

Category:

Documents


0 download

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