parallel programming project plan

27
Parallel Programming Project Plan Julian Fietkau Joachim Nitschke University of Hamburg February 22nd, 2012

Upload: julian-fietkau

Post on 10-Feb-2017

1.086 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Parallel Programming Project Plan

Parallel Programming Project Plan

Julian FietkauJoachim Nitschke

University of Hamburg

February 22nd, 2012

Page 2: Parallel Programming Project Plan

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

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

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

Introduction Julian Fietkau, Joachim Nitschke

5 / 27

Page 6: Parallel Programming Project Plan

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

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

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

Concept and Model: Overview Julian Fietkau, Joachim Nitschke

Street Network

9 / 27

Page 10: Parallel Programming Project Plan

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

Concept and Model: Overview Julian Fietkau, Joachim Nitschke

Trips

11 / 27

Page 12: Parallel Programming Project Plan

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

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

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

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

Technologies and Data Sources Julian Fietkau, Joachim Nitschke

Runtime Technologies

� Python� MPI (→bonus slide)� mpi4py

16 / 27

Page 17: Parallel Programming Project Plan

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

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

Technologies and Data Sources Julian Fietkau, Joachim Nitschke

Development Infrastructure

� Git� MediaWiki

19 / 27

Page 20: Parallel Programming Project Plan

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

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

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

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

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

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

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

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