wiki:DistCaches

Version 4 (modified by Kevin Milner, 10 years ago) (diff)

--

Surface Distance Cache Tests

Overview and Benchmark Procedure

I have externalized the caching functionality in our various fault surface classes. There are a couple different implementation of the new SurfaceDistanceCache? interface:

Caching style/parameters are configurable via the org.opensha.sha.faultSurface.cache.SurfaceCachingPolicy? class, which can be configured via java properties. It defaults to using some form of multiple/hybrid cache for all surfaces except for Compound Surfaces, which default to the single cache.

I then ran lots of tests at HPCC with many variations on these caching schemes. All tests were run on nodes with the exact same configuration:

2 quad core 2.5 GHz processors, 12 GB RAM.

I ran the following benchmarks for a UCERF3 ERF with the branch average solution:

Distance test: how long does it take to calculate each distance metric from 80 sites to every rupture in the ERF? Hazard test: how long does it take to calculate a hazard curve at 80 sites?

Sites are randomly distributed (tightly) around 35, -118. Tests were run with 1, 2, 4, and 8 threads (multiple runs of each configuration and times averaged).

Plot Legend

Each plot has a number of lines. Solid lines (force=false) mean that the surfaces used the given cache for all rupture surfaces except for CompoundSurfaces?, which used the single location cache. Dashed lines (force=true) use the given cache for compound surfaces as well. If size == 1 and force=false, the single location cache is used for all surfaces (this is the previous surface caching behavior).

The color is related to the cache size:

  • black = 1 (the solid black line represents the previous caching behavior, and is the line to beat)
  • blue = 2
  • green = 4
  • orange = 8
  • magenta = 12

First Results and Sensitivity to Java Version

These are the initial results comparing the multi cache with the given size and a 1 hour access expiration with the single cache.

Distance Test Hazard Test
distance test, Java 6, multi cache with expirationhazard test, Java 6, multi cache with expiration
distance test, Java 6, multi cache with expirationhazard test, Java 6, multi cache with expiration

Attachments (8)

Download all attachments as: .zip