Starting with the most important, consider these factors when choosing
a platform to run Simics on:
- CPU Speed
- Simulation is a very compute intensive application. As a general
rule, a machine with higher compute performance will outperform a
lower compute performance machine unless the simulation is starved for
memory. The SPECint2006 benchmark suite (
www.spec.org
) is a
good indicator of compute performance and can be used to compare
systems with different processors. Both processor architecture and
clock frequency affects the performance. Within an architecture
performance scales almost linearly with clock frequency.
Other CPU features such as the size of the caches does affect
performance, but less so than the architecture and the clock
frequency.
- Memory Size
- The simulator can operate with less memory than the simulated
memory size. It does that by allocating pages only when used and
swapping out pages to disk when running low on memory. The memory size
needs to be large enough so that the paging of memory to disk does not
hurt performance too much.
- Number of Cores
- Simics Accelerator will utilize multiple host threads to simulate
in parallel. If all simulated processors require equal amounts of time
to simulate, then the simulator can theoretically utilize as many host
cores as there are simulated processors. In practice, the workload is
always skewed, meaning that fewer host cores can be effectively
utilized. It is more efficient to use multiple cores or processors on
a single machine compared to distributing the simulation across
multiple host machines.
- File System
- Running from local disk is faster than running over a network file
system. When running low on memory, make sure that the swap directory
used by the memory limit feature is located on local disk. Also, solid
state disks (SSDs) are highly preferred over traditional rotating
disks.