On Fri, 14 Dec 2012, hanfeng QIN wrote:
I know the options '-F' and '-W'. Actualy, I use them together with '-I' option to specify the detailed instruction numbers (as denoted with N3 in my previous mail). It seems that the default implementation in configs/common/Simulation.py will pass the N3 to cpu[i].MAX_INSTS_ANY_THREAD. Thus, when any program finishes N3 instructions, the total simulation will exit. Obviously, in this case I modify this default implementaion by passing N3 to cpu[i].MAX_INSTS_ALL_THREADS, which will force each program to commit at least N3 instructions. Then the final total instruction simulated will be N3 * Nr_cores. But this approach has a pitfall compared with the methodology I referred. For multi-programmed workload, once some program finishes N3 instructions, the corresponding core will have no task to schedule ( I assume the number of workload will be no more than available cores simulated). Thus, it may be not reasonable to evaluate its impact on shared resource contention according to final statistics report.
I don't understand why you are so insistent that every core has to execute exactly N3 number of instructions. A much more realistic experiment would be one where each core has executed at least N3 instructions. If you understand how the option -I has been implemented, it should be straight forward for you to modify gem5 and dump stats when all cores have executed at least N3 instructions.
Based on this, I have an idea to report statistics more reasonable. Can we carry out detailed simulated N3 * 2 instructions for each program (thus total instruction simulated will be (N3 * 2) * Nr_cores) but only dump the stats after the first N3 instructions? But I am not clear on the stats dump internals.
I don't see why executing twice the number of instructions would make any difference. Depending on the latencies in the system, the ratio of IPC's of two cores can be very low/high.
I would rather suggest that you think more about the experiment you are proposing. Why is it essential that each core has executed exactly N3 instructions? Is this experiment realistic?
-- Nilay _______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
