Parallel Programming Project Plan

866
-1

Published on

This talk was presented together with Joachim Nitschke for the "Parallel Programming" project. It was the kick-off presentation for our project work, where we explained our concept and goals as well as creceived some feedback before the core of the project work began.

We showed and classified the main ideas behind our Streets4MPI project. We also described our data model and planned algorithms and talked about the technical infrastructure. In closing, we explained a rough concept for the parallelization and brought that into discussion.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
866
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Parallel Programming Project Plan

  1. 1. Parallel Programming Project Plan Julian Fietkau Joachim Nitschke University of Hamburg February 22nd, 2012
  2. 2. Agenda Julian Fietkau, Joachim Nitschke Agenda Introduction Concept and Model Overview Computation Technologies and Data Sources Plans for Parallelization Summary 2 / 27
  3. 3. Introduction Julian Fietkau, Joachim Nitschke Project Task Decide on a problem that may be solved using parallel processing, and implement a solution. → Street traffic simulation Main Caveat Realistic traffic predictions can only be made using an exceedingly detailed model. This makes things prohibitively complicated. 3 / 27
  4. 4. Introduction Julian Fietkau, Joachim Nitschke Project Path 1 Formulate the problem in such a way that it can be solved . . . using a suitably abstract model 2 Solve it programmatically . . . on a distributed architecture 4 / 27
  5. 5. Introduction Julian Fietkau, Joachim Nitschke 5 / 27
  6. 6. Introduction Julian Fietkau, Joachim Nitschke Project Goal 1 Simulate thousands or millions of cars/drivers in a city 2 Watch for congested and unused roads 3 Optimize the road system step by step 4 Visualize this process as a changing map 6 / 27
  7. 7. Concept and Model: Overview Julian Fietkau, Joachim Nitschke Macroscopic Simulation Abstract from single cars, traffic lights etc. to daily traffic Display traffic development over longer time periods and influences on street network 7 / 27
  8. 8. Concept and Model: Overview Julian Fietkau, Joachim Nitschke Discrete Simulation 1 simulation step = 1 day ˆ Traffic changes every day Changes to street network after longer time periods 8 / 27
  9. 9. Concept and Model: Overview Julian Fietkau, Joachim Nitschke Street Network 9 / 27
  10. 10. Concept and Model: Overview Julian Fietkau, Joachim Nitschke Trips Representation for a resident’s daily traffic Simplification: No car locomotion One route per day 10 / 27
  11. 11. Concept and Model: Overview Julian Fietkau, Joachim Nitschke Trips 11 / 27
  12. 12. Concept and Model: Computation Julian Fietkau, Joachim Nitschke Weights Residents want to choose the fastest route ⇒ Weights based on driving time Expected driving time s texpected = vmax 12 / 27
  13. 13. Concept and Model: Computation Julian Fietkau, Joachim Nitschke Weights Cars are slowed down in case of increased traffic Decrease of velocity based on number of trips using a street Idea: Consider distribution of cars along the street and throughout the day 13 / 27
  14. 14. Concept and Model: Computation Julian Fietkau, Joachim Nitschke Weights As a result the weights are increased and the route becomes less attractive Actual driving time s tactual = vactual 14 / 27
  15. 15. Concept and Model: Computation Julian Fietkau, Joachim Nitschke Weights In reality not all drivers change their route since driving time delay is percieved differently ⇒ Perceived driving time is influenced by random “traffic jam sensibility” Traffic jam sensibility tperceived = texpected + tdelay · rsensibility tdelay = tactual − texpected 15 / 27
  16. 16. Technologies and Data Sources Julian Fietkau, Joachim Nitschke Runtime Technologies Python MPI (→bonus slide) mpi4py 16 / 27
  17. 17. Technologies and Data Sources Julian Fietkau, Joachim Nitschke Map Data from OpenStreetMap Python and GIS OSM has a nice API XML that includes nodes and ways 17 / 27
  18. 18. Technologies and Data Sources Julian Fietkau, Joachim Nitschke <?xml version="1.0" encoding="UTF-8"?> <osm version="0.6" generator="CGImap 0.0.2"> <bounds minlat="54.0889580" minlon="12.2487570" maxlat="54.0913900" maxlon="12.2524800"/> <node id="298884269" lat="54.0901746" lon="12.2482632" user="SvenHRO" uid="46882" visible="true" version="1" changeset="676636" timestamp="2008-09-21T21:37:45Z"/> <node id="261728686" lat="54.0906309" lon="12.2441924" user="PikoWinter" uid="36744" visible="true" version="1" changeset="323878" timestamp="2008-05-03T13:39:23Z"/> ... <node id="298884272" lat="54.0901447" lon="12.2516513" user="SvenHRO" uid="46882" visible="true" version="1" changeset="676636" timestamp="2008-09-21T21:37:45Z"/> <way id="26659127" user="Masch" uid="55988" visible="true" version="5" changeset="4142606" timestamp="2010-03-16T11:47:08Z"> <nd ref="292403538"/> <nd ref="298884289"/> ... <nd ref="261728686"/> <tag k="highway" v="unclassified"/> <tag k="name" v="Pastower Straße"/> </way> ... </osm> 18 / 27
  19. 19. Technologies and Data Sources Julian Fietkau, Joachim Nitschke Development Infrastructure Git MediaWiki 19 / 27
  20. 20. Plans for Parallelization Julian Fietkau, Joachim Nitschke Idea for Data Decomposition node 0 node 1 node 2 node 3 node 4 node 5 node 6 node 7 node 8 20 / 27
  21. 21. Plans for Parallelization Julian Fietkau, Joachim Nitschke Computational Tasks Excluding: primary preparations, visualization Shuffling with times and velocities → mostly trivial Finding the shortest paths → bulk of calculation 21 / 27
  22. 22. Plans for Parallelization Julian Fietkau, Joachim Nitschke Distributed Shortest Path Cost-effectiveness of specialized algorithms? Balanced hierarchical networks (Antonio, Huang, Tsai) Other approaches 22 / 27
  23. 23. Plans for Parallelization Julian Fietkau, Joachim Nitschke Balanced hierarchical networks Networks with hierarchically organized clusters Strategy: calculate paths along “gate nodes” Potential reduction in complexity (O(log n) possible for single path) Data distribution along cluster boundaries? 23 / 27
  24. 24. Summary Julian Fietkau, Joachim Nitschke Most Important Points Simple traffic simulation Macro level with congestion analysis, street development MPI on Python Distributed shortest path 24 / 27
  25. 25. Miscellaneous: Literature Julian Fietkau, Joachim Nitschke Literature Weber, B.; Müller, P.; Wonka, P.; Gross, M.: Interactive Geometric Simulation of 4D Cities In: EUROGRAPHICS 28 (2009), Nr. 2 Antonio, J. K.; Huang, G. M.; Tsai, W. K.: A fast distributed shortest path algorithm for a class of hierar- chically clustered data networks In: IEEE Trans. Comput., vol. 41, pp. 710–724, June 1992 25 / 27
  26. 26. Miscellaneous: Weblinks Julian Fietkau, Joachim Nitschke Weblinks Project wiki http://pwiki.julian-fietkau.de/ GitHub repository http://github.com/jfietkau/Streets4MPI 26 / 27
  27. 27. Miscellaneous: Download and Usage Julian Fietkau, Joachim Nitschke Download and Usage These slides are published under the CC-BY-SA 3.0 license. All pictures and illustrations are based on content from the OpenClipArt Project. Download these slides and give feedback: http://www.julian-fietkau.de/parallel_programming_plan 27 / 27

×