Hi,

I hope you read this email entirely.

I have been working with gem5, for now, more than a few years. However, I
am still struggling with multicore simulation, although I have found
single-core simulation very convenient with gem5. This is particularly
weird given lots of new features are being added to gem5 on a daily basis.
Let's go over a simple and basic scenario:

Scenario: Multic-core simulation with SPEC CPU 2017 and simpoints

*Challenges*:
1) Despite SPEC CPU 2006, the new version of SPEC has long simpoints (the
first simpoint happens to start very late; in order of 1000B instruction)
meaning we have to use KVM CPU, otherwise it would be impossible to reach
to simpoints.

2) They need a newer version of gcc leading to the use of many new
instructions and syscalls
3) RMW operations implementation for X86 is not supported in classic
memory, meaning we have to either use ARM ISA, or ruby that has natural
support for RMW.

*Simulation Options ( Please help/correct  me if I am wrong)*
1) ARM+KVM: This works as long as you run everything on an ARM machine.
However, in reality,  we take the simpoints on an ARM host to have support
for KVM. Then we can move the simpoint to X86 clusters for simulations.
Because ARM machines are usually slow and limited. For example, I had to
pay 100$ on AWS to take my simpoints. Also, this is not the end of the
story, when on X86 cluster you restore your simpoint with atomic CPU as KVM
is no longer supported, the stats would not make sense. For example, I have
seen two CPUs with an IPC of 2, and 2 CPUs with IPC of 0.1 while running
the same applications, and while I have seen completely different IPC on
ARM machines.

2) X86+classic memory: Does not work as there is no support for RMW

3) X86+ruby: the simulations hang when taking the checkpoint.

4) elastic trace CPU: my advisor does not accept that as a high fidelity
simulation (both :) and :( ). Also, multicore is not supported.

I am wondering how there are many papers using gem5 for multicore
simulation out there even in top-tier conferences given the current
<https://gem5art.readthedocs.io/en/latest/tutorials/boot-tutorial.html>status
of gem5.

*Also, rather than sepnding this ampount of time on new features, is not
better to get this basic scenario working first? *

Thanks, and sorry for this logn email!
Majid
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to