Profile the disaggregation hazard calculator

Bug #1169516 reported by Lars Butler
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenQuake Engine
Fix Released
High
Lars Butler

Bug Description

Profile the disaggregation hazard calculator to analyze:

- computation
- I/O
- storage (particularly for the database)

For this profiling activity, all software versions, config files, and logs should be attached this bug as they become available.

The desired outcomes of this activity are:
1. Clearly identified performance bottlenecks or storage issues
2. Suggested solutions

Revision history for this message
Lars Butler (lars-butler) wrote :
Changed in oq-engine:
milestone: none → 1.0.0
assignee: nobody → Lars Butler (lars-butler)
importance: Undecided → High
status: New → In Progress
Revision history for this message
Lars Butler (lars-butler) wrote :
Revision history for this message
Lars Butler (lars-butler) wrote :

Test files: A simplified version of the California hazard map. I removed many of the sources and adjusted the region resolution so that the model could be run in a number of hours on a single processor.

Revision history for this message
Lars Butler (lars-butler) wrote :

The profiling job was run with the following parameters:

$ python -m cProfile -s time bin/openquake --rh=profile_jobs/cali/job.ini --log-file=cali.log --nd --exports=xml >> cali.prof

Revision history for this message
Lars Butler (lars-butler) wrote :

Log file

Revision history for this message
Lars Butler (lars-butler) wrote :

Profiling report

Revision history for this message
Lars Butler (lars-butler) wrote :

Test analysis:

- Nothing noteworthy terms of DB storage space. With this one job, the DB size grew to just over 20MB.
- A total of 145 XML files were exported. This includes 1 hazard curve file and 144 disagg. matrix files. Total export time was about 15 seconds, which is just fine.
- Most of the time was spent doing "number crunching". Unlike the classical hazard calculator, only a very small fraction of the computation time was spent interacting with the database.
- The profiling report indicates that the majority of the time was spent doing the core disaggregation calculation.
- Secondary to this were various geometric calculation calls required for the calculation.

At this point, I see no pressing need to optimize anything.

Changed in oq-engine:
status: In Progress → Fix Committed
Changed in oq-engine:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.