Skip to content

Commit

Permalink
writeup for hardware requirements
Browse files Browse the repository at this point in the history
  • Loading branch information
vivekyadav26 committed Sep 9, 2024
1 parent ba2488a commit dc04299
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions topics/Hardware_Requirements_for_TDM.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@


Hardware Requirements/Optimzation
--------------------

Travel demand models (TDM), as most TDM developers and users are familiar, are resource hungry, however, their system requirement varies from models for small counties to mid-size/large MPOs to state. Some of the key datasets that models are dependent on are traffic analysis zone (includes socioeconomic and demographic data), skims, highway/transit network. For larger regions, these datasets are typically large in size and can benefit greatly from using multiprocessing/multithreading at different steps of the model. It is important to recognize that there is no golden rule, however, here are some guidelines on hardware requirements to consider while developing a model or using it.

- **Processor (CPU)**: Travel demand models, especially that involve large-scale simulation can benefit from multi core processors. There are several benefits of using multicores such as faster computing, multitasking and efficiency. Consider CPUs with high number of cores, strong single thread performance and higher clock speed. For example - Intel Core i9/AMD Ryzen 9 are more suitable for desktop PCs (https://www.cpubenchmark.net/desktop.html) and Xeon/EPYC are better for servers (https://www.cpubenchmark.net/server.html ).

- **Memory (RAM)**: There are two things to consider when thinking about RAM requirements for the model: Capacity and Speed
- Capacity: Travel demand models are known to be memory intensive, especially when dealing with skims of larger region. A minimum of 32 GB of RAM is typically recommended, though 64 GB or more would be required by models of large areas.
- Speed: Faster RAM can have significant reduction in data processing time, so consider using RAM with higher MHz ratings. Higher RAM speed indicates faster data reading and writing to random access memory (RAM).

- **Storage**: Solid state drives (SSD) are improved version hard disk drives (HDD). They have better read/write speeds compared to traditional hard drives. They also offer reduced load times and higher speed data-intensive operations. M.2 NVMe SSDs are the fastest SSDs and can be found on most of modern systems. It is also important to have enough storage not only for the software but also all the data that is used or generated by travel demand models. A combination of SSD and larger HDD would be more cost efficient. Active model runs can be performed on SSD and then later stored on larger HDD for future use.

- **Graphics Processing Unit (GPU)**: Most of the travel demand models rely on CPU, however, certain simulations or visualizations may benefit from GPU acceleration. Depending upon which software is used for the travel demand model, a system GPU can benefit from it.

- **Scalability**: As the model becomes more complex, it is recommended to scale the hardware too. Having a modular systems that allow for more flexible easy upgrade to CPU, RAM, storage and GPUs.

- **Software Optimization**: During the development of the travel demand model, several techniques can be used to ensure that the program uses all the resources available in the system.
- Parallel processing: Build your program in such a way that it uses multi-core processing. This will have significant impact on performance on modern hardware.
- Memory Management: Make sure the program uses the memory efficiently which can help reducing hardware demands and make the program accessible to broader range of systems.
- Cross-Platform Compatibility: Building a model that is compatible with different hardware configurations (eg. Desktop, servers, cloud) will ensure that user can choose hardware that best fits their needs.

- **Cloud Computing**: AWS, Azure and Google Cloud offer myriad powerful virtual machines which can be cost effective option. The developer/modeler can test and run their models on cloud servers to test on various configurations to find the most effective server configuration.

0 comments on commit dc04299

Please sign in to comment.