-
Notifications
You must be signed in to change notification settings - Fork 35
[Question] Inquiry Regarding EXEC-DRIVEN Mode in Scarab v2.0 #14
Description
Dear Scarab development team,
We are a research lab in Korea working on CPU microarchitecture.
First of all, we would like to express our sincere appreciation for your efforts in developing and maintaining Scarab v2.0. Your work has been invaluable to our research.
We have been using Scarab v1.0 from the HPS group for our simulations, primarily in EXEC-DRIVEN mode rather than trace mode. With that version, we were able to successfully simulate all SPEC2017 benchmarks using the SimPoint and checkpointing methodology.
However, after transitioning to Scarab v2.0, we are encountering issues with some benchmarks when attempting to run simulations in EXEC-DRIVEN mode using the same methodology. (We understand that the UDP paper seems to have used trace-based simulation, but we would strongly prefer to continue using EXEC-DRIVEN mode.)
Specifically, we observe failures in certain benchmarks only when perfect_bp and perfect_target are disabled. When these options are enabled, all benchmarks complete without issues.
Upon further investigation, we found that the failing instructions are all CF_ICALL branches. For these branches, the simulator receives unrealistically small NPC (next PC) values such as 0x12 from the PIN tool for OFF_PATH instructions. These values then cause assertion failures in Scarab (e.g., LINE_ADDR == 0) during simulation.
We would like to ask:
Has Scarab v2.0 been designed with support for EXEC-DRIVEN mode in mind?
Is there any recommended solution or workaround for the issue described above?
Thank you in advance for your time and support.
Sincerely,
First-year M.S. student
Yonsei University, South Korea