Tiling performance

View: New views
2 Messages — Rating Filter:   Alert me  

Tiling performance

by Warren Vick :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

A few weeks ago there was some discussion on the list regarding multi-threading generate_tile.py to improve tiling performance. I speculated that Python's Global Interpreter Lock may hinder the harnessing of multiple cores that may be available. I finally got around to some basic testing using an internal world map data (as Shapefiles), rendered with levels 0..8. The machine is running Windows Vista 64bit (not for long now), on a machine with a Intel Xeon X5482 (4 cores at 3.2GHz). Here's my results:

1 process, 1 thread: 21m 05s
1 process, 4 threads: 13m 44s    [1]
4 processes: 10m 11s     [1]

Note [1]: To divide the world into 4 work units, I simply quartered into NW/NE/SW/SE quadrants. Naturally, due to land distributions on the planet, some of the threads/processes finishes sooner than others. The time shown is for the last quadrant to complete. With some simple load balancing, even better performance could be achieved.

My conclusion is that if you want to get as much tiling performance our of a system, use separate instances of Python and divide your work load in a smart way.

Now... here's the bit that's of more concern to me...

Booting the same machine into Ubuntu (Jaunty) and running exactly the same job for 1 process, 1 thread.... 1h 24m !!!
Anyone have a theory on what happened here?

Regards,
Warren



_______________________________________________
Mapnik-users mailing list
Mapnik-users@...
https://lists.berlios.de/mailman/listinfo/mapnik-users

Re: Tiling performance

by Tobias Wendorff-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Warren,

Warren Vick schrieb:
> My conclusion is that if you want to get as much tiling performance our of a system, use separate instances of Python and divide your work load in a smart way.

This should also do the job for you:
http://www.parallelpython.com/

You can even build a Mapnik-cluster over a local network.

Best regards,
Tobias
_______________________________________________
Mapnik-users mailing list
Mapnik-users@...
https://lists.berlios.de/mailman/listinfo/mapnik-users