Thank you so much for you reply!
I modified the ckptdir in scripts/global.run_job.rc.tcl :"/disk_sdc/workloads" 
where all the cloudsuite workloads are under it. And then change the command 
like this:
[root@localhost flexus-4.1]# run_job -postprocess 
"/home/zhangwuxiang/flexus-4.1/scripts/postprocess_ckptgen.sh flexpoint 28 
classification" -cfg trace -run flexpoint -local -ckpt-gen CMP.L2Shared.Trace 
classification/1cpu 
use the CMP.L2Shared.Trace simulator, it seems works. Does it have anthing to 
do with the simulator?
But the workload still can't execute correctly. When I use the command above, 
it prints:
>/home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/000_000
sh: ./go.sh: No such file or directory
</home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/000_000
>/home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/001_000
sh: ./go.sh: No such file or directory
</home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/001_000
>/home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/002_000
sh: ./go.sh: No such file or directory
</home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/002_000
>/home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/003_000
sh: ./go.sh: No such file or directory
</home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/003_000
>/home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/004_000
sh: ./go.sh: No such file or directory
</home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/004_000
>/home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/005_000
sh: ./go.sh: No such file or directory
</home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/005_000
>/home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/006_000
sh: ./go.sh: No such file or directory
</home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/006_000
>/home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/007_000
sh: ./go.sh: No such file or directory
</home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/007_000
>/home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/008_000
sh: ./go.sh: No such file or directory
</home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/008_000
>/home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/009_000
sh: ./go.sh: No such file or directory
</home/zhangwuxiang/flexus-4.1/result/trace-CMP.L2Shared.Trace-27Apr13-043419/classification/1cpu/009_000

BTW, I use the "run_job -list-specs" command, I did not see any available 
jobspecs. What's wrong with it? Is it conserned about the simics or flexus?




Best Regards!
MAIL: [email protected]


From: Diana Guttman
Date: 2013-04-26 00:54
To: zhangwuxiang
Subject: Re: Re: which memory space to choose when load ruby?
Hi Zhangwuxiang,


I have not used the uniprocessor model at all but I will try to help you if I 
can.  I think the problem with your command is that you need to put 
"cassandra/1cpu" instead of "1cpu".  My command to create flexpoints is the 
following (it is slightly different for UP because I use the CMP processor):
run_job -postprocess 
"/gpfs/scratch/drg217/flexus/flexus-4.1/scripts/postprocess_ckptgen.sh 
flexpoint 28 parsec" -cfg trace -run flexpoint -local -ckpt-gen 
CMP.L2Shared.Trace parsec




Some other things to try:


1. flexus was having problems finding the images, so I changed the lines in 
$FLEXUS/scripts/.run_job.rc.tcl from this:{ cloud9/1cpu                 
baseline    0:0     $simics_commands(trace_commercial) }
to this: { cloud9                 baseline    0:0     
$simics_commands(trace_commercial) }
Then you have to make sure that the folder hierarchy for each benchmark in 
ckpts is the same as the flexus_test_app, and when running the script use just 
"cloud9" instead of "cloud9/1cpu".  This will only work if you can stick to the 
same number of cores for your experiments, because it is a pain to move them 
around a lot.

2.  For me the edits to the checkpoint_path in the simics image "phase_000" did 
not exactly match the changes specified in 
http://parsa.epfl.ch/cloudsuite/docs/deploy_cloudsuite.pdf . But if this were 
wrong you would not be able to run with Simics anyway.   For example, instead 
of 4 entries in the where the first one is an empty string, I have 3 as follows:
checkpoint_path: ("/home/benchmarks/cloudsuite/datasets/binary_disk",
                          "/home/benchmarks/cloudsuite/datasets/binary_disk",
                          
"/home/benchmarks/cloudsuite/datasets/media_streaming_data")


Diana


On Thu, Apr 25, 2013 at 2:44 AM, zhangwuxiang <[email protected]> wrote:

Hi, Diana,
I get the information that you use the simics images of cloudsuite on flexus. 
But I do not exactly understand how to use these images on flexus. 
I build the flexus, and modify the reference files. And the simics image path 
is like this: "/disk_sdc/workloads/cassandra/1cpu/baseline/phase_000/simics/ " 
I want to  run the checkpoint  
"/disk_sdc/workloads/cassandra/1cpu/baseline/phase_000/simics/1s-4gb-2c-4gb" . 
So I set the ckptdir "/disk_sdc/workloads/cassandra"  in 
flexus-4.1/scripts/global.run_job.rc.tcl .

