Skip to content

render_list not using all cores #378

@coogle

Description

@coogle

I am building tiles with raster_list and meta2tile, and I have noticed a performance issue I can't figure out why is happening that maybe someone here can shed some light on.

I am using a c5d.12xlarge instance on AWS which has 48 cores and 96G of memory backed by a 2TB SSD drive. I am rendering the North America dataset as raster tiles, and this is the render_list command I am using:

render_list \
    --all \
    --force \
    --min-zoom=0 \
    --max-zoom=18 \
    --max-load=$(nproc) \
    --map=current \
    --num-threads=$(nproc) \
    --tile-dir=/osm-data/renderd/tiles

Things run fine, but I've noticed that my load never has gotten past 32, about 60% of my total CPU capacity. I know that, for example, if you don't specify --max-load then render_list will throttle itself pretty aggressively at 16 cores... but is there some other setting (compiled in or otherwise) that is limiting render_list to 32 cores? I've even tried increasing --num-threads to 2x my cores to absolutely no effect.

Other facts:

  • I have plenty of free RAM (consuming 32G of 92G available)
  • My Disk Writes seem to not impact at all... sometimes my writes are like 100-1000 K/s sometimes they are in the MB but neither has any impact on my load.

Unless I'm misunderstanding something (possible), it seems like I'm not disk bound, or memory bound -- yet render_list won't take advantage of the extra 16 vCPUs available to it.

Thoughts anyone?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions