Road Network Simulation using FLAME GPU . Peter Heywood, Paul - - PowerPoint PPT Presentation

road network simulation using flame gpu
SMART_READER_LITE
LIVE PREVIEW

Road Network Simulation using FLAME GPU . Peter Heywood, Paul - - PowerPoint PPT Presentation

Road Network Simulation using FLAME GPU . Peter Heywood, Paul Richmond & Steve Maddock Department of Computer Science, The University of Sheffield Overview . Introduction Gipps Car Following Model Implementation Experiments &


slide-1
SLIDE 1

Road Network Simulation using FLAME GPU

.

Peter Heywood, Paul Richmond & Steve Maddock

Department of Computer Science, The University of Sheffield

slide-2
SLIDE 2

Overview .

Introduction Gipps’ Car Following Model Implementation Experiments & Results Conclusions & Future Work

slide-3
SLIDE 3

Introduction .

slide-4
SLIDE 4

Road Network Simulation .

  • Increasing traffic demand globally
  • UK projected increase between 2010 & 2040: [3]
  • Up to 42% increase of car ownership
  • 19% to 55% growth in UK road traffic
  • Poor utilisation of existing infrastructure
  • Need for improved road simulation systems [5, 10]
  • Used for planning & trialling road network

changes

  • Cheaper & less disruptive than real world trials

An example of traffic microsimulation (SUMO)

slide-5
SLIDE 5

Microsimulation, Agent Based Modelling & the GPU .

Microsimulation & Agent Based Modelling (ABM)

  • Bottom up simulations - individual level with local interactions [8]
  • ABM provides a natural method for describing agents and behaviours
  • allows emergence of more complex behaviour
  • Good for modelling congested transport networks

Why General Purpose computing on Graphics Processing Units (GPGPU)?

  • Increased performance due to massively parallel architecture
  • Microsimulation is well suited for GPGPU computing [9, 11]
  • However it is not embarrassingly parallel
slide-6
SLIDE 6

Aims .

  • Demonstrate performance of road network simulation using FLAME GPU
  • Evaluate performance scalability using an artificial road network.
  • Scale population size
  • Scale population and environment
  • Demonstrate interactive visualisation using instancing
slide-7
SLIDE 7

Gipps’ Car Following Model .

slide-8
SLIDE 8

Car Following .

  • Key vehicle behaviour
  • Drive at desired speed without colliding into other vehicles
  • Considering factors such as reaction time, vehicle limitations, neighbouring vehicles

...

  • Many car following models exist
  • Safety-distance models
  • Psycho-physical models
slide-9
SLIDE 9

Gipps’ Car Following Model .

Gipps’ Car Following Model defined in 1981 by Peter Gipps

  • Safety Distance Model
  • Considers driver & vehicle characteristics
  • Only considers the preceding vehicle
  • One of the most commonly used models
slide-10
SLIDE 10

Aims - Gipps’ Car Following Model .

“The model should mimic the behaviour of real traffic” [4] “parameters which correspond to obvious characteristics of drivers and vehicles” [4] “should be well behaved when the interval between successive recalculations of speed and position is the same as the reaction time” [4]

slide-11
SLIDE 11

Gipps’ Car Following Model Equation .

vn(t + τ) = min { vn(t) + 2.5anτ(1 − vn(t)/Vn)(0.025 + vn(t)/Vn)

1 2 ,

bnτ + √ bn

2τ 2 − bn[2[xn−1(t) − sn−1 − xn(t)] − vn(t)τ − vn−1(t)2/ˆ

b] }

an the maximum acceleration of vehicle n bn the most severe braking that the vehicle n will undertake sn the effective size of vehicle n, including a margin Vn the target speed of vehicle n xn(t) the location of the front of vehicle n at time t vn(t) the speed of vehicle n at time t τ constant reaction time for all vehicles ˆ b estimate of leading vehicles most severe braking

Notation for variables used by Gipps’ car following model

5 10 15 20 25 t 5 10 15 20 25 vn(t + τ)

Free-flow and Braking components of Gipps’ Car Following Model

Free-flow Component (Vn = 15, vn(0) = 0) Braking Component (Vn−1 = 10, xn−1(t) = 50)

slide-12
SLIDE 12

Limitations - Gipps’ Car Following Model .

  • Time-step should be set to reaction time τ
  • Assumes drivers:
  • Drive in a safe manner
  • Can make accurate observations
slide-13
SLIDE 13

Implementation .

slide-14
SLIDE 14

Artificial Road Network .

  • Scales consistently unlike real world networks
  • Single lane uniform grid
  • Grid made of N rows and columns
  • 2 sections of road between each adjacent junction
  • N2 junctions and 4N(N − 1) one-way roads