After doing these, get to the flexus-4.1 directory, and enter the command below 
to create flexpoint:

 [root@localhost flexus-4.1]# run_job -cfg trace -run flexpoint -local 
-ckpt-gen UP.Trace 1cpu 
wrong # args: should be "set varName ?newValue?"
while executing
"set pattern 
/home/zhangwuxiang/flexus-4.1/simulators/UP.Trace/libflexus_UP.Trace_x86_iface_gcc.so
 /home/zhangwuxiang/flexus-4.1/simulators/UP.Trace/li..."
("uplevel" body line 1)
invoked from within
"uplevel 1 set $arg [set $arg] "
(procedure "copy" line 2)
invoked from within
"copy $flexuslibfile .skel"
invoked from within
"if {!$extend} {
copy [file join $specdir *] .skel/global
if {$cfg ne ""} { copy $userspecdir/$cfg/* .skel/user }
if {[file exist $job_dir/.skel/user/..."
(file "/home/zhangwuxiang/flexus-4.1/scripts/run_job" line 209)

Is something wrong with my command? or the checkpoint is not used like this? 
And something need to mention is that , I skipped the steps of installing os 
and preparing the test app says in the flexus-getting-started.pdf, it just a 
test example and has nothing to do with the cloudsuite, is it right? BTW, the 
images can run on simcis alone. How to use the images with flexus? 

Look foward your reply. Thank you in advance.



Best Regards!
MAIL: [email protected]


From: Diana Guttman
Date: 2013-04-12 22:35
To: zhangwuxiang
Subject: Re: which memory space to choose when load ruby?
Hi Zhangwuxiang,  


I had the same problem.  There are actually 4 places where you need to change 
the name of the memory in ruby:
Add in ruby/module/ruby.c, line 295:
if(phys_mem0 == NULL) {
    /* Look for an object called "server_phys_mem" instead */
    SIM_clear_exception();
    phys_mem0 = SIM_get_object("server_phys_mem");
}
other locations where this line needs to be fixed/added:
ruby/simics/inferface.C: lines 149 and 188
ruby/simics/ContiguousAddressTranslator.C: line 77
opal/system/system.C: line 820, add:
    conf_object_t* phys_mem_temp = SIM_get_object("phys_mem0");
    if (phys_mem_temp == NULL){
      SIM_clear_exception();
      phys_mem_temp = SIM_get_object("phys_mem");
    }
    if (phys_mem_temp == NULL){
      SIM_clear_exception();
      phys_mem_temp = SIM_get_object("server_phys_mem");
    }
and replace SIM_get_object("phys_mem0") with phys_mem_temp in the code.


However, we have determined in our group that these images will only work in 
Flexus (or Simics alone), not Gems currently. Flexus has some support for 
multiple machines that Gems doesn't seem to have.  As you can see in the simics 
images, there are multiple machines with different numbers of cores, etc.


Please let me know if you can get the images running with Ruby/Opal because it 
would be very helpful for my group.


Thanks,
Diana


On Thu, Apr 11, 2013 at 11:36 PM, zhangwuxiang <[email protected]> wrote:


Hi, after loading the checkpoint of workload 
workloads/cassandra/1cpu/baseline/phase_000/simics/1s-4gb-2c-4gb , I want to 
add the ruby module, so I do as the gems wiki says:
instruction-fetch-mode instruction-fetch-trace 
istc-disable
dstc-disable
cpu-switch-time 1
load-module ruby
and, then problem comes, can't find the physmem.
so I modify in gems/ruby/ruby.c ,"phys_mem0 = SIM_get_object("phys_mem0"); 
"――>"phys_mem0 = SIM_get_object("client_phys_mem"); "
and then I can load the ruby
but after ruby0.init, continue to run simics, it gets a fault:
simics> c
Segmentation fault (SIGSEGV) in main thread
The simulation state has been corrupted. Simulation cannot continue.
Please restart Simics.
[client_cpu0] v:0x0000000001064ee8 p:0x00007c64ee8 nop
Setting new inspection cpu: client_cpu0
so I wanna know what the phys_mem0 present? which memory space should choose, 
client_phys_mem? server_phys_mem? or others?
Look forward your reply.
Best regards!



zhangwuxiang

Reply via email to