a temporal domain decomposition algorithmic scheme for...
TRANSCRIPT
Yi-Chang Chiu, Ph.D., Eric J. Nava Department of Civil Engineering and Engineering Mechanics
Hsi-Hwa Hu, Ph.D., Guoxiong Huang, Ph.D. Southern California Association of Governments
2012 TRB Innovation in Travel Modeling Conference
Tampa, Florida
A Temporal Domain Decomposition Algorithmic Scheme for Efficient Mega-Scale Dynamic Traffic
Assignment – An Experience with Southern California Associations of Government (SCAG) DTA Model
Forewords
2
How hard is it to write a SB-DTA Model? Publish – easy Meet real-life project requirements – hard
Numerous details need to be take care of
What matters?
3
Tradeoff between speed and memory usage Compiler (special CPU instruction) - Intel vs. AMD OpenMP optimized data structure (locking) Simulation Network Structure Backward*, forward*, heap, bucket, link-list, etc.
TDSP – implementation Assignment – path storage
Algorithm Sorting, searching Simulation – state updates TDSP + Assignment
Input/output Binary/text files/others (HDF5) Caching - memory vs HD, when and how SSD
Data Structure
4
(Dynamic) balancing memory/file catching Static stacks v.s dynamic heaps/stacks Dynamic memory allocation or not (huge
difference) Squeeze every drop of juice (int vs. float) Write foundational data structure from
scratch (v.s STL)
DTA Related Computational Research
5
TDSP Improvements Redesigned TDSP algorithm for intersection
and turning movements (Ziliaskopoulos and Mahmassani 1996) Parallel TDSP Implementation
(Ziliaskopoulos, Kotzinos, & Mahmassani 1997)
DTA Related Computational Research
6
Large-Scale Parallel Processing Implementation Internet-Based SBDTA model run with
cluster computer system (Ziliaskopoulos, et al. 2000; 2004) Domain decomposition and load-balancing
scheme (Rickert & Nagel 2001, Villalobos and Chiu, 2011) Internet-based Beowulf cluster system
(Peeta and Zhang 2004)
Background
8
Computational Management
Computational Management Scheme
Background
9
Computational Management Management of
memory requirement needed to feed TDSP
and Vehicle Assignment
MIVA Development
10
The Method of Isochronal Vehicle Assignment (MIVA) Time domain decoupling scheme of the
between simulation and assignment procedures into sequential stages Allows memory requirement for TDSP and
assignment to be temporally bounded Reduction in memory need Ability to handle large-scale, long-term SBDTA
applications
MIVA Development
11
Rolling Horizon Sequential stages of the time domain is
similar in concept to rolling horizon Used in real-time DTA applications Forecasting future conditions
Distinction between rolling horizon and MIVA Future condition is known Used for staging assignment
MIVA Development
12
Epoch
13
The “staging” period for assignment: Simulation period Aggregation interval Departure time interval set Number of Epochs Epoch size Epoch set Set of intervals for Epoch set Vehicle set Epoch vehicle set
𝐻𝐻 ℎ
𝑇𝑇 = {𝜏𝜏1, 𝜏𝜏2, … , 𝜏𝜏|𝐻𝐻/ℎ|}
𝑏𝑏 = |𝐻𝐻 ℎ⁄ |/𝑛𝑛
𝑛𝑛
𝐸𝐸 = {𝑒𝑒1, 𝑒𝑒2, … 𝑒𝑒𝑛𝑛}
𝑒𝑒𝑠𝑠 = �𝜏𝜏(𝑠𝑠−1)𝑏𝑏+1, 𝜏𝜏(𝑠𝑠−1)𝑏𝑏+2, … , 𝜏𝜏𝑠𝑠𝑏𝑏 �,∀ 𝑒𝑒𝑠𝑠 ∈ 𝐸𝐸
𝑉𝑉 = {𝑣𝑣1. , 𝑣𝑣2, … , 𝑣𝑣|𝑉𝑉|} 𝑉𝑉𝑒𝑒𝑠𝑠(𝑖𝑖, 𝑗𝑗, 𝜏𝜏) ⊆ 𝑉𝑉
Projection Period
14
Time period in which TDSP is updated: Projection Period Projection Period length (percentile)
𝑃𝑃(𝑒𝑒𝑠𝑠) = �𝜏𝜏(𝑠𝑠−1)𝑏𝑏+1, 𝜏𝜏(𝑠𝑠−1)𝑏𝑏+2, … , 𝜏𝜏𝑠𝑠𝑏𝑏 , 𝜏𝜏𝑠𝑠𝑏𝑏+1, … , 𝜏𝜏𝑠𝑠𝑏𝑏+𝑦𝑦�
ℎ ∙ 𝜏𝜏𝑠𝑠𝑏𝑏+𝑦𝑦 ≥ 𝐺𝐺(𝜑𝜑); 0.0 ≤ 𝜑𝜑 ≤ 1.0
Numerical Analysis (MIVA)
15
Three real-world networks used for testing
Three performance measures Maintenance of solution quality Peak memory usage Computational time
Network Zones Nodes Links Agg. Int. # Ite. Sim.
Period #of Veh.
Minneapolis 558 2837 6872 10 50 300 1,259,594
Minneapolis
Numerical Analysis (MIVA)
16
Maintain solution quality Percentile 𝜑𝜑 = 0.90
Minneapolis
Numerical Analysis (MIVA)
17
Peak Memory Usage (MB) Minneapolis
Proj. Ped. 0.8 0.9 1.0
0.8 0.9 1.0
Full Scale --- --- 598.6 3 Epochs 5 Epochs
1 467.3 475.7 --- 1 434.7 435.1 --- 2 485.3 493.6 --- 2 454.4 467.9 --- 3 476.3 475.6 --- 3 462.3 475.2 ---
4 455.3 464.0 --- 5 450.0 450.3 ---
6 Epochs 1 430.6 430.7 --- 2 445.3 454.0 --- 3 458.6 467.0 --- 4 454.5 467.3 --- 5 448.3 453.2 --- 6 445.4 444.1 ---
ST-MIVA Algorithm
18
Adaptive and robust on-line mechanism to determine time-optimal Epoch value Iteratively evaluating the computational
time of SBDTA execution based on different Epoch settings “Bisection” search method Iteratively downsizes the set of permissible
Epochs by half
Numerical Analysis (ST-MIVA)
19
Two real-world networks used for testing
Three performance measures Peak memory usage Computational time Optimal epoch value
Network Zones Nodes Links Agg. Int. # Ite. Sim.
Period #of Veh.
El Paso 681 2,437 5,233 10 15 1440 2,171,006 Guam 2832 10,095 23,147 15 10 1440 6,814,589
El Paso
DRCOG
Numerical Analysis (ST-MIVA)
20
Peak Memory Usage At final Epoch value
Computational Time
El Paso
Numerical Analysis (ST-MIVA)
21
Peak Memory Usage At final Epoch value
Computational Time
DRCOG
Numerical Analysis (ST-MIVA)
22
ST performance El Paso
Numerical Analysis (ST-MIVA)
23
ST Performance
DRCOG
SCAG Regional Model
24
20K center line miles 31k nodes 82k links 4k/11k zones
Largest DynusT Model To Date
25
34
5.2 9.5
7.5
3
6.2
0
1000
2000
3000
4000
5000
6000
7000
0 20000 40000 60000 80000 100000
# of
Zon
es
# of Links
SCAG
NCTCOG
PSRC
SACOG
DRCOG
MAG
24-hr Loading
26
50% loading – 16.3 M 8-Core Corei7 w/o SSD
0
50000
100000
150000
200000
250000
300000
350000
1 8 15
22
29
36
43
50
57
64
71
78
85
92
99
106
113
120
127
134
141
Departure
Arrival
Existing
Computational Characteristics
27
Peak Memory – 25 GB/50GB Per iteration (hr) Simulation – 1.0/? Assignment – 2.5/?
Improvement Opportunities Memory – not an issue Run time Solid-State Drive (SSD) 64 GB 48 Core server Reduce locking/critical regions Use of static stacks v.s. dynamic allocate
Acknowledgements
28
Dr. Robert Tung, RST International, Inc.