Is number of instructions a valid measurement for realm VM in FVP

Hi All,

I am working with Armv-A Base RevC AEM FVP and also using Arm reference solution (https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-docs/-/tree/master/docs/aemfvp-a-rme?ref_type=heads). I want to run some experiments (machine learning inference) aiming to compare realm VM and normal world VM. In each run of FVP I create a virtual machine (inside either realm or NW). Then I run some inference and measure total number of instruction executed using GenericTrace(to print the instructions in the trace file) and TuggleMTIPlugin( to start and stop tracing at particular points). What I am experiencing is a big divergence between numbers I get from the realm VM experiment (from 270 millions to 380 millions for each inference) while the numbers from the normal world VM are very stable (from 227 to 229 millions for each inference. I have two questions:

1- As FVP is accurate from the point of view of the software, should we expect to see a relatively same number of instructions in each run of FVP? If so, what is the bottleneck of realm world which makes numbers so divergent.

2- Is there any relation between number of instruction executed in FVP for a particular workload and the host (x86 in my case) running the FVP.  Should we expect to see lower number of instructions when we run the FVP on a more powerful host or when we do some techniques like pinning a particular core to only run FVP. I am asking these questions because I have faced this problems especially in the realm VM measurements. 

Parents
  • FVP are functional models, not timing or cycle accurate.  All other things be equal, i'd expect the number of reported architectural instructions to be consistent.  Where that gets tricky is if you're interacting with something outside the model, such a network or filesystem.  

Reply
  • FVP are functional models, not timing or cycle accurate.  All other things be equal, i'd expect the number of reported architectural instructions to be consistent.  Where that gets tricky is if you're interacting with something outside the model, such a network or filesystem.  

Children
No data