Project Meeting 2023.03.28 - ActivitySim/activitysim GitHub Wiki

Agenda

  • Two Zone Profiling
  • Road Map Objectives
  • [PR #660]: BayDAG PR related to trip scheduling

Action Items

  • Jeff to investigate potential bug in sharrow code that is defaulting to legacy model code for accessibility calculations.
  • Consortium to review proposed Road Map Objectives and provide comments via email to WSP.

Meeting Notes

Two Zone Profiling

  • Presentation: ActivitySim Memory Profiling Task - Progress Update 3-28-2023.pptx
  • Reminder from last meeting that the memory peak for the two-zone systems is the accessibility calculations because it’s using MAZ-to-MAZ data, which is a lot of O-D pairs, and uses MAZs to query skims.
  • The line (noted below) that is causing the memory spike shouldn’t be executed when it’s running sharrow exclusively. Something must be failing to use the sharrow optimized code and falling back to the legacy code that is more memory intensive (but produces the same results). This line shouldn’t be called in the sharrow code. Jeff to find the bug and fix. result=self.dataset.iat(**x, _name=key)
  • PSRC noted that they tried to run the accessibility component on an AWS machine with 800GB RAM without chunking and it still wouldn’t work, so they are in favor of finding a way to use TAZs instead of MAZs here, as a better long-term solution.
  • Without accessibility computations, PSRC memory peak is mandatory scheduling, as expected. Takeaways similar to 1-zone tests.
  • Next steps/potential solutions
    • Memory issues can be mitigated by running multi-processing.
    • HDF5 is slow to read, which is helping here in terms of slowing things down to start processors at different times and reduce memory.
    • TO DO: Jeff to look into sharrow-related bug described above.

Road Map Objectives

  • Presentation: activitysim-roadmap-wip-objectives-pass01-28-mar-2023.pptx
  • Objectives
    • A small number of objectives will be used as guiding principles for the consortium and will be paired with key results.
    • Discussed proposed objectives with RSG and CS
  • 10 Proposed objectives
    • TO DO: Consortium to review slides posted here and provide any comments via email
    • Objectives will be discussed again in 2 weeks

PR #660, or why we need to test much larger models

  • The BayDAG pull request included a change in trip scheduling that alters the results of the model for certain corner cases. The change is not detectable in the current CI test suite, which only tests a very limited number of households and does not find many corner-case errors. (The upcoming refactoring includes infrastructure to rigorously test much larger subsets of models, which is how this was discovered. For the MTC test model, the change impacts the departure time of approximately 0.7% of all simulated trips.)
  • This PR rolls back the model component to use the original logic by default, and allows users to upgrade to the revised logic by setting "logic_version: 2" in the model settings. If no logic level is set explicitly, a warning is emitted that "logic_version: 1" is implied, and that a future version of ActivitySim may default to logic version 2.