Changes between Version 5 and Version 6 of PTVS_Intro


Ignore:
Timestamp:
Dec 4, 2009, 5:54:53 PM (14 years ago)
Author:
sinziana.mazilu
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PTVS_Intro

    v5 v6  
    66'''''What has happened? What's been going on?'''''
    77
    8 The adoption of simulation techniques for the analysis of large-scale, dynamic and complex vehicular networks and related wireless communication-based services, creates severe problems in terms of simulation resources and simulation performance.
     8The adoption of simulation techniques for the analysis of large-scale, dynamic and complex vehicular networks
     9and related wireless communication-based services, creates severe problems in terms of simulation resources and
     10simulation performance.
    911
    10 In a simulation, the individual evolution of a massive number of entities, the dynamic correlation effects due to mobility and the local broadcast nature of the wireless signal propagation effects in urban scenarios greatly increase computational requirements.
     12In a simulation, the individual evolution of a massive number of entities, the dynamic correlation effects due
     13to mobility and the local broadcast nature of the wireless signal propagation effects in urban scenarios greatly
     14increase computational requirements.
    1115
    12 A sequential simulation of a real scenario with a large number of complex model entities (like vehicles running distributed services and their wireless communications) may become computationally infeasible on a single physical execution unit. This is why solutions based on parallel computing architectures like SIMD architectures have been considered, but they are usefull only for homogeneous models.
     16A sequential simulation of a real scenario with a large number of complex model entities (like vehicles running
     17distributed services and their wireless communications) may become computationally infeasible on a single physi-
     18cal execution unit. This is why solutions based on parallel computing architectures like SIMD architectures have
     19been considered, but they are useful only for homogeneous models.
    1320
    14 Parallel and HPC architectures have high cost and require expertise in parallel programming to exploit the architecture potential. The Parallel and Distributed Simulation (PADS) exploit concurent computation over different execution units.
     21Parallel and HPC architectures have high cost and require expertise in parallel programming to exploit the archi-
     22tecture potential. The Parallel and Distributed Simulation (PADS) exploit concurent computation over different
     23execution units.
    1524
    1625== So What? ==
     
    1827'''''What should we do? Why this?'''''
    1928
    20 Single-threaded simulation engines based on instantaneous events have just one current event. In contrast, multi-threaded simulation engines supporting an interval based event model may have multiple current events. In both cases there are significant problems with synchronization between current events.
     29Single-threaded simulation engines based on instantaneous events have just one current event. In contrast, multi-
     30threaded simulation engines supporting an interval based event model may have multiple current events. In both
     31cases there are significant problems with synchronization between current events.
    2132
    22 VNSim is a discrete event simulator, which means that the simulation time advances with a fixed time resolution after executing the application code for the current coment of the simulation time.
    23 This means that at every moment of the simulation time, all the current events are pulled from the queue of events and handeled in a random order.
     33VNSim is a discrete event simulator, which means that the simulation time advances with a fixed time resolution
     34after executing the application code for the current comment of the simulation time. This means that at every
     35moment of the simulation time, all the current events are pulled from the queue of events and handeled in a random
     36order.
    2437
    25 In event based simulators time increases variably, based on the occurence of events.
    26 When the engine advances the simulation time, it pulls out from the main event queue that it manages all the events for the new moment of time.
     38In event based simulators time increases variably, based on the occurrence of events.
     39When the engine advances the simulation time, it pulls out from the main event queue that it manages all the events
     40for the new moment of time.
    2741
    28 We want to find a solution for using multi-threading processing in order to obtain increased performances and speadup in the event-queue processing.
    29 First we split the map in independent regions. We want to keep multiple event-queues and in every queue we hold only events associated to a certain region of the map, independent from others regions. Based on the location where the event was produced, this event is introduced in a certain event-queue. Different thread will process different event-queues.
     42We want to find a solution for using multi-threading processing in order to obtain increased performances and
     43speedup in the event-queue processing. First we split the map in independent regions. We want to keep multiple event
     44-queues and in every queue we hold only events associated to a certain region of the map, independent from others
     45regions. Based on the location where the event was produced, this event is introduced in a certain event-queue.
     46Different thread will process different event-queues.
    3047
    31 What we need is a priority queue algorithm. The pending event queue is organized as a priority queue sorted by event time. This means that regardless of the order in which events are added, they are removed in strictly chronological order. Events are then scheduled dynamically as the simulation proceeds.
     48What we need is a priority queue algorithm. The pending event queue is organized as a priority queue sorted by event
     49time. This means that regardless of the order in which events are added, they are removed in strictly chronological
     50order. Events are then scheduled dynamically as the simulation proceeds.
    3251
    33 Every event has a reference to a thread who will process it, and when that event is pulled off from the queue that thread is restarted/ awaken. So the events comming from independent intersections will be processed in parallel, because they are associated to different threads.
     52Every event has a reference to a thread who will process it, and when that event is pulled off from the queue that
     53thread is restarted/ awaken. So the events coming from independent intersections will be processed in parallel,
     54because they are associated to different threads.
    3455
    3556A simulation engine may have the following logic:
     
    3960        START:[[BR]]
    4061
    41         -initialize ending condition to false[[BR]]
    42 
    43         -initialize system state variables[[BR]]
    44 
    45         -initialize clock (usually starts at simulation time zero)[[BR]]
    46 
    47         -schedule an initial event (put some initial event into the event queue)[[BR]]
     62        * initialize ending condition to false[[BR]]
     63        * initialize system state variables[[BR]]
     64        * initialize clock (usually starts at simulation time zero)[[BR]]
     65        * schedule an initial event (put some initial event into the event queue)[[BR]]
    4866
    4967        DO LOOP or WHILE LOOP:[[BR]]
     
    5169        While (ending condition is false) do[[BR]]
    5270
    53         -set clock to next event time[[BR]]
    54 
    55         -process next event and remove from the event-queue[[BR]]
    56 
    57         -update statistics[[BR]]
     71        * set clock to next event time[[BR]]
     72        * process next event and remove from the event-queue[[BR]]
     73        * update statistics[[BR]]
    5874
    5975        END:[[BR]]
    6076
    61         -generate statistics[[BR]]
     77        * generate statistics[[BR]]
    6278
    6379