The hardware on which your simulation runs can change your approach to the problem and the skills you need. At the very least, using modern hardware should make your experiments go faster. During my master's program, I used an ASUS laptop for most of my modeling efforts. It was fine for most simulations, particularly when using NetLogo, but was inadequate for scaling to larger models. The 8 logical cores did, however, allow me to take advantage of NetLogo's Behavior Space to implement a type of parallelism, Single Program, Multiple Data (SPMD). Distributing the model to 7 of the cores (always save one for the operating system) allowed each model to start with the same initial conditions, but grow toward different end states given stochastic variations. Since the experiment needed to be repeated multiple times, this allowed results to be obtained in about 1/7 of the time. I recently purchased a new system to support future modeling endeavors and compare the two systems.
ASUS |
Alienware |
||
---|---|---|---|
Model: |
Notebook G73Jh |
Model: |
Area-51 Threadripper R6 |
CPU: |
Intel Core i7 Q 740 running at 1.73 GHz |
CPU: |
AMD Ryzen Threadripper running at 3.67 GHz |
Logical Cores |
8 |
Logical Cores |
32 |
GPU: |
AMD Mobility Radeon HD 5800 Series |
GPU: |
NVIDIA GeForce GTX 1080 Ti SLI x2 |
Memory |
16 GB (14 GB useable) |
Memory |
64 GB |
Operating System |
Microsoft Windows 7 Professional |
Operating System: |
Microsoft Windows 10 Professional |
I ran two benchmarks on the systems. Novabench provides an overall score, as well as scores for the CPU, GPU, memory, and disk. Unigine provides a few benchmarks, the latest of which is Superposition. The Unigine benchmark is focused on the GPU. Both systems had the latest updates and drivers and neither system was overclocked. SLI was disabled on the Alienware.
ASUS | Alienware | ||
Overall: | 1,088 | Overall: | 3,902 |
CPU: | 596 | CPU: | 2,761 |
GPU: | 211 | GPU | 640 |
Memory: | 208 | Memory | 346 |
Disk: | 73 | Disk: | 155 |
GPU Speed | 243 GFLOPS | GPU Speed: | 11,686 GFLOPS |
ASUS | Alienware | ||
Overall: | 3,111 | Overall: | 15,309 |
Average Frames/Second: | 23 | Average Frames/Second: | 115 |
Benchmark was run at a level compatible with the ASUS: 1280x720 resolution; Shaders and Textures Low. |
Raw benchmarks are fine for general comparisons between systems or bragging rights, but to see how it helps with modeling, you need to compare simulation runs. Using NetLogo 6, I ran one of the simulations from the included Models Library, "BeeSmart Hive Finding." The model demonstrates how a bee swarm selects a new hive. Using Behavior Space, I set a time limit of 3,000 steps (in case of a runaway model), turned off all visual updates, left model speed at normal, and set the number of repetitions to 217. 217 being equal to 7 (ASUS cores - 1) times 31 (Alienware cores - 1). I then timed the model runs.
ASUS | Alienware | ||
Time to Complete: | 14.0 Minutes | Time to Complete: | 3.5 Minutes |
Given that the Alienware used about four times the number of cores as the ASUS, I expected it to be at least four times faster and it was. An even faster speed was suggested by the Alienware's CPU clock speed at twice that of the ASUS, but this seemed to play little role. Naively, 4.4 (31/7) times greater cores and a 2.1 (3.67/1.73) faster CPU suggests a 9.2 times greater speed. But this forgets that modern systems multitask and the sequential aspects of Behavior Space where Amdahl's law may have come into play. Note that GPU plays no role here as it is used as a display mechanism and not as a computational device.
Hardware does matter, but the software must be able to make use of it. For NetLogo, this exercise shows the value of additional logical CPU cores and discounts the value of other aspects inherent in today's high performance desktop systems. It also shows the limitations of NetLogo which cannot use multiple CPUs from within a model and sadly remains unaware of the computational bonanza that can be found in a GPU.