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

road network simulation using flame gpu
SMART_READER_LITE
LIVE PREVIEW

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

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


slide-1
SLIDE 1

.

Road Network Simulation using FLAME GPU

.

Peter Heywood, Dr Paul Richmond & Dr 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 4ork

slide-3
SLIDE 3

.

Introduction .

slide-4
SLIDE 4

.

Road Network Simulation .

Need for improved road simulation systems [, ]

  • Increasing number of vehicles globally
  • Poor utilisation of existing infrastructure
  • Relatively cheap
  • Decision making

An example of traffic microsimulation (SUMO)

slide-5
SLIDE 5

.

Why Agent Based Simulation on the GPU .

Why ABS / Microsimulation?

  • More natural method of description
  • Allow emergence of more complex behaviour
  • Good for modelling congested networks

Why GPGPU?

  • Not embarrassingly parallel but it is well suited for GPGPU computing
  • Aspects are SIMD (Same Instruction Many Data) in nature
  • Has been demonstrated as GPGPU suitable [, ]
  • Speed-up allows for increased complexity / scale
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 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” [] “parameters which correspond to obvious characteristics of drivers and vehicles” [] “should be well behaved when the interval between successive recalculations of speed and position is the same as the reaction time” []

slide-11
SLIDE 11

.

Notation - Gipps’ Car Following Model .

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

slide-12
SLIDE 12

.

Equations - Gipps’ Car Following Model .

Free-flow Conditions vn(t + τ) <= vn(t) + .anτ( − vn(t)/Vn)(. + vn(t)/Vn)

  • 5

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

Free-flow component of Gipps’ Car Following Model

Free-flow Component (Vn = 15, vn(0) = 0)

slide-13
SLIDE 13

.

Equations - Gipps’ Car Following Model .

Congested Conditions (Braking) vn(t + τ) <= bnτ + √ bn

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

b)

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-14
SLIDE 14

.

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-15
SLIDE 15

.

Implementation .

slide-16
SLIDE 16

.

Artificial Road Network .

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

N = 2 N = 3 N = 4 N = 5 N = 6

slide-17
SLIDE 17

.

FLAME GPU .

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

  • Agents are represented as 9-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”[]
slide-18
SLIDE 18

.

FLAME GPU Messaging .

There are currently defined message partitioning schemes

  • Non-partitioned messaging
  • All to All
  • Discrete partitioned messages
  • D 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-19
SLIDE 19

.

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 (> kB of memory)

FLAME GPU XML File script CUDA memory FLAME GPU

slide-20
SLIDE 20

.

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
slide-21
SLIDE 21

.

Experiments & Results .

slide-22
SLIDE 22

.

Experiments, Model Parameters, Hardware .

Experiments Grid Size Agent Count Road Length Fixed Grid N = to m Scaled Grid N = to N = to m ( vehicles per m) Model Parameters proposed by Gipps an sampled from the normal distribution N(., .) m/sec bn −.an sn sampled from the normal distribution N(., .) m Vn sampled from the normal distribution N(., .) m/sec τ / seconds ˆ b the minimum of −. and (bn − .)/ m/sec Hardware/Software

  • FLAME GPU . for CUDA .
  • Intel Core i K
  • N3IDIA Tesla Kc
slide-23
SLIDE 23

.

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 agents
slide-24
SLIDE 24

.

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 agents -

hardware utilisation vs larger message lists

  • Non-partitioned outperformed by

partitioned messaging

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

Non-partitioned

  • Partitioned r =
  • Partitioned r =
  • Partitioned r =
slide-25
SLIDE 25

.

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

iterations

  • Some Kernels omitted
  • Agents
  • Spatial Partitioned messaging

with r =

  • inputdata kernel is dominant
slide-26
SLIDE 26

.

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-27
SLIDE 27

.

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 x performance increase for spatial

partitioning than non-partitioned

slide-28
SLIDE 28

.

Interactive Visualisation .

Nearby Overview

  • Cross platform C++, OpenGL &

libSDL[]

  • OpenGL Interop[] & instanced

rendering[] used to avoid

unnecessary host-device memory transfers

  • N = , length m, vehicles &

iterations

  • N3IDIA GeForce GT9
  • Console

ms 3isualisation ms Increase .x

slide-29
SLIDE 29

.

Conclusions & Future Work .

slide-30
SLIDE 30

.

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-31
SLIDE 31

.

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-32
SLIDE 32

.

Thank You

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

slide-33
SLIDE 33

.

References I .

[] OpenGL SDK glDrawArraysInstanced manpage. https: //www.opengl.org/sdk/docs/man/html/glDrawArraysInstanced.xhtml [] Simple DirectMedia Layer (libSDL). https://www.libsdl.org/ [] Gipps, P.G.: A behavioural car-following model for computer simulation. Transportation Research Part B: Methodological (), – () [] Neffendorf, H., Fletcher, G., North, R., 4orsley, T., Bradley, R.: Modelling for intelligent mobility (Feb ) [] Nvidia, C.: Cuda c programming guide. http://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf (Mar ), last accessed --

slide-34
SLIDE 34

.

References II .

[] Richmond, P.: Flame gpu technical report and user guide. Tech. rep., technical report CS--. Technical report, University of Sheffield, Department of Computer Science () [] Strippgen, D., Nagel, K.: Multi-agent traffic simulation with cuda. In: High Performance Computing & Simulation, . HPCS’. International Conference on. pp. –. IEEE () [] UK Department for Transport: Quarterly Road Traffic Estimates: Great Britain Quarter (October - December) (Feb ) [] 4ang, K., Shen, Z.: A gpu based trafficparallel simulation module of artificial transportation systems. In: Service Operations and Logistics, and Informatics (SOLI), IEEE International Conference on. pp. –. IEEE ()