Hi again, I think I got what you said, but not completely so sorry if I don't understand the logic. You say that simics control the flexpoint numbers *if* bagic break is available no matter how many flexpoints I passed to the warm simualtor (if I understand corectly).
As I depicted in the attached picture (sorry for the quality but I reduced the size as much as possible), suppose the core computation really need 11 flexpoints so maximum number of flexpoints is 11. 1- Now suppose I run $SCRIPT_ROOT/run_job -postprocess "$SCRIPT_ROOT/postprocess_ckptgen.sh flexpoint 20 test_app" -cfg trace -run flexpoint -local -ckpt-gen CMP.L2Shared.Trace flexus_test_app_v9 . Note that I passed 20. What will happen? How many flexpoints I will get at the end of the warm simulation? 2- Now suppose I run $SCRIPT_ROOT/run_job -postprocess "$SCRIPT_ROOT/postprocess_ckptgen.sh flexpoint 5 test_app" -cfg trace -run flexpoint -local -ckpt-gen CMP.L2Shared.Trace flexus_test_app_v9. Note that I passed 5. What will happen? How many flexpoints shall I get at the end of the warm simulation? My answers are: 1- 11 flexpoints 2- 5 flexpoints Do you confirm that? // Naderan *Mahmood; ________________________________ From: Volos Stavros <[email protected]> To: Mahmood Naderan <[email protected]> Cc: simflex <[email protected]> Sent: Sat, June 19, 2010 10:47:28 PM Subject: Re: Avoiding under or over simulation in warm simulation Hi, What do you mean true value for number of flexpoints. When you create flexpoints there is a breakpoint every X cycles where X is the interval. The state is saved in the corresponding flexpoint and it continues for the next one. As long as the workload continues running, your flexpoints will capture the workload. Now if your workload runs only for 1 second and Interval*Number of flexpoints is bigger than the cycles needed for the 1second then the rest of the flexpoints will capture the idle state of the machine except if there is a breakpoint in the end of your workload and simics stops simulation. Regards, -Stavros On Jun 19, 2010, at 3:14 PM, Mahmood Naderan wrote: That was an example. Now my concern is: > >Flexus3.0 has a parameter MAX_FLEXPOINTS=28 in the create-flexpoints which >should be predetermined. Also in Flexus4.0, the command run_job -postprocess >"$SCRIPT_ROOT/postprocess_ckptgen.sh flexpoint 28 test_app" -cfg trace... need >to know the maximum number of flexpoints. > >Consider the true value for number of flexpoints is 28 but I don't know that >so I enter 50. Is it ok? Two states are possible: > >1- after the 28th flexpoint, the simulation ends because flexus found that the >magic break is executed. So there will be no folder from flexpoints_029 >through flexpoint_050. > >2- Flexus ignores the magic break and continue to create more flexpoints from >flexpoints_029 through flexpoint_050. Since my code is finished at the 28th, >the remaining flexpoints will contain OS background activities (I say that >over-simulation) > >Which one is true for flexus? > >// Naderan *Mahmood; > > > > > ________________________________ From: Volos Stavros <[email protected]> >To: Mahmood Naderan <[email protected]> >Cc: simflex <[email protected]> >Sent: Sat, June 19, 2010 4:49:18 PM >Subject: Re: Avoiding under or over simulation in warm simulation > > >If I understood correctly you need to simulate a particular region. It seems >that >this region takes only 15000000 cycles. So creating 3-4 flexpoints will not >give >you a good confidence interval. I would recommend you to use smaller interval >and run some timing simulations to see the confidence interval. > > >I agree that you don't need to know the maximum number because your region of >interest is a fixed part of your code. > > >Regards, >-Stavros > > >On Jun 19, 2010, at 1:40 PM, Mahmood Naderan wrote: > >How about using magic break at the end of the ROI. For example suppose that we >don't know how many instructions or cycles are going to execute. As you said, >we have phase_000 which is actually the cold checkpoint. Now when we launch >the create flexpoint file with 5000000 interval, the logic is: >>1 ~ 5000001 => flexpoint_01 >>5000002 ~ 10000002 => flexpoint_02 >>10000003 ~ 15000003 => flexpoint_03 >> >>At this point we see this: >>15000003 ~ 15006531 => magic break is execute => flexpoint_04 => quit >> >>Now we can see that 4 flexpoints are created and the warm simulation ends. No >>need to know the maximum number. Do you agree with that? >> >>// Naderan *Mahmood; >> >> >> >> >> ________________________________ From: Volos Stavros <[email protected]> >>To: Mahmood Naderan <[email protected]> >>Cc: simflex <[email protected]> >>Sent: Sat, June 19, 2010 2:52:38 PM >>Subject: Re: Avoiding under or over simulation in warm simulation >> >>Hi Mahmood, >> >> >>I suppose that you have already created a simics checkpoint (i.e. phase_000) >> >> >>The number of flexpoints depends on the workload that you have. When creating >>flexpoints >>there are two parameters: >>a) How many flexpoints you create >>b) How many cycles you simulate before take the flexpoint (interval) >> >> >>For example if the interval is 5000000 cycles and the number of flexpoints >>are 80, you will >>simulate 400000000 cycles. This can be transformed to real time so if you >>want to simulate >>your workload for 5s real time you should estimate how many cycles you need. >> >> >>How many flexpoints and what the ideal interval is it depends on your >>workload. >> >> >>Personally when I created flexpoints for two different transactions of an >>oltp workload, the two >>transactions needed different interval/number of flexpoints. The metric that >>you should use to >>see if the flexpoints are reliable is that the 95% confidence interval of the >>average IPC of your >>workload should be less than 5%. >> >> >>Regards, >>-Stavros >> >> >> >> >>On Jun 19, 2010, at 7:58 AM, Mahmood Naderan wrote: >> >>Hi, >>>I want to create flexpoints for my own workload. Considering the region of >>>interest: >>>// initialize >>>BEGIN_ROI // will send a magic break to create a cold checkpoint >>>// core >>>FINISH_ROI // will send a magic break to stop the warm simulation >>>// finalize >>> >>> >>>I want to know how many flexpoint should I create since number of flexpoints >>>is given as an argument to the commandline? >>> >>>Logically the warm-up simulation (create flexpoint phase) should be stoped >>>at either maximum number of flexpoints given to the command or the magic >>>break just before FINISH_ROI. Anything else will be result in under >>>simulation or over simulation. >>> >>>Thanks, >>>// Naderan *Mahmood; >>> >>> >> >> >> > > >
<<attachment: pic.jpg>>
