[OSRM-talk] Expecting time for osrm-contract for planet
Daniel Patterson
daniel at mapbox.com
Thu Sep 21 16:17:13 UTC 2017
OSRM supports *two* core routing algorithms - CH and MLD. The
`osrm-contract` tool generates the CH dataset, but you can use the MLD
pipeline instead with:
osrm-extract -p profiles/bicycle.lua yourmap.osm.pbf
osrm-partition yourmap.osrm
osrm-customize yourmap.osrm
osrm-routed -a MLD yourmap.osrm
This sequence of tools should be significantly quicker than osrm-contract -
the price you pay is that routing requests are about 5x slower (still
pretty fast though!). The reason that MLD exists is for the
`osrm-customize` step - it allows you to import traffic data very quickly
and update the routing graph (~1 minute for North America).
It's hard to say exactly what's going wrong with osrm-contract here - here
at Mapbox, we daily run `osrm-contract` over the latest planet with the
bicycle profile without a problem, however, Alex and others have reported
issues with what seem like hangs on much smaller datasets that we've been
unable to reproduce so far.
The runtime of osrm-contract is affected by how much hierarchy exists in
the data - the more similar the edge speeds (like in foot) and the more
edges there are, the slower it gets, often in a non-linear fashion. The
car profile has a very hierarchical structure (many different road speeds),
so it fits well into the CH, the construction algorithm doesn't need to
compare as many options.
daniel
On Thu, Sep 21, 2017 at 9:03 AM, Kieran Caplice <kieran.caplice at temetra.com>
wrote:
> We're actually looking for the best of both car and foot, so in my head,
> bicycle would be the happy medium (though I could be completely wrong on
> this).
> Kind regards,
> Kieran Caplice
>
> On 21/09/17 16:53, Alex Farioletti wrote:
>
> i've run into the same issues, and now i just use metroextracts of the
> areas that i need for the bike stuff i do and it reduces the time
> significantly
>
> *Alex Farioletti*
> *415.312.1674*
> *tcbcourier.com <http://tcbcourier.com> *
>
> On Thu, Sep 21, 2017 at 8:49 AM, Kieran Caplice <
> kieran.caplice at temetra.com> wrote:
>
>> Thanks Daniel.
>>
>> I'm using the bicycle profile, so I would expect based on what you've
>> said that somewhere up to 36 hours would be likely. However, this is the
>> current output, after 25h40m:
>> [info] Input file: /data/1505492056/planet-latest.osrm
>> [info] Threads: 12
>> [info] Reading node weights.
>> [info] Done reading node weights.
>> [info] Loading edge-expanded graph representation
>> [info] merged 2379332 edges out of 1777752432
>> [info] initializing node priorities... ok.
>> [info] preprocessing 389797971 (90%) nodes...
>> [info] . 10% . 20% . 30% . 40% . 50% . 60%
>>
>> It hasn't advanced past 60% in the last 2-3 hours. It is however maxing
>> CPU and using approximately the same amount of RAM since it started.
>>
>> Kind regards,
>> Kieran Caplice
>>
>> On 21/09/17 16:39, Daniel Patterson wrote:
>>
>> Hi Kieran,
>>
>> The contraction time will be slow - many, many hours for the whole
>> planet. *Typically* for the car profile it's about 12 hours, but if you
>> use bike or foot, or your own profile, it can get a lot bigger.
>>
>> If you've messed with the travel speeds, that can have a big effect
>> too. 24 hours is not unheard of, but whether it's legit will depend a lot
>> on the details.
>>
>> daniel
>>
>> On Thu, Sep 21, 2017 at 7:00 AM, Kieran Caplice <
>> kieran.caplice at temetra.com> wrote:
>>
>>> Hi all,
>>>
>>> Could anyone give an approx estimate for the time required to run the
>>> osrm-contract on planet data on a 12 thread, 256 GB RAM, SSD machine?
>>>
>>> The osrm-extract process finished in 232 minutes, but the contract has
>>> now been running solid for 24 hours, and appears to be stuck at 60% on
>>> "preprocessing nodes". All 12 cores are generally maxed out, and the
>>> process is using nearly 90 GB of RAM.
>>>
>>> This is the second time I've run the contract process, as my SSH
>>> connection to the server dropped the first time and the process wasn't
>>> running in a screen etc, so I assumed after the 40-odd hours it was running
>>> for, the connection drop caused it to hang, but now I'm not so sure. Were
>>> there any files I should maybe have cleared before trying to run it again?
>>>
>>> I'm using the docker image to run the command (using
>>> osrm/osrm-backend:latest): time docker run -t -v /opt/osrm/data:/data
>>> osrm/osrm-backend osrm-contract /data/1505492056/planet-latest.osrm
>>>
>>> Kind regards,
>>> Kieran Caplice
>>>
>>>
>>> _______________________________________________
>>> OSRM-talk mailing list
>>> OSRM-talk at openstreetmap.org
>>> https://lists.openstreetmap.org/listinfo/osrm-talk
>>>
>>
>>
>>
>> _______________________________________________
>> OSRM-talk mailing listOSRM-talk at openstreetmap.orghttps://lists.openstreetmap.org/listinfo/osrm-talk
>>
>>
>>
>> _______________________________________________
>> OSRM-talk mailing list
>> OSRM-talk at openstreetmap.org
>> https://lists.openstreetmap.org/listinfo/osrm-talk
>>
>>
>
>
> _______________________________________________
> OSRM-talk mailing listOSRM-talk at openstreetmap.orghttps://lists.openstreetmap.org/listinfo/osrm-talk
>
>
>
> _______________________________________________
> OSRM-talk mailing list
> OSRM-talk at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/osrm-talk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/osrm-talk/attachments/20170921/8620ec57/attachment.html>
More information about the OSRM-talk
mailing list