LBNL-UCB-STI / beam

The Framework for Modeling Behavior, Energy, Autonomy, and Mobility in Transportation Systems
https://transportation.lbl.gov/beam
Other
147 stars 57 forks source link

ZonalParkingManager slows down badly big scenarios #2410

Closed REASY closed 4 years ago

REASY commented 4 years ago

smart-baseline with the full population, but on the bigger machine, r5.24xlarge with enough RAM:

It has been running for more than 3.5 hours, but it is still doing parking related things.

Overall CPU consumption during 3 hours:

image

What happens in the threads:

image

JFR and logs are located here: https://s3.us-east-2.amazonaws.com/beam-outputs/index.html#performance_related/march_2020/sfbay-smart-base-2.47_population__2020-03-12_12-18-52_epp

REASY commented 4 years ago

Currently we have only one instance of ZonalParkingManager for the whole iteration: https://github.com/LBNL-UCB-STI/beam/blob/0ffff3a82a9433baf8e5a729c20fe8f3908ca078/src/main/scala/beam/sim/BeamMobsim.scala#L168 Is it possible to create multiple parking managers which manage their geo areas? In this case we will share nothing between different parking managers and don't need to synchronize their states.

dimaopen commented 4 years ago

In order to avoid this bottleneck, ParallelParkingManager has been implemented. It reduced the execution time from 90 min to 9 min for some scenarios. If we have all the parking requests to a limited number of parking clusters at a particular time then performance improvement is smaller.