N = 3 N = 4 N = 5

slide-15
SLIDE 15

FLAME GPU .

FLAME GPU is a “template based simulation environment” for agent based simulation on Graphics Processing Unit (GPU) architecture [7]

  • Agents are represented as X-Machines
  • Agents can communicate via globally accessible message

lists

  • Messages are crucial for interaction
  • Message lists can be partitioned to “ensure the most
  • ptimal cycling of messages”[7]

FLAME GPU X-machine with message list

slide-16
SLIDE 16

FLAME GPU Messaging .

There are currently 3 defined message partitioning schemes

  • Non-partitioned messaging
  • All to All
  • Discrete partitioned messages
  • 2D non-mobile agents only (i.e. Cellular Automata)
  • Spatially partitioned messages
  • Continuous space
  • Requires radius and environment bounds

Aims to reduce the size of message lists

slide-17
SLIDE 17

Implementing Gipps’ Car Following Model using FLAME GPU .

  • Each vehicle represented by an agent
  • Initial values generated with python script and stored

in a FLAME GPU XML file

  • Road network stored in CUDA constant memory
  • Does not change
  • Agents interact with same network
  • CUDA Read-Only Data Cache could allow larger road

networks (> 64kB of memory)

FLAME GPU XML File script CUDA memory FLAME GPU

slide-18
SLIDE 18

Implementing Gipps’ Car Following Model using FLAME GPU .

For each step in the simulation

  • Agents output their observable properties (outputdata)
  • Agents iterate through their message lists for the lead

vehicle (inputdata)

  • Gipps’ car following model is applied using the lead

vehicle information

  • Forward Euler used to calculate location and velocity
  • New roads randomly assigned at junctions

State Diagram for vehicle agents

slide-19
SLIDE 19

Experiments & Results .

slide-20
SLIDE 20

Experiments, Model Parameters, Hardware .

Experiments Grid Size Agent Count Road Length Fixed Grid N = 16 256 to 262144 10000m Scaled Grid N = 2 to N = 24 512 to 141312 1000m (64 vehicles per 1000m) Model Parameters proposed by Gipps an sampled from the normal distribution N(1.7, 0.32) m/sec2 bn −2.0an sn sampled from the normal distribution N(6.5, 0.32) m Vn sampled from the normal distribution N(20.0, 3.22) m/sec τ 2/3 seconds ˆ b the minimum of −3.0 and (bn − 3.0)/2 m/sec2 Hardware/Software

  • FLAME GPU 1.4 for CUDA 7.0
  • Intel Core i7 4770K
  • NVIDIA Tesla K20c
slide-21
SLIDE 21

Fixed Grid Network .

28 29 210 211 212 213 214 215 216 217 218 Number of Agents 10−1 100 101 102 103 104 Simulation time (ms) per iteration Non Partitioned Messaging Spatially Partitioned (radius = 5000m) Spatially Partitioned (radius = 2500m) Spatially Partitioned (radius = 250m)

  • Spatially partitioned messaging
  • utperforms non-partitioned

messaging

  • Smaller radii outperforms larger radii

beyond overhead

  • Distinct gradient change at 213 agents
slide-22
SLIDE 22

Fixed Grid Network - Per Agent .

28 29 210 211 212 213 214 215 216 217 218 Number of Agents 10−5 10−4 10−3 10−2 10−1 Simulation time (ms) per agent per iteration Non Partitioned Spatially Partitioned (radius = 5000m) Spatially Partitioned (radius = 2500m) Spatially Partitioned (radius = 250m)

  • Distinct gradient change at 213 agents -

hardware utilisation vs larger message lists

  • Non-partitioned outperformed by

partitioned messaging

  • r = 250 scales much better per agent
  • Maximum message count

Non-partitioned 262144 Partitioned r = 5000 19662 Partitioned r = 2500 9720 Partitioned r = 250 309

slide-23
SLIDE 23

Fixed Grid Network - Kernel Profiling .

Partitioned Messaging r = 250 100 200 300 400 500 600 700 800 Average Kernel Time (ms)

Average Kernel Execution Times inputdata

  • utputdata

reorder location messages hist location messages

  • Kernel times averaged over 10

iterations

  • Some Kernels omitted
  • 32768 Agents
  • Spatial Partitioned messaging

with r = 250

  • inputdata kernel is dominant
slide-24
SLIDE 24

Fixed Grid Network - Kernel Profiling .

Non-partitioned Partitioned r = 5000Partitioned r = 2500 Partitioned r = 250 Message Partitioning Scheme 20000 40000 60000 80000 100000 120000 Average Kernel Time (ms)

