utilizing multi-threading, parallel processing, and memory management techniques to improve...

15
Utilizing Multi-threading, Parallel Processing, and Memory Management Techniques to Improve Transportation Model Performance Jim Lam Andres Rabinowicz Caliper Corporation TRB Planning Applications 2015 Conference May 18, 2015 Atlantic City, NJ

Upload: isabella-owen

Post on 30-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Utilizing Multi-threading, Parallel Processing, and Memory Management Techniques to Improve Transportation

Model PerformanceJim Lam

Andres Rabinowicz

Caliper Corporation

TRB Planning Applications 2015 ConferenceMay 18, 2015

Atlantic City, NJ

Overview

Motivation Overview of Techniques Model Descriptions Performance Tests Limitations Implementation Conclusions

Motivation

• Many more zones for conventional models

• More complex models (Dynamic Traffic Assignments, choice model etc.)

• Good modeling practice requires many feedback, calibration, and scenario runs and good assignment convergence

• Time and budget constraints• Long run times lead to compromises

Hardware Improvements

• Multi-core chips with hyperthreading• 64-bit programming• More memory• Faster drives

Overview of Techniques

• Multi-threading– Operation is internally broken down and handled

simultaneously by processing cores– Order independent operations

• Parallel Processing– Operations invoked and managed simultaneously

• Distributed Computing– Operations are invoked on different computers

simultaneously• Memory Management

– Entire datasets are completely processed in memory• Combination of Techniques

Examples

• Matrix Operations– 12,000 x 12,000 x multi cores Exp() operation

• Data Operations– 170,000 records, 512 fields, reads, writes,

formulas• Highway Skim

– 12,000 x 12,000 x multi time periods and classes

• Transit Skim– 12,000 x 12,000 x multi time periods and

classes• Gravity

– 12,000 x 12,000 x multi time periods and purposes

• Highway and Transit Assignments– 5,000 x 5,000 x multi time periods

Performance Tests – Multi-threading

Highway Skim Transit Skim Matrix Operations Highway Assignment Transit Assignment0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

MULTI-THREADED OPERATIONS RESULTS

1 2 4 8 16NUMBER OF CORES

RELA

TIVE

RU

N T

IME

Parallel Processing - Results

Matrix O

peration

Data Operation

Highway Skim and In

trazo

nal

Transit Skim

Gravity M

odel

Nested Lo

git

Highway Assignment

Transit Assi

gnment0

0.10.20.30.40.50.60.70.80.9

1

PARALLEL PROCESSING RESULTS

1 2 4 8number of parallel processes

rela

tive

run

time

Distributed Computing

NYMTC MDSC NYMTC AssignmentSCAG Assignment SCAG Skimming SANDAG Assignment0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

DISTRIBUTED RUN RESULTS

1 2 3 4

NUMBER OF COMPUTERS

RELA

TIVE

RU

N T

IME

Memory Management

1 2 40

5

10

15

20

25

30

35

IN-MEMORY OPERATIONS-DATA OPERATION

Data Data (In-Memory)

PARALLEL PROCESSES

RUN

TIM

E (M

IN)

Matrix I

mport

Matrix I

mport (In

-Memory)

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

IN-MEMORY OPERATIONS-MATRIX IMPORT

RELA

TIVE

RU

N T

IME

Combined Techniques

• Data Example : Transit Skims for SCAG ABM– 130 skims for both Trips and Tours

• Multi-threading only: 19 hours• Multi-threading with Parallel: 9 hours• Multi-threading with Parallel with Distributed:

5 hours

Limitations

• Processing Cores• Available Memory• Disk Speed• Network Speed• File Conflicts• Different User Hardware

Implementation - Code

• Traditional

• Parallel

Implementation - Graphic

Conclusions

• New techniques have potential for dramatic performance improvements

• Combining techniques can improve performance even further

• Hardware limitations still exist • Additional improvements are still

possible