[OSRM-talk] Road speeds and profile restrictions
winwaed at gmail.com
Fri Sep 18 00:45:14 UTC 2015
Thanks for the quick reply Patrick.
> Presumably I could do the same for world preparation & routing? Have, perhaps a 100GB+ swap file, ideally on an SSD.
>This will fall apart when you have some actual load pressure on the
>system. We need random access to memory, which will create a lot of
>page faults (== slow). Even an SSD is not even close to memory speed.
>You have two options:
> split the datasets
> get a bigger server
I would imagine that is the case for the standard http server. I was
thinking of using it as a linked library from a C++ program. Splitting
the datasets by continent is a possibility though.
(writing a C# interface was another thought, but that would be a
different use case and definitely with smaller datasets)
On Thu, Sep 17, 2015 at 4:37 PM, Patrick Niklaus
<patrick.niklaus at student.kit.edu> wrote:
> W.r.t. the pre-preprocessing you are correct.
>> What is that extra power used for?
> Including all sorts of external data sources. Also the logic in the
> lua profiles is not just replaceable by simple key-value pairs, OSM
> requires you to handle a lot of special cases.
>> Presumably I could do the same for world preparation & routing? Have, perhaps a 100GB+ swap file, ideally on an SSD.
> This will fall apart when you have some actual load pressure on the
> system. We need random access to memory, which will create a lot of
> page faults (== slow). Even an SSD is not even close to memory speed.
> You have two options:
> - split the datasets
> - get a bigger server
> On Thu, Sep 17, 2015 at 10:06 PM, Richard Marsden <winwaed at gmail.com> wrote:
>> I've been evaluating OSRM, using it primarily as a library from C++.
>> I believe I've determined the answer to most of the questions, but I'm
>> also looking for confirmation.
>> (I understand the reason for these constraints - the trade-off of
>> speed vs flexibility)
>> First, road speeds are set with 'profile.lua' at the osrm-extract
>> stage. This filters out unnecessary roads (eg. foot paths for car
>> routing), but also applies the road speeds.
>> If I wish to change the speed profile, I need to regenerate the road
>> network with osrm-extract and osrm-routed.
>> If I wanted different speeds for the final distance/time calculations,
>> I could use the returned route, and apply my own speed table according
>> to the road type of each road segment. This would not, of course,
>> change the route geometry is calculated.
>> If I want a shortest route (distance optimized) instead of a quickest
>> route (time optimized), I need to set all the road speeds to the same
>> speed and regenerate the network. I.e. osrm does not directly support
>> the concept of a "shortest route".
>> The profile is provided with a LUA file. I had to look this one up :-)
>> Looks a useful scripting language, but why is this profile a script
>> file, and not a simple configuration file of constants (eg. key-value
>> Seems like an unnecessary complexity - I'd like to understand the
>> perceived advantages. What is that extra power used for?
>> Finally, the memory usage... I saw a reference to the server requiring
>> 40GB of memory for pan-European routing. Presumably that could be
>> offset with a large swap file(?)
>> A large swap file has worked well when I was testing the US-South
>> region on an 8GB machine.
>> Presumably I could do the same for world preparation & routing? Have,
>> perhaps a 100GB+ swap file, ideally on an SSD.
>> Richard Marsden
>> OSRM-talk mailing list
>> OSRM-talk at openstreetmap.org
> OSRM-talk mailing list
> OSRM-talk at openstreetmap.org
More information about the OSRM-talk