Following are steps you can use to create 2 core checkpoint: 1. First re-compile marss with 'c=2' 2. Run qemu with your disk image and boot a fresh OS 3. Once OS is booted run both the benchmarks using 'taskset<http://linuxcommand.org/man_pages/taskset1.html>' and create a checkpoint as shown below: #!/bin/sh ./create_checkpoint mcf_libquantum taskset 0x1 -- [commandline to run mcf] & taskset 0x2 -- [commandline to run libquantum] ./stop_simulation
Note: I haven't tested above script but it shows how you can run two processes and use 'taskset' to set their CPU affinity. Here simulation will be automatically stopped after libquantum is completed, which is the shorter application between the two. There are still some issues with this method to run benchmarks because there will be overhead of 'taskset' in your simulation results (which might be small and can be ignored) and also if libquantum finishes before MCF reaches its main simulation loop then your simulations results might not be what you have excepted. Its really difficult to use single threaded binaries to setup correctly in multicore simulations unless they are tweaked to synchronize between main simulation loops. - Avadh On Thu, Jan 27, 2011 at 4:29 PM, Zhe Wang <[email protected]> wrote: > Hi, avadh, > > Thanks for your quick reply. > > I have no idea about how to create checkpoint with 2 core configuration for > 2-core simulation. For example I would like to run two benchmarks 429.mcf > and 462.libquantum on 2 different cores by using marss. So I need to create > two checkpoints for those two benchmarks. Can I just use the > create_checkpoints.py script to create it or what kind of parameter I need > to change? Thanks. > > Best > zhe > > 2011/1/27 avadh patel <[email protected]> > > Single core checkpoints does not work with multicore configuration. >> You will need to re-create a checkpoint with 2 core configuration for >> 2-core simulation because if Checkpoint was running single core OS then >> there is no way for QEMU/Marss to run 2 core from that checkpoint because >> that Checkpoint has information about only 1 CPU. >> >> To setup multicore simulations, you will need to setup multicore >> benchmarks and their checkpoints. I know this is a tedious process but its >> the only way to simulate multicore systems. >> >> If you want to run multiple processes of same SPEC benchmark on each core >> make sure you use 'taskset' to run each process on different CPU otherwise >> OS will not always load-balance the system and your results won't be >> accurate. >> >> - Avadh >> >> On Thu, Jan 27, 2011 at 3:49 PM, Zhe Wang <[email protected]> wrote: >> >>> Hi, >>> >>> I have problem about running marss by using multi-core configuration. >>> >>> I can run Marss quite well when using single core configuration. When I >>> run marss on 2-core configuration, I first compile it use scons -Q c=2; >>> then start the QEMU like >>> >>> qemu/qemu-system-x86_64 -m 2048m -hda [path to disk image] >>> >>> Then I load the 429.mcf checkpoint which I already made on disk image >>> by using >>> >>> loadvm 429.mcf >>> >>> Then there is an error : >>> insns/sec: rip 00000000000fc10b 00000000000118d0qemu-system-x86_64: >>> ptlsim/build/core/ooopipe.cpp:2124: int >>> OutOfOrderModel::ReorderBufferEntry::commit(): Assertion `ctx.get_cs_eip() >>> == uop.rip' failed. >>> >>> This load check point command can load checkpoint successfully when using >>> single core configuration but failed on 2-core configuration. >>> I am wondering how to run marss by using multi-core configuration ? For >>> example, I would like to run two benchmarks on two different cores, how >>> should >>> I load the checkpoint for each benchmark and run them on two different >>> cores? Thank you for your help. >>> >>> >>> Best >>> zhe >>> >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> http://www.marss86.org >>> Marss86-Devel mailing list >>> [email protected] >>> https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel >>> >>> >> >
_______________________________________________ http://www.marss86.org Marss86-Devel mailing list [email protected] https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel
