parallel programming project plan
TRANSCRIPT
![Page 1: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/1.jpg)
Parallel Programming Project Plan
Julian FietkauJoachim Nitschke
University of Hamburg
February 22nd, 2012
![Page 2: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/2.jpg)
Agenda Julian Fietkau, Joachim Nitschke
Agenda
Introduction
Concept and ModelOverviewComputation
Technologies and Data Sources
Plans for Parallelization
Summary
2 / 27
![Page 3: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/3.jpg)
Introduction Julian Fietkau, Joachim Nitschke
Project Task
Decide on a problem that may be solved using parallel processing, andimplement a solution. → Street traffic simulation
Main CaveatRealistic traffic predictions can only be made using an exceedinglydetailed model. This makes things prohibitively complicated.
3 / 27
![Page 4: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/4.jpg)
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
![Page 5: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/5.jpg)
Introduction Julian Fietkau, Joachim Nitschke
5 / 27
![Page 6: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/6.jpg)
Introduction Julian Fietkau, Joachim Nitschke
Project Goal
1 Simulate thousands or millions of cars/drivers in a city2 Watch for congested and unused roads3 Optimize the road system step by step4 Visualize this process as a changing map
6 / 27
![Page 7: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/7.jpg)
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 influenceson street network
7 / 27
![Page 8: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/8.jpg)
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
![Page 9: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/9.jpg)
Concept and Model: Overview Julian Fietkau, Joachim Nitschke
Street Network
9 / 27
![Page 10: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/10.jpg)
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
![Page 11: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/11.jpg)
Concept and Model: Overview Julian Fietkau, Joachim Nitschke
Trips
11 / 27
![Page 12: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/12.jpg)
Concept and Model: Computation Julian Fietkau, Joachim Nitschke
Weights
Residents want to choose the fastest route⇒ Weights based on driving time
Expected driving timetexpected = s
vmax
12 / 27
![Page 13: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/13.jpg)
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 throughoutthe day
13 / 27
![Page 14: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/14.jpg)
Concept and Model: Computation Julian Fietkau, Joachim Nitschke
Weights
As a result the weights are increased and the route becomes lessattractive
Actual driving timetactual =
svactual
14 / 27
![Page 15: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/15.jpg)
Concept and Model: Computation Julian Fietkau, Joachim Nitschke
Weights
In reality not all drivers change their route since driving time delay ispercieved differently ⇒ Perceived driving time is influenced byrandom “traffic jam sensibility”
Traffic jam sensibilitytperceived = texpected + tdelay · rsensibility
tdelay = tactual − texpected
15 / 27
![Page 16: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/16.jpg)
Technologies and Data Sources Julian Fietkau, Joachim Nitschke
Runtime Technologies
� Python� MPI (→bonus slide)� mpi4py
16 / 27
![Page 17: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/17.jpg)
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
![Page 18: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/18.jpg)
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
![Page 19: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/19.jpg)
Technologies and Data Sources Julian Fietkau, Joachim Nitschke
Development Infrastructure
� Git� MediaWiki
19 / 27
![Page 20: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/20.jpg)
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
![Page 21: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/21.jpg)
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
![Page 22: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/22.jpg)
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
![Page 23: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/23.jpg)
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
![Page 24: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/24.jpg)
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
![Page 25: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/25.jpg)
Miscellaneous: Literature Julian Fietkau, Joachim Nitschke
Literature
Weber, B.; Müller, P.; Wonka, P.; Gross, M.:Interactive Geometric Simulation of 4D CitiesIn: 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 networksIn: IEEE Trans. Comput., vol. 41, pp. 710–724, June 1992
25 / 27
![Page 26: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/26.jpg)
Miscellaneous: Weblinks Julian Fietkau, Joachim Nitschke
Weblinks
Project wikihttp://pwiki.julian-fietkau.de/
GitHub repositoryhttp://github.com/jfietkau/Streets4MPI
26 / 27
![Page 27: Parallel Programming Project Plan](https://reader031.vdocument.in/reader031/viewer/2022022123/589d493d1a28abd3338b5d8f/html5/thumbnails/27.jpg)
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 oncontent from the OpenClipArt Project.
Download these slides and give feedback:
http://www.julian-fietkau.de/parallel_programming_plan
27 / 27