pdms 2hr tutorial

78
1 PDMS – 2 Hour Tutorial

Upload: kopnang

Post on 17-Dec-2015

70 views

Category:

Documents


6 download

DESCRIPTION

PLANT DESIGN MANAGEMENT SYSTEM

TRANSCRIPT

  • 1 PDMS 2 Hour Tutorial

  • Multicore computing revolution The need for change

    Proposed Open Unified Technical Framework (OpenUTF) architecture standards OpenMSA, OSAMS, OpenCAF as future standards

    Introduction to parallel computing Programming models High Speed Communications (HSC) through shared memory

    Synchronization and Parallel Discrete Event Simulation (PDES) Event Management Time Management

    Open discussion

    PDMS 2 Hour Tutorial 2

  • MULTICORE Future of computing is

    PDMS 2 Hour Tutorial 3

  • PDMS 2 Hour Tutorial 4

    I skate to where the puck is going to be, not where it has been!Wayne Gretzky

  • Performance wall Clock speed and power consumption Memory access bottlenecks Single instruction level parallelism

    Multiple processors (cores) on a single chip is the future No foreseeable limit to the number of cores per chip Requires software to be written differently

    Supercomputing community consensus: Low-level parallel programming is too hard Threads, shared memory, locks/semaphores, race-conditions,

    repeatability, etc., are too hard and expensive to develop and debug (fine-grained HPC is not for your average programmer)

    Message-passing is much easier but can be less efficient High-level approaches, tools, and frameworks are needed (OpenUTF,

    new compilers, languages, math libraries, memory management, etc.)

    PDMS 2 Hour Tutorial 5

  • Computer/Blade/Cluster

    Board

    BoardBoard

    Chip

    Node

    Node

    Node

    Node

    Chip

    Node

    Node

    Node

    Node

    Chip

    Node

    Node

    Node

    Node

    Chip

    Node

    Node

    Node

    Node

    CloudCompu3ng,Netcentric,GIG,

    SystemsofSystems

    PDMS 2 Hour Tutorial 6

    World of computing is rapidly changing and will soon demand new parallel and distributed service-oriented programming methodologies and technical frameworks.

    Experts say that parallel and distributed programming is too hard for normal development teams. The Open Unified Technical Framework abstracts low-level programming details.

  • Microsoft Sponsor of the by-invitation-only 2007 Manycore Computing Workshop

    that brought together the whos who of supercomputing together Unanimous consensus on the need for multicore computing software

    tools and frameworks for developers (e.g., OpenUTF)

    Apple Snow Leopard will have no new features (focus on multicore computing) The next version of Apple's OS X operating system will include

    breakthroughs in programming parallel processors, Apple CEO Steve Jobs told The New York Times in an interview after this week's Worldwide Developers Conference. "The way the processor industry is going is to add more and more cores, but nobody knows how to program those things," Jobs said. "I mean, two, yeah; four, not really; eight, forget it.

    http://bits.blogs.nytimes.com/2008/06/10/apple-in-parallel-turning-the-pc-world-upside-down/

    PDMS 2 Hour Tutorial 7

  • Next generation chips Intel has disclosed details on a chip that will compete directly with Nvidia and ATI and may take it into unchartered technological and market-segment waters. Larrabee will be a stand-alone chip, meaning it will be very different than the low-endbut widely usedintegrated graphics that Intel now offers as part of the silicon that accompanies its processors. And Larrabee will be based on the universal Intel x86 architecture.

    The number of cores in each Larrabee chip may vary, according to market segment. Intel showed a slide with core counts ranging from 8 to 48, claiming performance scales almost linearly as more cores are added: that is, 16 cores will offer twice the performance of eight cores.

    http://i4you.wordpress.com/2008/08/05/intel-details-future-larrabee-graphics-chip

    PDMS 2 Hour Tutorial 8

  • Next generation chips

    Intel touts 8-core Xeon monster Nehalem-EX

    Intel gave a demo yesterday of its eight-core, 2.3 billion-transistor Nehalem-EX, which is set to launch later this year Nehalem EX has up to 8 cores, which gives a total of 16 threads per socket.

    By Jon Stokes | Last updated May 28, 2009 8:25 AM CT

    http://arstechnica.com/hardware/news/2009/05/intel-touts-8-core-xeon-monster.ars

    PDMS 2 Hour Tutorial 9

  • COMPOSABLE SYSTEMS Open Unified Technical Framework (OpenUTF)

    PDMS 2 Hour Tutorial 10

    OpenUTF Kernel

    Model Components

    Service Components

  • Simulation is not as cost effective as it should be we need to do things differently Revolutionary, not evolutionary change!

    Multicore computing revolution demands change in software development methodology need standardized framework

    New architecture standards we should be building models, not simulations

    Model and Service components developed in a common framework automates integration for Test and Evaluation

    Verification and Validation need a common test framework with standard processes

    Open source Overcomes the technology/cost barrier and supports widespread community involvement

    PDMS 2 Hour Tutorial 11

  • PDMS 2 Hour Tutorial 12

    10 ms 1 ms 100 s 10 s 1 s 100 ns 10 ns 1 ns

  • Requires assessment of the current state Existing tools, technologies, methodologies, data models, existing interfaces, policies, requirements, business models, contract language, lessons learned, impediments to progress, etc.

    Requires the right vision for the future Lowered costs, better quality, faster end-to-end execution, easier to use and maintain, feasible technology, optimal use of workforce skill sets, multiuse concepts, composability, modern computational architectures, multiplatform, net-centric, etc.

    Requires an executable transition strategy Incremental evolution, risk reduction, phased capability, accurately assessed transition costs, available funding, prioritization, community buy-in and participation, formation of new standards

    PDMS 2 Hour Tutorial 13

  • 1. Engine and Model Separation 2. Optimized Communications 3. Abstract Time 4. Scheduling Constructs 5. Time Management 6. Encapsulated Components 7. Hierarchical Composition 8. Distributable Composites 9. Abstract Interfaces 10. Interaction Constructs 11. Publish/Subscribe 12. Data Translation Services 13. Multiple Applications

    14. Platform Independence 15. Scalability 16. LVC Interoperability Standards 17. Web Services 18. Cognitive Behavior 19. Stochastic Modeling 20. Geospatial Representations 21. Software Utilities 22. External Modeling Framework 23. Output Data Formats 24. Test Framework 25. Community-wide Participation

    14 PDMS 2 Hour Tutorial

  • OpenMSA Layered Technology Focuses on parallel and distributed computing technologies Modularizes technologies through a layered architecture Contains OSAMS and OpenCAF Proven technologies based on experience with large programs Cost effective strategy for developing scalable computing technology Provides interoperability without sacrificing performance Facilitates sequential, parallel, and distributed computing paradigms

    OSAMS Model/Service Composability Focuses on interfaces and software development methodology to

    support highly interoperable plug-and-play model/service components Provided by OpenMSA but could be supported by other architectures

    OpenCAF Cognitive Intelligent Behavior Thoughts and stimulus, goal-oriented behaviors, decision branch

    exploration, five dimensional excursions Provided as an extension to OSAMS

    PDMS 2 Hour Tutorial 15

  • OpenCAF Behaviors Cognitive Thought Processes

    5D Simulation Goal-oriented Optimization

    OSAMS Modularity Composability Interoperability Flexibility Programming Constructs

    VV&A

    OpenMSA Open Source Technology HPC/Multicore Performance Synchronization

    OpenUTF Architecture Standards Net-centricity Data Models

    HPC

    Network

    Scheduling

    Modeling Framework

    Services

    Models

    Behavior Representation

    Cognitive Rule Triggering

    Bayesian Branching

    Goals and State Machines

    Decision Support

    Composites

    Pub/Sub Services

    LVC Interoperability

    Web-based SOA

    16 PDMS 2 Hour Tutorial

  • Operating System ServicesThreads

    General Software Utilities (OSAMS)ORB Network Services

    Internal High Speed Communications External Distributed CommunicationsRollback Framework

    Rollback Utilities (OSAMS)Persistence (OSAMS)

    Standard Template Library (OSAMS)Event Management Services

    Time ManagementStandard Modeling Framework (OSAMS, OpenCAF)

    Distributed Simulation Management Services (OSAMS Pub/Sub Data Distribution)SOM/FOM Data Translation Services

    External ModelingFramework (EMF)

    &DistributedBlackboard

    Gateway Interfaces(HLA, DIS,

    TENA, Web-basedSOA)

    HPC-RTIBridge

    Model & Service Component RepositoryEntity Composite Repository

    CASE Tools

    DirectFederate

    AbstractFederate

    HLAFederate

    LVC Federation& Enterprises

    External SystemVisualization/Analysis

    17 PDMS 2 Hour Tutorial

  • 18

    Thought 1

    Stimulus - Perception(Short Term Memory)

    Thought 2

    Thought N

    Data ProcessingBehaviors, Tasks, Notifications, Abstract Methods, Uncertainty

    Data ReceivedFederation Objects and/or Interactions

    Prioritized Goals State, Action & Task ManagementTasksTasksTasks

    (5D Branching)

    Reas

    oning

    En

    gine

    PDMS 2 Hour Tutorial

  • Outputs

    Inputs

    Left brain reasoning Inputs are ints, doubles, or

    Boolean Inputs are prioritized when

    they are associated with RBRs

    Inputs can be fed into multiple reasoning nodes

    Outputs can be inputs to other reasoning nodes

    Feedback loops are permitted

    W X Y Z

    B CA

    19

    Based on OpenUTF Kernel Sensitivity List Sensitive variables (stimulus) are registered with sensitive methods (thoughts) Thoughts are automatically triggered whenever registered stimulus is modified Thoughts can modify other stimulus to triggers additional thoughts Terminates when solution converges or when reaching max thoughts

    PDMS 2 Hour Tutorial

  • Outputs

    Inputs

    Learned reasoning Inputs are ints, doubles, or

    Boolean TBR is trained and then

    utilized to produce outputs (can be continually trained during execution)

    Inputs can be fed into multiple reasoning nodes

    Outputs can be inputs to other reasoning nodes

    Feedback loops are permitted

    W X Y Z

    B CA

    20 PDMS 2 Hour Tutorial

  • 1 =W +X +Y +ZA = W W +X X +Y Y +Z Z [ ] TW 2TX1TY1TZ 3

    Right brain reasoning Inputs are normalized,

    weighted, and summed Sum is multiplied by the

    product of thresholds to produce the output

    Output is normalized Inputs can be fed into

    multiple reasoning nodes Outputs can be inputs to

    other reasoning nodes Feedback loops are

    permitted

    W

    TW1

    TW2

    TW30

    1TX1

    TX20

    1

    TY1

    0

    1 TZ1

    TZ3TZ10

    1

    X Y Z

    TZ2

    Output

    InputsW X Y Z

    A

    21 PDMS 2 Hour Tutorial

  • Arbitrary graphs can be constructed from Rules, Neural Nets, and Emotions

    Outputs of graphs can trigger changes to behaviors by reprioritizing goals

    Behaviors are only triggered once reasoning is completed

    22

    Emotion Based Reasoning

    Training Based Reasoning

    Rule Based Reasoning

    PDMS 2 Hour Tutorial

  • PDMS 2 Hour Tutorial 23

    Net Centric Enterprise Framework Composable

    Systems LVC Web GCCS Data Visualization

    Composable Plug and Play OpenUTF

    Kernel Service

    Components Model

    Components Abstract

    Interfaces V&V Test

    Framework

    Monolithic Applications Collection of Hardwired Services

    Simulations Collection of Hardwired Models

  • PDMS 2 Hour Tutorial 24

  • PDMS 2 Hour Tutorial 25

    Reusable Software Components Plug and Play Composability Conceptual Model Interoperability Pub/Sub Data Distribution & abstract Interfaces V&V Test Framework Performance Benchmarks

    Parallel and Distributed Operation Scalable Run-time Performance Platform/OS Independence OpenMSA: Technology OSAMS: Modeling Constructs OpenCAF: Behavior Representation

    Composable Systems LVC (HLA, DIS, TENA) Web Services (SOA) Data Model C4I/GCCS Visualization and Analysis

  • OpenUTF Kernel

    PDMS 2 Hour Tutorial 26

    ComposableSystem

    Plug-and-play Model/Service Components

    Net-centric Operation: - Enterprise Frameworks - Command and Control - Standard Data Models

    Legacy Interoperability: - Distributed Federation - Training, Analysis, Test - FOM/SOM

    Standalone Operation: - Laptops, Desktops, Clusters, HPC - Standalone Operation - Pub/Sub Data Distribution

  • Transparently hosts hierarchical services using the same interfaces as model components

    SOAP interface connects services to external applications

    Collections of related services are dynamically configured and distributed across processors on multicore systems

    Services internally communicate through pub/sub services and decoupled abstract interfaces

    Seamlessly supports LVC integration

    PDMS 2 Hour Tutorial 27

    Composite Net Centric System onMulticore Computer

    Subscribed Data Received Published Data Provided

    Abstract Services Provided Abstract Services Invoked

    Services communicate through Pub/Sub data exchanges and abstract interfaces

    Composites are distributed across processors to achieve parallel performance

    WebServices

    Net-centric SOA/LVC on Networks of Single-processor and Multicore Computers

    Dynamically configuredstructure

    LVCInterface

  • PDMS 2 Hour Tutorial 28

    Global Installation & Make System

    Installation & Make System

    DAS

    ETS

    T&D

    Models

    Weather

    CCSI

    ATP-45

    Services

    Polymorphic Methods

    Interactions

    Federation Objects

    XML Interfaces

    Web Services

    Interfaces

    Source Include Library

    DAS

    ETS

    T&D

    Weather

    CCSI

    ATP-45

    Verification

    DAS

    ETS

    T&D

    Weather

    CCSI

    ATP-45

    Validation

    DAS

    ETS

    T&D

    Weather

    CCSI

    ATP-45

    Benchmarks

    Tests

    Component Repository

    Installation & Make System

    OpenUTF Kernel

    320,000 Lines of Code

    OpenUTF

    General concept Government maintained software configuration management Automatic platform-independent installation & make system Test framework (verification, validation, and benchmarks) Will seamlessly support mainstream interoperability standards Designed for secure community-wide software distribution

  • PDMS 2 Hour Tutorial 29

    OpenUTF Kernel

    LVC Interoperability

    Standards

    Web Standards

    Models

    Services

    V&V Test Framework Data &

    Interfaces

    Development Tools

    Composability Tools

    Visualization Tools

    Analysis Tools

  • PARALLEL COMPUTING Introduction to

    PDMS 2 Hour Tutorial 30

    16 Node Hypercube TopologyLog2(N) worst case hops

    2D Mesh Topology(m+n) worst case hops

    3D Mesh Topology(l+m+n) worst case hops

  • PDMS 2 Hour Tutorial 31

    Startup

    Initialize

    Compute

    Communicate

    Store Results

    File

    Process Cycle

    Initialize

    Compute

    Communicate

    Store Results

    File

    Process Cycle

    Initialize

    Compute

    Communicate

    Store Results

    File

    Process Cycle

    Node 0 Node 1 Node N-1

  • Parallel computing vs. distributed computing Parallel computing maps computations, data, and/or object instances of

    within an application to multiple processors to obtain scalable speedup Normally occurs on a single multicore computer, but can operate

    across multiple machines The entire application crashes if one node or thread crashes

    Distributed computing interconnects loosely coupled applications within a network environment to support interoperable execution

    Normally occurs on multiple networked machines, but can operate on a single multicore computer

    Dynamic connectivity supports fault tolerance but loses scalability

    Speedup(N) = T1 / TN

    Efficiency(N) = Speedup / N

    RelativeEfficiency(M,N) = (M / N) [Speedup(N) / Speedup(M)]

    PDMS 2 Hour Tutorial 32

  • Time driven (or time stepping) is the simplest approach for (double time=0.0; time < END_TIME; time+=STEP) {

    UpateSystem(time);

    Communicate();

    }

    The discrete event approach (or event stepping) manages activities within the system more efficiently Events occur at a point in time and have no duration Events do not have to correspond to physical activities (pseudo-events) Events occur for individual object instances, not for the entire system Events when processed can modify state variables and/or schedule new

    events

    Parallel discrete event simulation offers unique synchronization challenges

    PDMS 2 Hour Tutorial 33

  • Distributed net-centric computing Programs communicate through a network interface

    TCP/IP, HTTPS, SOA and Web Services, Client/Server, CORBA, Federations, Enterprises, Grid Computing, NCES, etc.

    Parallel multicore computing Processors directly communicate through high speed mechanisms

    Threads, shared memory, message passing

    PDMS 2 Hour Tutorial 34

    SequentialProgram MultiThreaded

    SharedMemory

    MessagePassing

  • PDMS 2 Hour Tutorial 35

    SharedMemoryServer

    SharedMemoryServer

    SharedMemoryServer

    ClusterServer

    Parallel Application

    Parallel Application

    Parallel Application

  • Startup and Terminate Forks processes Cleans up shared memory

    Miscellaneous services Node info, shared memory tuning

    parameters, etc.

    Synchronization Hard and fuzzy barriers

    Global reductions Min, Max, Sum, Product, etc. Performance Statistics Can support user-defined

    operations

    Synchronized data distribution Broadcast, Scatter, Gather, Form

    Matrix

    Asynchronous Message Passing

    Unicast, destination-based multicast, broadcast

    Automatic or user-defined memory allocation

    Up to 256 message types Coordinated Message Passing

    Patterned after the Crystal Router Synchronized operation

    guarantees all messages received by all nodes

    Unicast, destination-based multicast, broadcast

    ORB Services Remote asynchronous method

    invocation with user-specified interfaces

    PDMS 2 Hour Tutorial 36

  • PDMS 2 Hour Tutorial 37

    Node 0

    Node 1

    Node 2

    Node 3

    Node 4

    Example of a global synchronization on five processing nodes

    Stage 0 Stage 1 Stage 2 Stage 3

    Wait UntilCompleted

    FinalResult

  • PDMS 2 Hour Tutorial 38

  • PDMS 2 Hour Tutorial 39

    Slots (circular buffer)Node 0Node 1Node 2Node 3

    Tail

    Head

    Output Messages (circular buffer)

    One shared memory block per nodeSlots manage incoming messages for each nodeCircular buffer manages outgoing messages

    Steps in sending a message:1. Write header and message to head in senders

    output message buffer.2. Write index of msg header in the receiving node

    shared memory slot for the senders node.Steps in receiving a message1. Iterate over slot mgrs to find messages2. Read message using index in the slot3. Mark the header as being read

    Potential technical issues

    Cache coherency

    Instruction synchronization

  • PDMS 2 Hour Tutorial 40

    CircularBuffer

    Tail

    Head

    CircularBuffer

    Head

    Tail

    Tail chasing Head Head chasing Tail

  • PDMS 2 Hour Tutorial 41

    Header 1Header 2

    Header n

    int NumBytes

    int Index

    unsigned short Packetunsigned short NumPacketschar DummyChar0char DummyChar1char DummyChar2char ReadFlag

    Mes

    sage

    For

    mat

    Head

    er F

    orm

    at

  • PDMS 2 Hour Tutorial 42

  • PDMS 2 Hour Tutorial 43

  • SYNCHRONIZATION Parallel Discrete Event Simulation (PDES)

    PDMS 2 Hour Tutorial 44

  • Standardized processing cycle interfaces to support any time management algorithm Uses virtual functions on scheduler to specialize processing steps Supports reentrant applications (e.g., HPC-RTI, graphical interfaces,

    etc.)

    Highly optimized internal algorithms for managing events Optimized and flexible event queue infrastructure Native support for sequential, conservative, and optimistic processing Internal usage of free lists to reduce memory allocation overheads Optimized memory management with high speed communications

    Statistics gathering and debug support Rollback and rollforward application testing Automatic statistics gathering (live critical path analysis, message

    statistics, event processing and rollbacks, memory usage, etc.) Merged trace file generation for debugging parallel simulations that can

    be tailored to include rollback information, performance data, and user output

    PDMS 2 Hour Tutorial 45

  • Time Management Modes are generically implemented through class inheritance from the WpScheduler OpenMSA provides a generic framework to support basic parallel and

    distributed event processing operations, which makes it easy to implement new time management algorithms

    OpenMSA creates the object implementing the requested time management algorithm at run time

    The base class WpScheduler provides generic event management services for sequential, conservative, and optimistic processing

    WpWarpSpeed, WpSonicSpeed, WpLightSpeed, and WpHyperWarpSpeed time management objects inherit from WpScheduler to implement their specific event processing and synchronization algorithms

    PDMS 2 Hour Tutorial 46

  • PDMS 2 Hour Tutorial 47

    Execute { Initialize Process Up To (End Time) Terminate }

    Process Up To (Time) { while (GVT < Time) { Process GVT Cycle } }

    main { Plug in User SimObjs Plug in User Components Plug in User Events Execute }

    Initialize { Launch processes Establish Communications Construct/Initialize SimObjs Schedule Initial Events }

    Terminate { Terminate All SimObjs Print Final Statistics Shut Down Communications }

    Process GVT Cycle { Process Events & User Functions Update GVT Commit Events Print GVT Statistics }

  • PDMS 2 Hour Tutorial 48

    *

    *

    *

    *

  • PDMS 2 Hour Tutorial 49

    *

    * 1

  • PDMS 2 Hour Tutorial 50

    Processed Events Doubly Linked List

    Future Pending Events Priority Queue

    Simulation Time Rollback Queue

    Event Messages

    Scheduler: A priority queue of Logical Processes (i.e., Simulation Objects) ordered by next event time

    Simulation Time

  • Priority queue uses new self-correcting tree data structure that employs a heuristic to keep the tree roughly balanced Tree data structure efficiently supports three critical operations

    Element insertion in O(log2(n)) time Element retraction in O(log2(n)) time Element removal in O(1) time

    Does not require storage of additional information in tree nodes to keep the tree balanced

    Tracks depth on insert and find operations to adjust tree organization through specially combined multi-rotation operations

    Goal is to minimize long left/left and/or right/right chains of elements in the tree

    Competes with STL Red-Black Tree Beats STL when compiled unoptimized Slightly worse than STL when compiled optimized

    PDMS 2 Hour Tutorial 51

  • PDMS 2 Hour Tutorial 52

    OptimalDepth = log2(NumElements)NumRotations = ActualDepth OptimalDepth

    Rotation heuristic decreases depth to keep the tree roughly balanced

  • Rollback Manager Manages list of rollbackable items that were created as rollbackable

    operations are performed Each event provides a rollback manager

    Global pointer is set before the event is processed Rollbacks are performed in reverse order to undo operations

    Rollback Items Each rollbackable operation generates a Rollback Item that is managed

    by the Rollback Manager Rollback utilities include (1) native data types, (2) memory

    operations, (3) container classes, (4) strings, and (5) various misc. operations

    Rollback Items inherit from the base class to provide four virtual functions

    Rollback, Rollforward, Commit, Uncommit

    PDMS 2 Hour Tutorial 53

  • Distributed Synchronization

    Conservative Vs. Optimistic Algorithms

    Rollbacks in the Time Warp Algorithm

    The Event Horizon

    Breathing Time Buckets

    Breathing Time Warp

    WarpSpeed

    Four Flow Control Techniques

    PDMS 2 Hour Tutorial 54

  • PDMS 2 Hour Tutorial 55

  • Conservative algorithms impose one or more constraints Object interactions limited to just neighbors (e.g., Chandy-Misra) Object interactions have non-zero time scales (e.g., lookahead) Object interactions follow FIFO constraint

    Optimistic algorithms impose no constraints but require a more sophisticated engine Support for rollbacks (and advanced features for rollforward) Require flow control to provide stability Optimistic approaches can sometimes support real-time applications

    better...

    The most important thing is for applications to develop their models to maximize parallelism Simulations will generally not execute in parallel faster than their critical

    path

    PDMS 2 Hour Tutorial 56

  • E

    F

    D

    A

    B

    C

    G

    57 PDMS 2 Hour Tutorial

  • PDMS 2 Hour Tutorial 58

    D FIFO Input Q

    Scheduled inputevents and timefrom C

    Self-scheduledevents and timefrom D

    Scheduled inputevents and timefrom E

    Scheduled outputevents and time to F

    Scheduled outputevents and time to B

    FIFO

    FIFO

    FIFO Input

    Q

    FIFO Input

    Q

  • GVT is defined as the minimum time-tag of: Unprocessed event Unsent message Message or antimessage in transit

    Theoretically, GVT changes as events are processed In practice, GVT is updated periodically by a GVT update algorithm

    To correctly provide time management services to the outside world, GVT must be updated synchronously between internal nodes

    PDMS 2 Hour Tutorial 59

  • PDMS 2 Hour Tutorial 60

  • PDMS 2 Hour Tutorial 61

  • PDMS 2 Hour Tutorial 62

  • PDMS 2 Hour Tutorial 63

    20,00010,00000

    10

    20

    30

    40

    50

    60

    70

    80

    90

    100

    Time WarpBreathing Time Buckets

    Simulation Time

    CPU

    Tim

    eProximity Detection (32 Nodes)259 Ground Sensors1099 Aircraft

  • PDMS 2 Hour Tutorial 64

    20,00010,00000

    100,000

    200,000

    300,000

    400,000

    500,000

    Simulation Time

    Even

    ts a

    nd R

    ollb

    acks

    ProcessedEvents

    Time WarpRollbacks

    Breathing Time BucketsRollbacks

    Proximity Detection (32 Nodes)259 Ground Sensors1099 Aircraft

  • PDMS 2 Hour Tutorial 65

  • PDMS 2 Hour Tutorial 66

    GeneratedMessages

    GeneratedMessages

  • Opposite problems when comparing Breathing Time Buckets and Time Warp

    Imagine mapping events into a global event queue

    Events processed by runaway nodes have good chance of being rolled back

    Should hold back messages from runaway nodes

    PDMS 2 Hour Tutorial 67

  • Example with four nodes Time Warp: Messages released as events are processed Breathing Time Buckets: Messages held back GVT: Flushes messages out of network while processing events Commit: Releases event horizon messages and commits events

    PDMS 2 Hour Tutorial 68

    Wall Time

  • Abstract representation of logical time uses 5 tie-breaking fields to guarantee unique time tags double Time Simulated physical time of the event int Priority1 First user settable priority field int Priority2 Second user settable priority field int Counter Event counter of the scheduling SimObj int UniqueId Globally unique Id of the scheduling SimObj

    Guaranteed logical times The OpenUTF automatically increments the SimObj event Counter to

    guarantee that each SimObj schedules its events with unique time tags Note, Counter may jump to ensure that events have increasing

    time tags SimObj Counter = max(SimObj Counter, Event Counter) + 1

    The OpenUTF automatically stores the UniqueId of the SimObj in event time tags to guarantee that events scheduled by different SimObjs are unique

    PDMS 2 Hour Tutorial 69

  • Four algorithms, selectable at run-time, are currently supported in the OpenUTF reference implementation LightSpeed for fast sequential processing

    Optimistic processing overheads are removed Parallel processing overheads are removed

    SonicSpeed for ultra-fast sequential parallel and conservative event processing

    Highly optimized event management (no bells and whistles) WarpSpeed for optimistic parallel event processing with four new flow

    control techniques to ensure stability Cascading antimessages can be eliminated Individual event lookahead evaluation for message-sending risk Message sending risk based on uncommitted event CPU time Run-time adaptable flow control for risk and optimistic processing

    HyperWarpSpeed for supporting five-dimensional simulation Branch excursions, event splitting/merging, parallel universes

    PDMS 2 Hour Tutorial 70

  • PDMS 2 Hour Tutorial 71

    GVT Time

    GVT Time

    Hold Back Messages

    Ok to Send Messages

    Cas

    e 1

    Cas

    e 2

  • PDMS 2 Hour Tutorial 72

    Time Send Messages Hold Back Message

    Risk Lookahead

  • PDMS 2 Hour Tutorial 73

    Time

    Processing Threshold Exceeded Hold Back Messages

    Tcpu

    0

    Tcpu

    1

    Tcpu

    2 Tc

    pu3

    Tcpu

    4

    Tcpu

    5

    Tcpu

    6

  • PDMS 2 Hour Tutorial 74

    NR

    ollb

    acks

    Time

    Unstable - Decrease Nopt

    Stable - Slightly Increase Nopt

    NA

    ntim

    essa

    gess

    Time

    Unstable - Decrease Nrisk

    Stable - Slightly Increase Nrisk

  • PDMS 2 Hour Tutorial 75

  • PDMS 2 Hour Tutorial 76

  • OPEN DISCUSSION Final thoughts

    PDMS 2 Hour Tutorial 77

  • Participate in the PDMS Standing Study Group (PDMS-SSG) Simulation Users Model Developers Technologists Sponsors Program Managers Policy Makers

    Receive OpenUTF hands-on training for the open source reference implementation One-week hands-on-training events can be arranged for groups if there

    is enough participation

    Begin considering OpenUTF architecture standards OpenMSA layered technology OSAMS plug-and-play components OpenCAF representation of intelligent behavior

    PDMS 2 Hour Tutorial 78