Using High Efficiency Computing and Advanced Memory Management Techniques to Improve Transportation Model Performance
Andres Rabinowicz, Caliper Corporation
This paper explores new computation techniques to increase the computational efficiency of advanced transport models.
Within the last several years, computer chip makers have steadily been increasing the number of multi-processing cores that enable multiple operations to be run simultaneously instead of sequentially. At the same time, PC-based Windows operating systems have mostly transitioned from 32-bit computing platforms to 64-bit platforms, and available RAM memory is steadily increasing. 64-bit programming holds the advantage that it removes the memory and programming limits that were previously in place for 32-bit and below platforms. Both technologies have the potential to dramatically improve transport model computing performance. Unfortunately, in many cases, dramatic programming changes are necessary to take advantage of these technologies. Therefore, for the most part, software programming has not yet fully taken advantage of this potential, and as a result, many transportation models do not fully exploit all available processing power and memory.
This paper details research, development, and application of transportation models that utilize multi-core processing and 64-bit programming. For multi-core processing, the paper details the transformation of common transport models such as network skimming, assignment, logit evaluation, and matrix operations from sequential single core to multi-threaded simultaneous processing. For 64-bit programming, transport models that utilize large amounts of memory are analyzed. Examples of such models are matrix operations, path-based network assignment, and multi-class equilibrium-based transit assignment. This paper also details the research and results of combining these optimization strategies, such as running multiple multi-core operations in parallel or on different computers. Lastly, this paper describes possible user interfaces and programming pseudo-code for users to understand, set up, and implement these multi-core, parallel, and high-memory strategies.
Association for European Transport