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
