[pgrouting-users] pgRouting and multi-core

Yaron Lev yaron666 at gmail.com
Tue Jul 23 06:43:13 PDT 2013

thanks a lot for your in-depth explanation, it helped me a lot and indeed i
was referring to the c/c++ part.

the basic question i am  trying to understand, how beneficial it will be to
increase the DB instance size (cpu wise) (i am using AWS).

just to be clear, and re-iterating, each request has two basic parts:

1. grab data, and build the graph on the db - this is done on the
PostgreSQL db, and therefor will benefit from multi-core environment.

2. solving and returning the answer  -
here i am a little lost. PostgreSQL allow integration of C, i would expect
then, that these extensions(pgRouting code) will also benefit from
multi-core environment.
(i.e each request will use a different thread if needed, and on different
core if needed)

so in short, will part 2, also benefit from increasing the instance size(i
understand it consumes roughly 30% of resources needed to complete the

again, many thanks for your help.

On Tue, Jul 23, 2013 at 3:39 PM, Stephen Woodbridge <woodbri at swoodbridge.com
> wrote:

> On 7/23/2013 7:55 AM, Yaron Lev wrote:
>> Hi,
>> i was looking for some information about weather or not pgRouting is
>> utilizing more than one core if available.
>> from the limited testing i made, and from googling (i found very little
>> refrences), i think pgRouting does not support multi-core processing as of
>> now.
>> i will appreciate if anyone can confirm it, or give any information about
>> it.
> PgRouting is built on top of Postgresql so to the extent that postgresql
> can use multiple cores to process multiple requests we do. I you are asking
> if the routing algorithm itself is run in threads or using something like
> parallel graph algorithms? the answer is no.
> Also you should be aware the solving the graph is less then 50% of the
> cost of answering a query because we have to query the database for the
> edges, build the graph, solve the graph and return the results back to the
> client. selecting the edges and building the graph likely take 2/3rds of
> the processing time for a given query. The edge selection is probably done
> in a separate core/thread/process by the database from that that the rest
> of the processing is taking place in.
> -Steve
> ______________________________**_________________
> Pgrouting-users mailing list
> Pgrouting-users at lists.osgeo.**org <Pgrouting-users at lists.osgeo.org>
> http://lists.osgeo.org/**mailman/listinfo/pgrouting-**users<http://lists.osgeo.org/mailman/listinfo/pgrouting-users>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pgrouting-users/attachments/20130723/e01dcd67/attachment.html>

More information about the Pgrouting-users mailing list