Geoscience Reference
In-Depth Information
event handling. In both cases also synchronization overheads between threads in
Java contribute to the increased computation time which is further discussed in the
following sections.
9.5.1.1
Load Balancing
For decoupling of different micro-simulation threads, the workload needs to be
distributed evenly among them, and the time period ı for two periodical synchro-
nizations between threads should be as long as possible.
For assigning the same amount of work to all threads, currently the network is
partitioned at the beginning of the iteration. However, as traffic load changes over
the day, this may lead to a major imbalance of workload among threads during the
course of the iteration. This causes faster threads to wait for slower ones due to the
periodic synchronization. This situation could be improved by changing the network
partition assignment to threads during the iteration to correct for the imbalance. This
operation could be performed at the time when synchronization between threads
happens.
Besides the workload, the coupling of two threads is affected by the time period
ı after which two threads need to synchronize. This time is determined by the link
with the shortest travel time at the border of two network partitions. Therefore,
a way forward might be to partition the network in a way which maximizes the
duration between two consecutive thread synchronizations. But it is unclear how
much coupling between threads is caused due to an imbalance of workload between
threads and how much improvement could be achieved by partitioning the network
in a way that ı is maximized. Therefore, extensive experiments would be required in
this regard to be able to make recommendations on how to proceed in this regards.
9.5.1.2
Trade-Off: Preciseness Versus Performance
If the synchronization time period between two threads is above its maximum
value (defined by the link with the shortest travel time at the partition border),
race conditions will occur, meaning that cars at the border links could enter the
neighboring partition too early or too late, leading to a distortion of traffic patterns.
It would be interesting to investigate up to what value of ı a significant performance
increase can be achieved and how much the traffic patterns are affected due to
this. According to initial experiments in this regard, a possible trade-off between
preciseness and performance could be a viable way to increase performance.
9.5.1.3
Adaptation of Event Handling
The events processed by event handling must have an ascending time stamp.
However, this is not naturally the case when events are generated by different threads
of the parallel micro-simulation. Therefore, neither the current single-threaded event
Search WWH ::




Custom Search