wiki:PTVS_Res

Version 17 (modified by sinziana.mazilu, 14 years ago) (diff)

--

<< Home

Results

We have tested our implementation with a map with 16 intersections. For each intersection there is an event processing thread assigned to handle the events coming from the surrounding area.


When an event is extracted from the queue, if and only if it is a send or receive event, the list of all intersections is iterated, the closest one in determined and the proper thread in instantiated and started. The intersection must be on the same road with the source or destination point of the event.

We have tested using a scenario with one very short route near the intersection [Energetica Derdelus]. The results show that the closest intersection is computed and the proper thread started. In this particular example it is the thread 6 from the intersection [Energetica Derdelus].

Example of points around the interest intersection:

Intersection 6:  name: [Energetica Derdelus] (26.046 809934238127, 44.437 560887805944)[[BR]]

p:(26.045079934242494, 44.435809887810365)
p:(26.05040893422904, 44.43794988780496)
p:(26.05040893422904, 44.43794988780496)
p:(26.05040893422904, 44.43794988780496)
p:(26.05040893422904, 44.43794988780496)
p:(26.05040893422904, 44.43794988780496)
p:(26.05040893422904, 44.43794988780496)

What the thread does is to get the event from the queue and to call playEvent method. This method determines the processing of the event depending on its type, creation and planning of new events. Some piece of output:

--- no of events in the queue:28
Processing thread 6 from intersection [ Energetica Derdelus ]
--- no of events in the queue:27
Processing thread 6 from intersection [ Energetica Derdelus ]
--- no of events in the queue:26
Processing thread 6 from intersection [ Energetica Derdelus ]
--- no of events in the queue:25
Processing thread 6 from intersection [ Energetica Derdelus ]
--- no of events in the queue:24
Processing thread 6 from intersection [ Energetica Derdelus ]
--- no of events in the queue:23
Processing thread 6 from intersection [ Energetica Derdelus ]
--- no of events in the queue:22
Processing thread 6 from intersection [ Energetica Derdelus ]
--- no of events in the queue:21
Processing thread 6 from intersection [ Energetica Derdelus ]
--- no of events in the queue:20
Processing thread 6 from intersection [ Energetica Derdelus ]
--- no of events in the queue:19
Processing thread 6 from intersection [ Energetica Derdelus]

Results that we obtained with our first implementation (based on intersections), compared with the serial one:

  1. Test Scenario - Poli Scenario (all default settings), real time for both cases - 5 minutes

Result on fep:

parallel:

Real time: 0:5:0:450 Sim time: 0:44:17:0 Step: 265700 Events pending: 309 Cars no: 18

serial:

Real time: 0:5:0:630 Sim time: 0:31:36:0 Step: 189600 Events pending: 26 Cars no: 10

Results on personal computer (Intel Core 2 Duo): parallel:

serial:

As we can see, we have more simulation time for the same real time in parallel case.

Other results you can see on http://sites.google.com/site/sinzianamazilu/ptvs-project

Attachments (6)

Download all attachments as: .zip