Average inputdata Kernel Execution Time inputdata

Non-partitioned Partitioned r = 5000Partitioned r = 2500 Partitioned r = 250 Message Partitioning Scheme 10 20 30 40 50 Average Kernel Time (ms)

Average outputdata Kernel Execution Time

  • utputdata

Non-partitioned Partitioned r = 5000Partitioned r = 2500 Partitioned r = 250 Message Partitioning Scheme 10 20 30 40 50 Average Kernel Time (ms)

Average reorder location messages Kernel Execution Time reorder location messages

slide-25
SLIDE 25

Scaled Grid Network .

512 (N=2) 3072 (N=4) 7680 (N=6) 14336 (N=8) 23040 (N=10) 33792 (N=12) 46592 (N=14) 61440 (N=16) 78336 (N=18) 97280 (N=20) 118272 (N=22) 141312 (N=24) Number of Agents & Grid Size 10−1 100 101 102 103 104 Simulation time (ms) per iteration

Average iteration execution time for increasing Grid Size N with a fixed vehicle density of 64 agents per 1000m

Non Partitioned Messaging Spatially Partitioned Messaging (radius = 500m) Spatially Partitioned Messaging (radius = 250m)

  • As scale increases performance decreases
  • Spatially partitioned messaging outperforms

non-partitioned beyond overhead

  • Spatial partitioning scales better
  • Up to 103x performance increase for spatial

partitioning than non-partitioned

slide-26
SLIDE 26

Interactive Visualisation .

Nearby Overview

  • Cross platform C++, OpenGL &

libSDL[2]

  • OpenGL Interop[6] & instanced

rendering[1] used to avoid

unnecessary host-device memory transfers

  • N = 8, length 1000m, 8192 vehicles &

1000 iterations

  • NVIDIA GeForce GTX 660
  • Console

15079ms Visualisation 16291ms Increase 1.08x

slide-27
SLIDE 27

Conclusions & Future Work .

slide-28
SLIDE 28

Conclusions .

  • Two experiments carried out, demonstrating suitability of FLAME GPU for road

network simulation

  • Scaling behaviour has been investigated
  • Performance difference between messaging communication schemes highlighted
slide-29
SLIDE 29

Future Work .

  • Message partitioning techniques for network based communication
  • Support wider range of road networks
  • Non-uniform vehicle distribution
  • Increased accessibility through visualisation of aggregate data on the GPU
  • Increased variation of vehicles using procedural instancing
slide-30
SLIDE 30

Thank You

ptheywood.uk ptheywood1@sheffield.ac.uk flamegpu.com

slide-31
SLIDE 31

References I .

[1] OpenGL SDK glDrawArraysInstanced manpage. https: //www.opengl.org/sdk/docs/man/html/glDrawArraysInstanced.xhtml [2] Simple DirectMedia Layer (libSDL). https://www.libsdl.org/ [3] Department for Transport: Road traffic forecasts 2015. https://www.gov.uk/ government/uploads/system/uploads/attachment_data/file/260700/ road-transport-forecasts-2013-extended-version.pdf (Mar 2015) [4] Gipps, P.G.: A behavioural car-following model for computer simulation. Transportation Research Part B: Methodological 15(2), 105–111 (1981) [5] Neffendorf, H., Fletcher, G., North, R., Worsley, T., Bradley, R.: Modelling for intelligent mobility (Feb 2015)

slide-32
SLIDE 32

References II .

[6] Nvidia, C.: Cuda c programming guide. http://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf (Mar 2015), last accessed 2015-03-30 [7] Richmond, P.: Flame gpu technical report and user guide. Tech. rep., technical report CS-11-03. Technical report, University of Sheffield, Department of Computer Science (2011) [8] Sommer, C., Yao, Z., German, R., Dressler, F.: On the need for bidirectional coupling of road traffic microsimulation and network simulation. In: Proceedings of the 1st ACM SIGMOBILE workshop on Mobility models. pp. 41–48. ACM (2008) [9] Strippgen, D., Nagel, K.: Multi-agent traffic simulation with cuda. In: High Performance Computing & Simulation, 2009. HPCS’09. International Conference on.

  • pp. 106–114. IEEE (2009)
slide-33
SLIDE 33

References III .

[10] UK Department for Transport: Quarterly Road Traffic Estimates: Great Britain Quarter 4 (October - December) 2014 (Feb 2015) [11] Wang, K., Shen, Z.: A gpu based trafficparallel simulation module of artificial transportation systems. In: Service Operations and Logistics, and Informatics (SOLI), 2012 IEEE International Conference on. pp. 160–165. IEEE (2012)